처음에 슬럼을 셋업할 때 슬럼이 뭘 하는 서비스인지 몰라서 굉장히 헤맸었다. 어떤 기능이 작동해야 되는지 알 수 없으니 설치가 제대로 됐는지 체크조차 못했다. 따라서 슬럼 설치법을 알아보기 전에 슬럼에 어떤 기능이 있는지 간단하게 알아보자. Job 제출 리소스 매니저를 사용하고자 하는 이유이다. 슬럼에게 리소스를 요청하면 임의의 노드에 있는 원하는 리소스를 정해진 시간 동안 쓸 수 있게 해준다. 이 리소스를 쓸 수 있는 세션 같은 개념이 있는데, 이를 job(잡, 작업)이라 한다. 사용할 CPU 개수, MEM 크기, GPU 개수를 명시하여 리소스 매니저에게 제출하면 자리가 났을 때 할당시켜준다. 각 리소스의 크기를 명시하는 방법은 다양하다. 아래 세 명령어(srun, sbatch, salloc)들은 대부..
for..else 프로그램을 짜다 보면 for loop이 정상적으로 실행됐는지 중간에 break 됐는지 확인해야 할 상황이 생긴다. 보통은 is_broken 등의 플래그를 두는 식으로 짠다. 하지만 파이썬은 for..else라는 특이한 문법을 지원한다. 만약 for loop이 성공적으로 실행됐다면 else를 실행한다. # w/o for..else is_broken = False for i in range(100): if not testcase(i): print(f'{i} failed') is_broken = True break if not is_broken: print('all passed!') # w/ for..else for i in range(100): if not testcase(i): print..

