본문 바로가기
반응형

분류 전체보기154

[Pytorch] Dataset , DataLoader 이번 포스팅에서는 Data를 받아서 모델에 데이터를 넘겨주기 전에 데이터를 처리하는 클래스인 Dataset과DataLoader에 대해 알아볼 것이다. Dataset클래스는 Data를 원하는 형식으로 출력하도록 하며, DataLoader클래스는 Data를 효율적으로 사용할 수 있도록 한다. 이 두 가지는 서로 다른 기능을 가지므로 개별적인 클래스로 정의한다. 먼저 Data를 load한 후 가장 먼저 설계하는 Dataset클래스 부터 살펴보자. 1. Dataset 클래스 · 데이터 입력 형태 정의 · 데이터 입력 방식 표준화 · Image, Text, Audio 등에 따른 입력정의 import torch from torch.utils.data import Dataset class CustomDataset(D.. 2021. 8. 22.
[Pytorch] Tensor 기본 사용법 Tensor란 Numpy의 ndarray와 같은 다차원 배열을 담는 자료구조이다. 1. Tensor 사용법 ■ Tensor 생성 Tensor는 아래의 그림과 같이 list와 ndarray를 이용하여 생성할 수 있다. ※ torch.Tensor()와 torch.tensor() 차이 · torch.Tensor는 tensor자료구조의 클래스이다. 즉, 이 클래스를 이용하여 인스턴스를 생성할 수 있다. T = torch.Tensor()라 하면 T는 Tensor클래스의 인스턴스가 된다. T의 경우 data를 입력하지 않았으니 빈 tensor가 생성된다. · torch.tensor는 어떤 data를 tensor로 copy해주는 함수이다. torch.tensor에 data를 넣었을 때, 그 data가 tensor가 .. 2021. 8. 21.
[Pytorch] Hyper-parameter Tuning , Pytorch Troubleshooting 1. Hyper-parameter Tuning 모델의 성능이 잘 안 나오면 보통 모델을 바꾸거나, 데이터를 바꾸거나, Hyper-parameter를 Tuning한다. 이 중 성능 향상에 큰 기여는 하지 않지만 좋은 데이터와 모델을 통해 어느 정도 성능을 갖추었을 때 미세하게 성능 향상을 할 수 있는 Hyper-parameter Tuning에 대해 알아보자. ■ Hyper-parameter Search Hyper-parameter를 탐색하는 가장 기본적인 방법에는 grid search와 random search가 있다. 아래 그림에서 왼쪽은 grid search를 나타내고 오른쪽은 random search를 나타낸다. Grid search를 예를 들면, learning rate를 가로축으로 하여 0.1 0.. 2021. 8. 21.
[Pytorch] Multi-GPU 파라미터 개수가 많은 경우 하나의 GPU로는 연산을 감당할 수 없다. 오늘은 여러개의 GPU를 사용하여 병렬적으로 학습하는 방법에 대해 알아볼 것이다. 1. Multi-GPU Multi-GPU에 학습을 분산하는 방법에는ⓛ Model parallel(모델 나누기)와 ② Data parallel(데이터 나누기)가 있다. ■ Model parallel Model parallel은 model내의 layer들을 여러 GPU에 올리는 방법이다. 아래의 Alexnet이 가장 유명한 Model parallel이다. C1부터 두개의 GPU를 사용하여 parameter를 주고받으며 병렬적으로 학습하고 있는 모습을 볼 수 있다. Model parallel로 학습을 진행할 경우 아래 그림의 첫번째 상황을 조심해야 한다. 두번.. 2021. 8. 21.
728x90
반응형