반응형

Python/Pytorch 26

[Pytorch] 체크포인트(checkpoint) 설명, 저장 및 불러오기 예제(epoch별, step별, best)

파이썬 파이토치 체크포인트 사용법 python torch 모듈에서 학습된 모델의 저장 및 불러오기 과정에서 자주 보이는 체크포인트(checkpoint) 개념에 대하여 정리해보고 epoch별, step별, best 등의 체크포인트를 직접 지정하여 저장 및 불러오기를 해보는 예시를 다루어보겠습니다. 파이토치에서 체크포인트란? 파이토치의 checkpoint는 학습 중인 모델의 특정 시점의 상태를 보존하여 저장했다가 그대로 불러와 이어서 학습하거나 혹은 evaluation을 수행할 수 있게 해주는 파일을 의미합니다. 사실, 체크포인트라는 말은 따로 용어가 있다고 하기보다는 아래 글의 모델의 저장 및 불러오기 과정과 거의 일치한다고 보셔도 됩니다. [Pytorch] 파이토치 모델 저장, 불러오기 방법 torch ..

Python/Pytorch 2022.07.18

[Pytorch] 파이썬 파이토치 데이터 병렬 처리 적용 예제 : nn.DataParallel

Python torch data parallelism 사용법 파이토치에서 데이터 병렬 처리를 적용하는 방법에 대한 예제를 살펴보도록 하겠습니다. 해당 글은 아래 링크의 파이토치 공식 사이트의 글을 기반으로 작성되었으며, 좀 더 자세한 설명이 필요하시다면 해당 글을 참고해주세요. 선택 사항: 데이터 병렬 처리 (Data Parallelism) 글쓴이: Sung Kim and Jenny Kang 번역: ‘정아진 ’ 이 튜토리얼에서는 DataParallel(데이터 병렬) 을 사용하여 여러 GPU를 사용하는 법을 배우겠습니다. PyTorch를 통해 GPU를 사용하는 tutorials.pytorch.kr 상황 가정 우선, 아래와 같이 파라미터 수가 많은 네트워..

Python/Pytorch 2022.07.14

[Pytorch] 모델에 저장된 파라미터 확인, 출력 방법

파이토치에서 파라미터 값 보는법 파이토치에서 모델에 저장된 parameter의 값들을 확인하는 방법들을 살펴보겠습니다. 파라미터만 출력 : model.parameters() 이용 layer 순서대로 파라미터를 출력하려면 선언된 모델의 parameters()를 호출하여 아래와 같이 순회해주시면 됩니다. for param in model.parameters(): print(param) 각 layer에 저장된 weight와 bias 값들이 차례대로 잘 출력되는 것을 볼 수 있었습니다. layer 이름과 같이 출력 : model.named_children() 이용 만일, layer의 이름과 매칭하여 저장된 파라미터를 확인하고 싶은 경우에는 아래와 같이 named_children()을 호출하여 layer 이름과 ..

Python/Pytorch 2022.05.13

[Pytorch] DataLoader의 기능과 사용법 정리

파이썬 파이토치 DataLoader 이해하기 파이토치 모듈에서 모델 학습 과정 시 각 step 마다 데이터를 batch size 크기로 분할하여 넣어 효과적이고 효율적인 학습 진행을 돕는 dataloader의 기능을 이해해보고 사용법 예시 코드를 쉽고 간략하게 정리해보도록 하겠습니다. DataLoader의 기능, 사용 이유 이해를 돕기 위하여 x, y 두 벡터를 input으로 받는 모델을 학습하려는 상황을 가정해보겠습니다. 그리고 아래와 같이 1000개의 데이터가 있다고 생각해보도록 하겠습니다. # 다음과 같은 형태로 데이터가 존재한다고 가정 data = [[x1, y1], [x2, y2], [x3, y3], ... , [x1000, y1000]] 이제 이 데이터를 통하여 모델을 학습하려면 어떤 형태로 ..

Python/Pytorch 2022.05.10

[Pytorch] GPU 여부 확인, 사용할 GPU 번호 지정, 모델 및 텐서에 GPU 할당 방법

파이토치 GPU 체크, 지정 및 할당 방법 정리 파이토치에서 GPU 사용 가능 여부 및 연결된 GPU 정보를 확인해보고 특정 GPU만 사용하도록 설정하는 방법과 모델 및 텐서에 원하는 GPU를 할당할 수 있는 방법에 대하여 정리해보도록 하겠습니다. GPU 사용 가능 여부 확인 아래의 명령어의 결과가 True로 반환되면 GPU가 연결되어 사용 가능하다는 의미입니다. import torch # GPU 사용 가능 -> True, GPU 사용 불가 -> False print(torch.cuda.is_available()) 다음과 같이 코드를 작성하면 GPU 여부에 따라서 사용할 디바이스 종류 자동 지정이 가능합니다. # GPU 사용 가능 -> 가장 빠른 번호 GPU, GPU 사용 불가 -> CPU 자동 지정 예..

