python/Pytorch 7

requirements, setup.py에 url이 필요한 library(특히 torch) 설치하기

문제 1. requirements.txt 파일에 torch를 설치하고 싶은데 url이 걸려있는 경우, 즉 torch==1.6.0+cpu -f https://download.pytorch.org/whl/torch_stable.html torchvision==0.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html 위와 같은 txt 파일이라고 가정했을 때, pip install -r requirements.txt 로 설치했을 때 오류가 남. 2. setup.py 파일에서 아래와 같은경우 에러가 남. install_requires=[ 'torch==1.10.1+cu113 -f https://download.pytorch.org/whl/torch_stab..

python/Pytorch 2022.04.21

Layer 이름이 다를 때, OrderedDict 새로 구성 후 model weight load하기

Pytorch 사용시, 일반적으로 모델 저장은 torch.save(model) 또는 torch.save(model.state_dict())로 저장한다. 전자의 경우, 나중에 다시 model을 load할 시 가끔 에러가 발생해서 개인적으로 쓰지 않는다. 후자의 경우, model layer 이름과 weight 값을 (key, value) 형식으로 저장하는데, 이때 collections의 OrderedDict 함수를 사용하여 저장한다. 예를들면 아래와 같다. 문제는 모델의 원래 layer 이름과, 모델을 저장했을 때 layer 이름이 다른경우가 있다는 건데.. 왼쪽이 원래 모델의 layer와 weight 오른쪽은 저장 후 다시 로드했을 때 layer와 weight layer 이름 앞에 module이 붙은것을 ..

python/Pytorch 2022.01.19

Torch not compiled with CUDA enabled ( 에러 해결법 )

21/11/25 pytorch 에러 정리 1. CUDA 재설치 -> CUDA 홈페이지를 들어가 11.1 이전 버전을 설치한다. 그 이후 버전은 아직 pytorch 지원하지 않는듯. 2. torch version 확인 후 재설치 import torch torch.__version__ 위 명령어를 통해 torch version을 확인했을때, 1.x.0 + 'cpu' 처럼 뒤에 cpu가 붙으면 에러가 나는 경우가 있음. pytorch 공식 홈페이지에 들어가서 공식 명령어로 재설치할 것을 추천. (뒤에 cpu가 안붙는 버전으로.) 나같은 경우에는 CUDA 11.1로 재설치 후 공식 홈페이지에 있는 명령어인 pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 tor..

python/Pytorch 2021.11.25

pytorch DataLoader collate_fn 변수 활용법(입력 이미지들이 서로 사이즈가 다를때)

위 함수를 DataLoader 함수의 인자에 추가함으로써 가능 입력데이터 이미지들이 서로 다른 사이즈일때 DataLoader를 그대로 구성하면 오류가 발생한다. 어떻게 해야할까? DataLoader안에 있는 collate_fn 인자에 아래와 같은 함수를 넣어준다 출력해보면 위와 같이 하나의 배치가 튜플 형태로 묶여있음을 볼 수 있다. 위 배치에서는 같은 이미지만 출력되었지만.. 다른 사이즈의 이미지가 석여있음!!

python/Pytorch 2021.11.16

pytorch 함수 -> torch.load 안의 map_location 인자의 쓸모

pytorch user라면 많이 봤을 함수인 torch.load 그 함수 안데 map_location이라는 인자가 들어가는데.. 만약 training시 gpu를 이용하였지만, test data에 inference를 cpu로 하고싶을때 이 인자를 사용할 수 있다. 많이 돌아다니는 pretrained model을 이용하고 싶은데 컴퓨터, 노트북에 gpu가 달려있지 않은경우 사용할 수 있다는 말! 밑에는 pytorch 공식문서에 있는 설명 default로는 gpu로 설정되어있다고 한다.

python/Pytorch 2021.09.30

<Pytorch 함수 정리> Average Pooling 2D (nn.AvgPool2d) vs Adaptive Average Pooling 2D(nn.AdaptiveAvgPool2d)

------------------------------------------------------------------------------------------------------------------ 1. Average Pooling 2D (nn.AvgPool2d) ------------------------------------------------------------------------------------------------------------------ 설명 : (batch_size, dimensions, W, H)의 input에 대해 설정한 kernel_size, stride로 Average Pooling 해줌. 위 코드를 기준으로 설명하면 (1, 256, 32, 32)의 input..

python/Pytorch 2021.09.21

[오류정리] pytorch - model parameter 또는 model 특정 layer의 feature 가져오기, 추출

------------------------------------------------------------------------------------------------------------------ model parameter 추출 및 갯수 구하기 ------------------------------------------------------------------------------------------------------------------ 핵심 코드 -> [p.numel() for p in model.parameters()] -------------------------------------------------------------------------------------------..

python/Pytorch 2021.09.16