전체 글
-
Mixed precision methods인공지능(Artificial Intelligence)/딥러닝(Deep Learning) 2022. 6. 15. 10:05
요약 Mixed precision methods은 계산시 다른 수치 포맷을 사용하는 방법을 포함한다. 서론 32-bit 부동소수점 보다 낮은 정밀도를 가진 수치 포맷을 사용하는 것은 여러 이득을 준다. 1. 메모리를 덜 필요로 한다. 이는 더 큰 신경망을 학습하고 deployment할 수 있게 한다. 2. 메모리 bandwidth를 덜 필요로 한다. 이는 데이터 전송 연산의 속도를 올려준다. 3. 수학 연산이 더 빠르게 작동한다. 특히 Tensor Core 지원하는 GPU에서의 성능 개선을 보여준다. 참고 https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html
-
특정 파일/폴더 제외하고 복사하기linux 2022. 6. 9. 18:10
방법 방법 1) cp와 ! 문자를 같이 사용하면 된다. cp source/!(file.txt|test.jpg|nodir) destination 만약 파일 구조가 다음과 같다하자. . ├── destination └── source ├── file.rtf ├── file.txt ├── test.jpg ├── yes | └── test.jpg └── nodir └── other.jpg 위 커맨드 수행시 다음과 같이 된다. . └── source (not modified) └── destination ├── file.rtf └── yes └── test.jpg 방법 2) rsync를 사용하면 된다. rsync -av --exclude='path1/to/exclude' --exclude='path2/to/exc..
-
-
RLE (RUN LENGTH ENCODING)컴퓨터 비젼(Computer Vision) 2022. 5. 11. 00:12
매우 간단한 비손실 압축 방법으로, 데이터에서 같은 값이 연속해서 나타나는 것을 그 개수와 반복되는 값만으로 표현하는 방법이다. (FROM WIKIPEDIA) RLE로 된 데이터 (예를 들어 마스크 데이터) 는 특정한 형태로 이뤄졌다고 하자. (H: 높이, W: 너비) 그러면 이 마스크 데이터의 형태는 H*W 길이의 평면화된 방식으로 표현될 것이다. 이렇게 표현된 값은 각 짝마다 정보를 포함하고 있다. 첫번째 값은 평면화된 곳에서의 시작 위치, 두번째 값은 시작 위치에서부터의 길이를 표현한다. 즉, RLE 마스크 데이터에서 홀수번째 값은 시작 위치, 짝수번째 값은 길이를 표현함을 알 수있다. RLE로 된 마스크 데이터가 다음과 같이 주어졌다고 하자. (Kaggle의 UWMGIT 데이터) 28094 3 2..
-
Don't forget to accumulate the Gradient라이브러리/PyTorch 2022. 4. 26. 11:24
ViT와 같은 self-Attention based model 또는 CNN을 Group Normalization + Weight Standardization (Batch Normalization 대신)와 사용중이라면 gradient를 accumulate하는 것을 잊지마세요! Batch Normalization이 사용되고 있을 땐 gradient accumulation이 효과적이지 않을 지도 모르지만, 위와 같은 모델을 사용중이고 GPU VRAM이 한정적이여서 배치 사이즈를 작게 세팅하는 경우 효과적일 거야. AMP+Gradient accumulation은 더 효과적! from torch.cuda import amp scaler = amp.GradScaler() n_accumulate = 16 # n_ac..