본문 바로가기

Data-science

(128)
[deep learning 논문 읽기] Stylegan2 ada 이해하기 adaptive discriminator augmentation 알고리즘을 제안 수 천장의 이미지만 있어도 학습 가능 현대의 GAN은 일반적으로 수 만, 수 십 만 장에 해당하는 이미지 데이터셋을 요구한다. 이미지가 부족하면 (작은 데이터셋) 나타나는 문제는 학습중 Discriminator가 과적합(overfitting) 되는 것이다. 과적합 되면 Generator에게 주는 feed back이 무의미해지고, 학습은 발산하기 시작한다. discriminator의 과적합을 막기 위해 증강 방안을 모색한다. 단 생성한 이미지는 증강 효과가 반영돼선 안된다. 위 그림을 보면 140k를 제외한 나머지 데이터 셋 (14만장 이하)의 경우 FID가 어느 순간 증가한다. 과적합 되는 것이다. (b)는 50k 데이터셋의..
nvidia-smi랑 nvcc --version이 다를 때 걱정할 필요가 없다고 한다. 보통 nvidia-smi 버전이 nvcc보다 한 단계 높게 나올 수도 있다고. nvcc가 cuda 작동에 필요한 binary 파일과 관련되어 있다. 나의 경우 window 10에서 nvidia-smi는 11.1로, nvcc --version 10.2로 나왔다. bash에서 which nvcc를 통해 CUDA 설치 경로를 확인해보니 11.1은 없었다. pytorch와 tensorflow를 이용하는 사람이라면 nvcc version을 기준으로 설치하면 되겠다. 끝 stackoverflow.com/questions/53422407/different-cuda-versions-shown-by-nvcc-and-nvidia-smi Different CUDA versions shown by..
Closed-Form Factorization of Latent Semantics in GANs 논문 설명 latent space를 조절해서 이미지를 편집하는 종전의 기술은 지도 학습 기반으로 시행됐다. 이 논문에선 비지도학습 기반으로 이걸 가능하게 한다. pretrained weights를 분해하는 걸로 closed-from factorization 알고리즘을 제안했다.  지도학습 방식은? latent code에서 임의로 샘플링하여 이미지를 생성하고 이것들을 annotation 한 후 classifier를 학습하는 형식이었다. 이 논문의 방식은 SeFa(Semantic Factorization)으로, 학습이나 샘플링과는 무관하게 GAN에서 latent의 semantic direction(의미가 담긴 방향)을 찾을 수 있다. GAN은 latent code를 단계별로 네트워크를 거쳐 이미지로 합성한다. 이때 ..
[pytorch] inference시 memory leak, 메모리 과부하 문제 몇 시간은 삽질한 문제이다.... 모델을 학습하는 것도 아닌, inference 하는 중인데 메모리가 계속 부족했다. 대체 이해가 안됐다. 0. model.eval() 하기 1. 그래서 tensor 안 쓰는 건 바로 del하고 gpu cache를 비우기 2. del하고 garbage collection을 소환 그다음 gpu cache를 비우기 3. 장치를 cuda에서 cpu로 전환 후 위 1, 2 과정을 시도하기 import gc def memorydel(listobj): try: for obj in listobj: del obj except Exception as e: print(e) try: del listobj except Exception as e: print(e) gc.collect() torc..
[petcon] stylegan2 distillation 찾다가 다른 좋은 거 찾음 encoding + distillation 한 번에 보호되어 있는 글입니다.
[논문 읽기] Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation stylegan이든, stylegan2든 projection 속도가 상당히 느리다. projection? 1. 이미지를 w 차원으로 embedding 시키기 2. w를 generator를 통해 다시 합성하여 이미지 생성하기 실제 이미지를 z, w, w+와 같은 embedding vector 차원으로 인코딩 후 다시 generator를 거쳐 그와 유사한 이미지를 생성하는 것이다. generator를 G라는 함수로, 실제 이미지는 R이라 하면, projection은 G(z), G(w) 혹은 G(w+) 가 R가 최대한 유사하게 되는 z, w, w+를 찾는 과정이다.(latent code를 w 만 생각해보기로 하겠다.) 실제 이미지와 유사하게 만들어야 하므로, opitmization 과정에 쓰이는 Loss는 p..
[pytorch] DistributedDataParallel vs DataParallel 차이 The difference between DistributedDataParallel and DataParallel is: DistributedDataParallel uses multiprocessing where a process is created for each GPU, while DataParallel uses multithreading. By using multiprocessing, each GPU has its dedicated process, this avoids the performance overhead caused by GIL of Python interpreter. If you use DistributedDataParallel, you could use torch.distributed...
2020.12.31 회의록 (petcon stylegan2 학습 진행 과정2, 할 일, 관련 논문) 보호되어 있는 글입니다.

728x90