til

    [Generation] OASIS(You Only Need Adversarial Supervision for Semantic Image Synthesis) 논문 리뷰

    [Generation] OASIS(You Only Need Adversarial Supervision for Semantic Image Synthesis) 논문 리뷰

    Title You Only Need Adversarial Supervision for Semantic Image Synthesis (ICLR'21) Pix2pixHD의 후속 논문 중 하나로, diversity를 위한 noise를 주는 방식이 pix2pixHD 보다 괜찮을 것이라고 생각해 선택 Diversity와 perceptual loss의 한계를 강조한 paper 본 포스팅에서는 Multi-modal synthesis를 어떻게 하는지에 집중하려고 한다. Motivation 기존의 Semantic Image Synthesis를 위한 GAN model들은 VGG-based perceptual loss에 지나치게 의존한다 VGG-based perceptual loss : synthetic과 real imag..

    [Python] 디렉토리 내 특정 파일 삭제하기

    [Python] 디렉토리 내 특정 파일 삭제하기

    이 Python 카테고리에는 각종 잊기 싫은 잡기술만 써놓는 것 같지만.. 기분탓이다 ! Python으로 특정 파일명을 가진 파일을 한번에 삭제할 수 있는 아주 이득인 방법을 알아냈다. 바로 다음과 같이 실행하면 된다. "특정문자" 안에는 삭제하고 싶은 파일들에 공통으로 들어간 특정 문자를 넣어주면 된다! import glob import os [os.remove(f) for f in glob.glob('폴더 경로/*특정문자*')]

    [Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..

    [Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..

    아주 복잡한 딥러닝 코드를 보다보면.. 디버깅 해야할 때가 한둘이 아니다! 특히 모델 특정 부분의 레이어의 차원이나, 무엇이 input으로 들어가는지 정확하게 파악하기 위해서는 디버깅이 필수적이다. 과거의 나는.. 이를 위해 주피터로 모든 config 파일과 dataloader부터 차례로 써내려가며 똑같은 환경을 만들어주기 위해 노력했으나... 이는 너무 불편할 수 있다. 따라서 이럴 때 python 전용 디버거 pdb를 사용하면 아주 간편하다! 사용법을 간단히 알아보자! # pdb 사용법 사실 구글링을 해보면 약 두가지의 사용법이 나오지만, 딥러닝 모델을 디버깅할 때는 특정 부분의 변수가 필요한 경우가 많으므로 하나의 유용한 방법만 공유하겠다. 내가 모델 내에서 디버깅하고 싶은 부분 아래에 다음과 같이..

    [TIL] cannot find -lopencv_core 에러 해결 - Opencv(C++) 설치하기

    [TIL] cannot find -lopencv_core 에러 해결 - Opencv(C++) 설치하기

    Lane detection 코드를 돌리던 와중 evaluation을 c++ build 후에야 할 수 있다는걸 알게된 오늘의 나.. 통계학과인 나에게 너무 가혹한 evaluation 방식이다 .. ㅎㅎ...... 따라서 어찌저찌 make 파일을 build 하려고 했는데, 다음과 같은 오류를 직면했다. /usr/bin/ld: cannot find -lopencv_core 이 오류의 뜻은 -l 뒤의 패키지가 없다는 뜻이라고 한다. 따라서 opencv가 없는 상황이었고 다음과 같이 설치해주었다. 참고로 설치는 꽤 오래걸린다. # Install minimal prerequisites (Ubuntu 18.04 as reference) sudo apt update && sudo apt install -y cmake ..

    [Linux] 리눅스 ls -alt -h로 파일 사이즈 확인하기

    [Linux] 리눅스 ls -alt -h로 파일 사이즈 확인하기

    출처는 이 곳 이다! 예전에 교수님께서 해당 폴더 파일 사이즈가 몇이냐고 여쭤봐주셨던 적이 있는데, 리눅스 찐이라 답변을 못했던 경험이 생각나 잊지 않으려고 포스팅을 해보려고 한다. 우선 다음과 같은 명령어면 디렉토리의 사이즈까지 깔끔하게 확인이 가능하다 ㅎㅎ $ ls -alt -h

    [Linux] 도커 내에서 리눅스 scp 사용하기 (도커에서 도커로 파일 전송)

    [Linux] 도커 내에서 리눅스 scp 사용하기 (도커에서 도커로 파일 전송)

    오늘은 리눅스 scp 명령어 사용법에 대해 포스팅해보려고 한다. 역시 노경언니가 도와줬고,, 나는 정말 많이 헤메다가 드디어 덕분에 방법을 찾았다. 그리고 지금은 파일을 전송중이다! 참고로 나는 연구실에서 도커를 사용하고 있고, 도커에 대한 권한만 있고 서버에 대한 권한은 없는 상태이다! # scp 보통 서버 단에서 파일을 전송하는 리눅스 scp 명령어를 검색하면, 다음과 같이 서버에서 서버로 파일을 전송할 수 있다고 검색된다. $ scp [유저명]@[IP주소]:[전송할 파일 경로] [유저명]@[IP주소]:[받을 경로] 즉, 현재 파일이 들어있는 IP 주소와 경로, 그리고 도착지 경로의 IP주소와 경로를 입력해야하는 것이다. 하지만 이렇게 동일한 형태로 입력했더니 권한이 없다는 "Permission de..

    [TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv)

    [TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv)

    사실 내가 까먹을까봐 적어놓는 프로세스! :( # OpenPCDet 우선 OpenPCDet은 Pointcloud를 이용한 3D detection 분야에서 흔히 쓰이는 패키지 모듈이다. Autonomous driving 분야에서 꽤 유명한 git 레포이고, star도 2.7k 정도이다! 거의 pointcloud를 이용한 3D detection 모델이 모두 들어있고, 이 패키지로 거의 모든 모델을 동일한 환경에서 실험할 수 있어 매우 유용한 패키지이다. 하지만 가상환경 세팅하는게 조금 빡쎄서, 고생했던 기억이 있다. 따라서 이를 공유하고, 미래의 나에게도 혼동하지 않도록 하기 위해 프로세스를 기록한다! :) # Process 1. 우선 python 3.8의 가상환경 만들기. 만약 3.7로 해버렸다면 다음과 ..

    [Linux] 리눅스 wget 사용하기 - 다소 큰 파일을 웹상에서 다운로드

    [Linux] 리눅스 wget 사용하기 - 다소 큰 파일을 웹상에서 다운로드

    오늘은 리눅스 wget 명령어에 대해 간단히 포스팅해보려고 한다. 특히 dataset 같은 아주 큰 파일을 다운로드 해야할 때, 아주아주 느릴 수 있고 서버로 바로 다운받고 싶을 수 있다. 따라서 이럴 때 wget을 이용하면 효과적임을 알아냈다! 명령어의 간단한 사용법은 다음과 같다. ▶ wget -r 다운로드할 링크 -O 다운로드파일명 여기서 다운로드할 링크를 chrome 환경에서 알아내는 방법은, chrome download 창에 가서 링크를 복사하면 된다. 사용 예시는 다음과 같다. wget -r https://lyft-l5-datasets-public.s3-us-west-2.amazonaws.com/3d-object-detection/one_scene.tar -O info.tar