Python/Pytorch 2022.04.24

[Pytorch] 파이토치 특정 layer freeze 방법

파이토치 일부 layer의 파라미터만 freeze하기 파이토치에서 학습을 진행할 때, 특정 layer를 freeze하는 방법을 말씀드려보겠습니다. 이해를 돕기 위해 아래와 같은 매우 간단한 신경망이 있다고 가정해보겠습니다. import torch.nn as nn class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(8, 4) self.fc2 = nn.Linear(4, 2) self.fc3 = nn.Linear(2, 1) def forward(self, x): return self.fc3(self.fc2(self.fc1(x))) my_net = Net() 예를 들어, 위의 신경망에서 fc2에 해당하..

Python/Pytorch 2022.04.22

[Pytorch] 파이토치 모델 저장, 불러오기 방법

torch model save, load 예제 이번 글에서는 파이토치에서 학습된 모델을 저장하고, 저장된 모델을 다시 불러오는 방법을 파라미터만 저장하는 방법과 모델 전체를 save하는 방법으로 나누어서 설명해보겠습니다. 참고로, 이 글은 파이토치 공식 문서를 기반으로 작성되었습니다. model save 방법 1 : 파라미터만 저장 state.dict() 메소드를 불러와 모델의 파라미터만 골라서 저장이 가능합니다. 이 방법은 모델의 클래스 종류와 argument를 아는 경우 용량을 절약할 수 있어 권장드립니다. 저장될 파일은 pt 확장자로 지정해주시면 됩니다. # torch.save(모델이 저장된 변수 이름.state_dict(), 모델이 저장될 디렉토리) torch.save(model.state_dic..

Python/Pytorch 2022.03.08

[Pytorch] torch.view, torch.reshape의 사용법과 차이 비교

파이토치 view 함수와 reshape 함수 비교 안녕하세요. 이번 글에서는 파이토치에서 텐서의 차원 변환을 할 때 사용하는 torch.view와 torch.reshape 함수의 기본적인 사용법과 두 함수의 차이에 대하여 다루어보는 시간을 가져보겠습니다. torch.view와 torch.reshape 함수의 원리와 사용 방법 이 두 함수의 원리는 Numpy의 reshape 함수를 기반으로 하고 있습니다. 해당 함수의 사용 방법은 아래의 포스팅에서 다루어, 추가 설명은 따로 하지 않도록 하겠습니다. [Numpy] 배열 shape 변경 : np.reshape 함수 사용법, -1 의미 파이썬 넘파이 배열 차원 변경 함수 : np.reshape reshape 함수를 통하여 넘파이 배열의 차원을 변환하는 방법에 ..

Python/Pytorch 2022.02.27

[Pytorch] 파이토치 설치 방법 정리

torch install 방법 요약 안녕하세요. 이번 시간에는 매우 간단하게 사용 환경에 맞는 파이토치를 설치하는 방법을 말씀드리도록 하겠습니다. 1단계. 파이토치 사이트 접속 및 커맨드 입력 먼저, 파이토치 공식 사이트인 https://pytorch.org/에 접속해줍니다. 위와 같은 설정에서 각 항목을 아래 기준으로 선택해줍니다. PyTorch Build : 현재 가장 안정 버전 / 최신 베타 버전 / 장기 지원 예전 버전 중 선택 Your OS : 리눅스 / 맥 / 윈도우 중 사용 운영체제 선택 Package : 가상환경이라면 Conda, 로컬환경이라면 Conda / Pip 중 선택 권장 Language : 사용할 언어 환경 선택 Compute Platform : GPU가 있다면 CUDA 버전에 맞..

Python/Pytorch 2022.02.09

[Pytorch] 파이토치 텐서 자료형 확인, 타입 변환(casting) 방법

torch tensor type check & casting 이번 글에서는 파이토치 라이브러리에서 텐서의 타입을 확인하고, 다른 자료형으로 캐스팅(변경)하는 방법에 대해서 간단하게 정리해보겠습니다. 파이토치 텐서 타입 확인 : dtype 속성 파이토치에서 자료형을 확인하는 방법은 텐서의 dtype 속성을 확인해주시면 간단히 해결됩니다. import torch a = torch.randn(2, 2, 2) b = torch.IntTensor([1, 3, 5]) print(a.dtype) # torch.float32 print(b.dtype) # torch.int32 참고로, 텐서의 자료형은 float, int, complex 등 실수, 정수, 복소수 등 속성 표현부와 8, 16, 32, 64 등 할당 메모리..

Python/Pytorch 2022.02.08
반응형