처음에 슬럼을 셋업할 때 슬럼이 뭘 하는 서비스인지 몰라서 굉장히 헤맸었다. 어떤 기능이 작동해야 되는지 알 수 없으니 설치가 제대로 됐는지 체크조차 못했다. 따라서 슬럼 설치법을 알아보기 전에 슬럼에 어떤 기능이 있는지 간단하게 알아보자. 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이라는 미니컴퓨터를 다뤄야 하는데 말썽을 너무 많이 부립니다. 거의 리눅스 처음 배울 때 느낌입니다. 그 때도 그래픽 드라이버 깔다가 밤을 샜는데 비슷한 짓을 또 하고 있습니다. 위상수학: 이번에 코로나 사태 덕분에(?) 유튜브에 양질..