pytorch

    [CV] Hidden dimension이 너무 클 때 flatten 하지 말고 똑똑하게 layer 추가하기

    [CV] Hidden dimension이 너무 클 때 flatten 하지 말고 똑똑하게 layer 추가하기

    요즘 모델 아키텍처적인 설계를 많이 하구있다. 사실 내가 가장 못하는 구현이기도 하다. ㅜㅜ 연구를 점점 해나갈수록 내가 상대적으로 잘하는 것, 못하는 것이 슬슬 구분되기 시작하는데 이건 내가 못하는 것에 속한다 ㅎㅋ.. 예전에 친한 언니가 딥러닝은 차원맞추기라고 하는 얘기를 들었던 적이 있는데, 요즘 공감되구 있다. 암튼 ViT 아키텍처를 고치다가, weight matrix를 중간에 추가해야할 일이 생겼다. 그런데 dimension이 맞지 않는거다. 예를 들어서 아래와 같은 상황이다. [1, 65536, 64] 텐서에 특정 weight matrix를 곱해서, 결과적으로 [1,8] 크기의 행렬을 만들어야 함 # Flatten? 나는 아키텍처 설계에 익숙치 않기 때문에, 위와 같은 상황에서 처음에는 아래와..

    [PyTorch] 데코레이터랑 친해지기 @torch.jit.script / @torch.no_grad..

    [PyTorch] 데코레이터랑 친해지기 @torch.jit.script / @torch.no_grad..

    한달에 한번은 블로그 포스팅 하려고 하는데.. 절대 의무감에 하는 포스팅은 아니고 암튼 ㅎㅎ.. PyTorch 코드를 보다보면 @가 붙어있는 데코레이터를 볼 수 있다. 매번 흐린눈 하기에는 요즘 너무 자주 보이는 것 같아서 더이상 외면하지 않으려고 포스팅을 준비했다. 대표적은 PyTorch 데코레이터에 대해 포스팅하려고 한다. 다음에 기회가 되면 python 데코레이터도 포스팅 하는걸로.. @torch.jit.script @torch.jit.script는 pytorch의 데코레이터 중 하나로 이 데코레이터를 사용하여 Python 함수를 TorchScript로 변환할 수 있다. 여기서 TorchScript는 PyTorch의 JIT(Just-In-Time) 컴파일러를 통해 Python 코드를 최적화된 실행 ..

    [PyTorch] Multi-GPU 사용하기 (torch.distributed.launch)

    [PyTorch] Multi-GPU 사용하기 (torch.distributed.launch)

    PyTorch 환경에서 train 할 때, CUDA OOM(Out Of Memory) 에러 때문에 여러개의 gpu로 동시에 병렬적으로 train 하고싶을 때가 있다. 이때는 torch.distributed.launch 를 사용하면 되는데 이는 다음과 같다. $ python -m torch.distributed.launch --nproc_per_node=2 train.py --launcher pytorch 참고로 위에서 --launcher는 내가 사용하는 code의 argments 중 하나이다!

    [PyTorch] torch-sparse, torch-scatter, torch-geometric 패키지 install 하기 + 오류 해결 방법

    [PyTorch] torch-sparse, torch-scatter, torch-geometric 패키지 install 하기 + 오류 해결 방법

    GNN관련 코드를 보다가 원래 pip install torch-sparse만 해도 예전에는 설치가 잘 되었었는데, 어느 순간부터 이렇게 했더니 패키지 종속관계가 맞지 않는 문제가 발생해 설치가 되지 않았다. 아마 업데이트가 된 모양인데...! 생각보다 설치하는 과정이 까다로워서 블로그에 정리해보려고 한다. torch-geometric과 torch-sparse, torch-scatter 등은 무언가 dependency가 존재하는 패키지인 듯 했다. (나는 torch-sparse와 torch-scatter 패키지만 필요한 상황이었다.) 우선 torch-geometric의 공식 홈페이지인 이 곳에 방문하면, torch가 1.8.0 이상이면 다음과 같이 설치하라고 안내한다. > conda install pyg ..

    [PyTorch] CUDA 11.2 + RTX3090에 맞는 torch version 세팅하기

    [PyTorch] CUDA 11.2 + RTX3090에 맞는 torch version 세팅하기

    Causal HTP 코드를 돌리는데 가상환경 세팅에 조금 애를 먹었다. 원인은 CUDA 버전과 torch 버전이 안맞아서,,,, ! 코드를 돌려도 model.cuda() 부분에 딜레이가 생기고 결국 epoch 진행이 되지 않았다. 결국 11.2에 맞는 torch version을 다음과 같이 설치해 해결하였다. # CUDA 11.0 $ pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html Reference https://sanglee325.github.io/environment/pytorch-cuda112/#problem