본문 바로가기

전체 글36

SystemExit: 2 error args = parser.parse_args() PatchTST를 공부하려고 공식 github에서 가져온 코드를 돌리니 이런 에러가 발생하였다. ===========================================================================Exception has occurred: SystemExit X2args = parser.parse_args()SystemExit: 2 ===========================================================================  찾아보니 jupyter에서 parser를 써서 그런거라는데…. 엥? 나는 jupyter에서 하고 있지 않은데? 터미널에 출력된 내용을 보니 run_longExp.py: error: the following .. 2024. 10. 28.
SR3: Image Super-Resolution via Iterative Refinement (CVPR, 2021) 해당 논문은 CVPR 2021에서 소개된 논문으로 SR3 라는 이름으로 알려져 있다. DDPM을 통해 Super Resolution task를 수행하는 방법에 대해서 소개한다. 상세한 논문의 내용보다는 개념 위주로 간단하게 포스팅한다.paper, github 1. IntroductionDeep generative model들은 좋은 이미지 생성 결과들을 보여주었다. 그러나 자기 회귀는 비용이 너무 많이 들고, Normalizaing Flow와 VAE는 품질이 종종 좋지 않다. GAN은 불안정성과 mode collapse 문제가 따라다닌다. 따라서 신중하게 설계된 regularization과 optimization 기법이 필요하다.DDPM 및 denoising score matching에서 영감을 받은 S.. 2024. 5. 27.
자소서 작성 팁 나는 이미 취업한지 꽤 되었지만, 취업 이후에 후배들의 자소서를 많이 첨삭해 주었다. 물론 그것도 이미 시간이 꽤 지났지만... 컴퓨터를 뒤지다가 그 때 후배들에게 첨삭을 해 주면서 적어놓았던 내용이 있어서 혹시 도움이 될 사람이 있을까하여 기록을 남긴다. 물론 그 때와 지금의 취업시장은 많이 변했을테니 내가 생각했던 부분들이 아직도 유효할지는 모르겠다. 하지만 확실한 것은 자소서를 잘 쓰는 것이 매우 중요하다는 것이다. 나는 두 번의 도전 끝에 취업을 했는데, 첫 번째 취준생때는 서류부터 대부분 탈락했는데 두 번째에서는 스펙 하나 변한 것 없이 대부분의 서류를 통과했다. 1. 나에 대해서 파악하기 나에 대해 아는 것은 취업 준비에 있어서 매우 중요하다. 나는 누구인가에 대한 대답은 철학적인 것을 원하는.. 2024. 4. 17.
신경망과 MLE(Maximum Likelihood Estimation) Natation $P_{\theta} = P(x;\theta) = p(x|\theta)$ : 모두 $\theta$라는 파라미터를 갖는 경우 x의 확률 값 $P_{\theta}(y|x) = P(y|x;\theta) = P(y|x,\theta)$ : $\theta$라는 파라미터를 갖을 때, x가 주어졌을 때 y가 나올 확률 MLE Likelihood란 어떤 확률 분포에서 샘플링을 한 값, 혹은 데이터를 가장 잘 설명하는 파라미터를 찾는 일이다. 그걸 찾기 위해 Likelihood가 최대가 되는 값, 즉 Maximum Likelihood를 찾는다. Likelihood에 대해서는 아래 블로그에서 너무나 잘 설명해주었다고 생각이 들어서 해당 블로그의 링크를 남긴다. https://xoft.tistory.com/3.. 2024. 3. 14.
Autograd Autograd는 파이토치를 이용해 Back Propagation을 할 수 있도록 도와주는 방식이다. 코드로 이해해보자. import torch DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu') # parameter 설정 BATCH_SIZE = 64 INPUT_SIZE = 1000 HIDDEN_SIZE = 100 OUTPUT_SIZE = 10 우선 이와 같이 파라미터를 설정한다. BATCH_SIZE는 파라미터를 업데이트 할 때, 계산되는 데이터의 개수이다. BATCH_SIZE 수 많큼 계산하여 loss를 구한다. INPUT_SIZE는 입력층의 노드 수이다. 여기서는 1000인데, 따라서 input의 모양은 (64, 1000)이 된.. 2024. 3. 4.
PSNR과 SSIM 설명 이미지 관련 분야에 자주 등장하지만, super resolution을 공부하면서 PSNR와 SSIM을 접하게 되었다. PSNR(Peak Signal to Noise Ratio)와 SSIM(Structure Similarity Index Map)은 super resolution에서 SOTA(State of the art)를 평가하기 위해 사용하는데, 쉽게 생각하면 이미지가 얼마나 적게 손실되었는가를 나타낸다. 즉 이미지의 품질을 나타내는 지표라고 볼 수 있다. PSNR PSNR을 화질의 손실량을 평가하기 위해 사용하며, 아래와 같이 계산할 수 있다. $PSNR = 10\;log_{10}(\cfrac{MAX_{i}^{2}}{MSE})$ $MSE = \cfrac{\sum_{M,N}[I_{1}(m, n)-I_{.. 2024. 2. 6.
VSCode에서 parser로 input을 받는 파이썬 파일 디버깅 방법 딥러닝 코드를 보다 보면 사용자가 입력을 받아 사용 할 수 있도록 parser를 구성한 코드를 많이 볼 수 있다. 그런데 여기서 아직 어떤 변수를 넣어야할지 모르는데 디버깅을 해서 코드를 확인해보고 싶을 때가 있다. 그래서 parser 입력 없이 디버깅 하는 방법을 알아보자. 아래와 같은 코드가 있다고 할 때, import argparse parser = argparse.ArgumentParser() parser.add_argument("--name", help="Enter your name") parser.add_argument("--age", help="Enter your age") args = parser.parse_args() print("Hello", args.name, ",", args.age.. 2024. 2. 1.
Diffusion model의 이해 (DDPM: Denoising Diffusion Probabilistic Models) 본 포스팅은 현재 Diffusion model의 기본이 되는 DDPM (Denoising Diffusion Probabilistic Models, 2020, Jonathan Ho, 원문: https://arxiv.org/abs/2006.11239) 을 바탕으로 하나, Diffusion model을 이해하기 위한 기초적인 소개 입니다. 다양한 참고자료를 활용하였으나, 내용 구성 전반의 baseline은 고려대학교 강필성 교수님 유튜브를 참고하였으며, 참고자료는 제일 하단에 명시하였습니다. 제가 잘못 이해한 부분이 있다면 언제든지 댓글 부탁드립니다. 1. Introduction최근에는 다양한 데이터 형태에서 모든 종류의 deep generative model들이 높은 수준의 샘플들을 생성해낸다. GANs, .. 2024. 1. 11.