pytorch

    wandb (Weights & Biases) 사용법 (logging, sweep을 통한 hyperparameter tuning, 모델 가중치 및 그래디언트 확인)

    wandb (Weights & Biases) 사용법 (logging, sweep을 통한 hyperparameter tuning, 모델 가중치 및 그래디언트 확인)

    이전에 yolo 관련 글을 엄청나게 썼었는데 yolo를 사용하면서 접하게 되었던 트래킹용 도구이다.모델 실험 시 metric들을 logging하거나 hyperparameter를 변경하며 반복 실험이 필요할 경우 유용하다. pytorch 기준으로 작성한다. 1. 설치 및 initializationpip install wandb 터미널에서 pip을 통해 간단하게 설치할 수 있다. wandb 계정을 생성한 후wandb login 커맨드를 입력한 다음 API 키를 입력하면 해당 계정과 연결이 된다. 2. 학습 코드에 wandb 추가 예시wandb run 생성import wandbwandb.init() wandb.init() 커맨드를 사용하면 데이터를 logging하기 위한 background process가 생..

    [Pytorch] Dataset 정의

    파이토치에서는 DataLoader 클래스를 통해 데이터를 편리하게 불러올 수 있다. (ex : 특정 batch size만큼씩 데이터 불러오기, shuffle, 미리 정의한 순서대로 데이터 불러오기 등) 이를 위해서는 Dataset 클래스로 데이터를 사전 정의해야 한다. import torch from torch.utils.data import Dataset 테스트를 위해 간단한 tensor 데이터를 정의하였다. x = [[0,0,0], [0,0,1], [0,1,0], [1,0,0], [0,1,1], [1,1,0], [1,0,1], [1,1,1]] y = [0, 1, 2, 3, 4, 5, 6, 7] x = torch.Tensor(x).float() y = torch.Tensor(y).long() 이제 Da..

    [Python] tqdm 이용해 모델 train 시 progress bar 표시하기

    tqdm module을 이용하면 iteration 진행 상황을 progress bar로 나타낼 수 있다. 간단한 예제는 다음과 같다. from tqdm import tqdm from time import sleep for i in tqdm(range(100)): sleep(0.1) 100%|██████████| 100/100 [00:10

    [Pytorch] ImageFolder로 쉽게 Image Dataset 만들기

    [Pytorch] ImageFolder로 쉽게 Image Dataset 만들기

    이미지를 Input으로 하는 네트워크를 구축하고자 할 때 유용하게 사용할 수 있는 torchvision의 Image Folder 클래스를 소개한다. ImageFolder를 이용하면 이미지들이 각 class에 해당하는 폴더에 각각 나누어져 있을 때 이를 dataset 형태로 쉽게 불러올 수 있다. 예시를 위해 kaggle에서 제공하는 Medical MNIST 데이터를 살펴보겠다. Medical MNIST는 다음과 같은 2차원 medical 이미지들이 총 6개의 class로 나뉘어져 있는 형태이다. 각 class의 이미지들은 위와 같이 class 이름으로 된 폴더에 나뉘어져 있다. 이를 ImageFolder를 이용해 데이터셋 형태로 만들어 보자. 우선 ImageFolder의 파라미터를 살펴보면 다음과 같다...