개요 $$P(B|A) = \dfrac{P(A|B)P(B)}{P(A)}$$ Bayes' Rule은 직관적이고 간단하지만 이를 통해서 전개하는 이론들은 어딘가 모르게 이해가 잘 안 되고, 눈으로는 쉬워보이는데 머리로 이해가 안 되니 스트레스로 다가온다. MLE vs. MAP vs. Bayesian이 그 예시 중 하나이다. 몇 년 째 보는 내용이지만 몇 달 안 보다가 갑자기 보면 잠깐씩 막힌다. 그동안은 막혀도 뭘 몰라서 막힌 건지도 몰라서 정리를 못했으나, 이제 머리가 좀 크고 조금 알긴 할 것 같으니 graphical하게 정리 해보겠다. 급하면 세팅이랑 그림만 봐도 될 것 같다. Bayes' Rule $$P(\text{Cause}|\text{Observation}) = \dfrac{P(\text{Obser..

개요 이 글에서는 mmaction2는 어떻게 돌아가는지 config의 각 옵션은 무엇을 뜻하는지 알아볼 것이다. mmaction2는 config 파일이 절반이다. Config 파일만 이해하면 마음대로 튜닝할 수 있다. 다만 처음 진입장벽이 살짝 있는 편이다. mmaction2에서 제공하는 docs를 기반으로 알아보자. Docs에는 굉장히 compact하게 써놨다. 주석을 전체 Config 파일 아래는 docs(2022.08.20 기준)에서 제공하는 TSN[Wang et al., T.PAMI 2018] 모델의 config 파일이다. 한 부분씩 뜯어보면서 알아보자. 해당 글은 RGB 기반 action recognition 모델들만 다룰 것이다. Skeleton 기반 모델이나 detection, localiz..

https://slurm.schedmd.com/quickstart.html Slurm Workload Manager - Quick Start User Guide Quick Start User Guide Overview Slurm is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. Slurm requires no kernel modifications for its operation and is relatively self-co slurm.schedmd.com 개요 Slurm은 리눅스 기반 클러스터에서 활용되는 리소스 ..

https://github.com/open-mmlab/mmaction2 GitHub - open-mmlab/mmaction2: OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark - GitHub - open-mmlab/mmaction2: OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark github.com mmaction2는 OpenMMLab이라는 곳에서 만든 비디오 모델 학습 프레임워크이다. 우리 랩은 비디오를 주력으로 연구하기에 이..

Reference [Bai et al., AAAI 2021] [paper] [code] DecAug: Out-of-Distribution Generalization via Decomposed Feature Representation and Semantic Augmentation Authors HKUST Huawei Noah's Ark Lab Shanghai Jiao Tong Univ. Nanjing Univ. Haoyue Bai 1*† (intern) Rui Sun 2† Lanqing Hong 2 Fengwei Zhou 2 Nanyang Ye 3‡, Han-Jia Ye 4 S.-H. Gary Chan 1 Zhenguo Li 2 Summary OOD generalization 문제의 핵심인 distribu..

References Fourier Analysis (Elias M. Stein) - Chapter 2 1. Examples and Formulation of The Problem 정의 $f$: 단위원 위에서 정의된 리만적분 가능한 함수 (= $[0, 2\pi]$에서 정의된 $2\pi$-periodic한 함수) $\hat{f}(n) = {1\over 2\pi}\int_{-\pi}^\pi f(\theta)e^{-in\theta}d\theta$: 푸리에 계수 $D_N(\theta) = \sum_{n=-N}^N e^{in\theta}$: 디리클레 커널 $S_N(f)(\theta) = \sum_{n=-N}^N \hat{f}(n)e^{in\theta} = (D_N * f)(\theta)$: $N$차 푸리에 부분합 ..

References Elements of Information Theory (Thomas M. Cover) - Chapter 2 정보 (a measure of information) 정보의 양을 측정하고자 하는 시도는 통신에서 시작됐다. 통신에서 한 채널은 특정 time frame에 0 또는 1의 binary 정보만을 담고 있다. 같은 정보여도 0101..의 인코딩을 효율적으로 하여 채널 점유를 최소화하는 문제를 풀어야 했다. 얼마나 최소화할 수 있을까? 이 방법이 저 방법보다 효율적일까?에 대한 질문에 답하기 위해 정보를 측정할 필요가 있었다. 수학적으로 정의하기 이전에 아래 예시를 살펴보자. 점심 메뉴 예측 신입이 회식 메뉴를 결정해야 하는 상황이다. 신입은 부장이 먹고 싶은 메뉴를 맞춰서 부장을 감..

이전 근황을 쓴지 거의 1년이 되었네요. 요새는 논문을 읽지 않다보니 글이 잘 올라오지 않고 있습니다. 그래도 WGAN과 GANSynth 글은 조회수가 지속적으로 발생해 잘못된 내용이 발견되면 의무감을 갖고 꾸준히 수정하고 있습니다. 리뷰하다 말고 임시저장만 해놓은 글이 몇 개 있는데 너무 아쉽네요. 현재는 방학이라 제가 하고 싶은 것들만 하고 있습니다. 그래서 뭔가 행복합니다 ㅎㅎ 아래는 제가 진행 중인 것들입니다. 연구실 과제: 시간을 상당량 쏟아야 합니다. Jetson이라는 미니컴퓨터를 다뤄야 하는데 말썽을 너무 많이 부립니다. 거의 리눅스 처음 배울 때 느낌입니다. 그 때도 그래픽 드라이버 깔다가 밤을 샜는데 비슷한 짓을 또 하고 있습니다. 위상수학: 이번에 코로나 사태 덕분에(?) 유튜브에 양질..

Reference 해당 논문 : https://arxiv.org/abs/2001.06937 A Review on Generative Adversarial Networks: Algorithms, Theory, and Applications Generative adversarial networks (GANs) are a hot research topic recently. GANs have been widely studied since 2014, and a large number of algorithms have been proposed. However, there is few comprehensive study explaining the connections among different GA arxiv.or..
복학을 앞두고 여러 과목들을 복습하고 있습니다. 논리회로 때 플립플롭을 이해 못해서 컴구까지 쭈르륵 말아먹었는데 드디어 이해가 됐네요 좋아하는 교수님 연구실에 들어가려고 응용선형대수와 컨벡스최적화 등등을 독학하고 있습니다. Sphere GAN을 읽다가 리만다양체를 알게 됐는데 갑자기 미분기하가 너무 하고 싶어져서 학부 해석학부터 독학으로 파고 있습니다. 사실 응선대 빨리 끝내야 되는데 해석학이 너무 재밌네요 ㅎㅎ $\epsilon-\delta$ 어렵다고들 하는데 오히려 너무 기대해서 그런지 그렇게 어렵진 않고 재밌습니다. 퍼즐 맞추기 하는 거 같아요. 박사까지 할 거라 수학공부 할 게 산더미입니다. - 실해석학 : 요새 GAN 논문들은 measure theory가 기본인 거 같아요. - 복소해석학 : 미..

Reference 원문 : https://vincentherrmann.github.io/blog/wasserstein/ Wasserstein GAN and the Kantorovich-Rubinstein Duality Derivation of the Kantorovich-Rubinstein duality for the use in Wasserstein Generative Adversarial Networks vincentherrmann.github.io A Hitchhiker's guide to Wasserstein : http://n.ethz.ch/~gbasso/download/A%20Hitchhikers%20guide%20to%20Wasserstein/A%20Hitchhikers%20guide%20t..

Reference GANSynth : https://openreview.net/pdf?id=H1xQVn09FX Spherical Gaussian Distribution : https://mynameismjp.wordpress.com/2016/10/09/sg-series-part-2-spherical-gaussians-101/ Summary 나온지 얼마 안 된 따끈따끈한 논문이다. 이미지 생성에 있어 GAN은 상당히 강력한 성능을 보여주지만 음성 생성에서는 고만고만 했었다. 소리를 직접 생성하지 않고 spectrogram(이미지로 표현된 소리)을 생성하여 구현하였더니 성능이 괜찮았다고 한다. NSynth라는 악기, 피치, 속도, 음량 등을 달리하여 한 노트씩 녹음된 정제된 데이터셋을 사용했다. 여기서 생성..

GANs에서 WGAN-GP Loss는 LSGAN Loss와 함께 가장 많이 쓰이는 loss이다. 이전의 loss 들의 문제점을 많이 해결했고 논문에서는 잘 작동하는 이유를 수학적으로 후련하게 알려준다. 하지만 수학이 좀 많이 쓰인다...한국어로 된 WGAN 자료가 많이 없는데 혹시나 도움 됐으면 한다. 수학이 상당히 헤비하게 나오는데 붙들고 좀만 머리굴리면 이해 되는 수준일 것이라 생각한다. 사실 나도 잘 이해했는지는 모르겠다. 내가 이해한 수준에서 리뷰해보겠다. (현재 수학을 배우는 중이어서 이해도가 높아질 때마다 수정하고 있습니다. 의도치 않게 많은 분들이 이 글을 찾아오시고 있습니다. 이상한 부분은 가차없이 태클 걸어주시면 감사하겠습니다.) Notations 수학이 많이 나오는 논문 들을 읽을 때 ..