코딩연습장/Pytorch(4)
-
[Pytorch] Multi-gpu 사용하기
이번에 pytorch로 multi-gpu를 사용할 일이 생겨서 알아보게 되었다. 방법은 매우 간단하니 한번 살펴보자! ㅎㅎ NGPU = torch.cuda.device_count() device = torch.device("cuda" if torch.cuda.is_available() else "cpu") if NGPU > 1: self.model = torch.nn.DataParallel(self.model, device_ids=list(range(NGPU))) torch.multiprocessing.set_start_method('spawn') self.model.to(device) 간단하게 살펴보면 torch.cuda.device_count()는 현재 할당된 gpu 개수를 의미한다. 따라서 이 개수..
2022.03.23 -
[Pytorch] VIT Pretrained model 사용하기
이번에 Vision Transformer를 사용할 기회가 생기면서 Pretrained model에 대해서 알아보았다. 방법은 매우 간단하니 누구든 따라할 수 있을 것이다!! Official Github 바로 모델만 사용하여 학습을 해야하는 것이 아니라 모델이 어떠한 구조로 이루어져있는지 또는 pretrained model이 필요없다면 다음 official github를 참고하는 것을 추천한다. https://github.com/lucidrains/vit-pytorch GitHub - lucidrains/vit-pytorch: Implementation of Vision Transformer, a simple way to achieve SOTA in vision classification wit Imple..
2022.02.20 -
[Pytorch] ResNet을 만들어보자!
Pytorch를 이용해서 분류문제에서 사용하는 여러가지 backbone 논문을 구현하는 시간을 가지려고 한다. 네트워크에 대한 논문 리뷰는 따로 하지 않고 구현을 하면서 간단한 설명만 할 예정이다. $\triangledown$ Resnet paper https://arxiv.org/abs/1512.03385 Deep Residual Learning for Image Recognition Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previous..
2022.02.11 -
[Pytorch] Dataset을 만들어보자!
Pytorch에 대한 모델 아키텍처 구현을 하기 전에 dataset 객체를 만드는 방법을 먼저 소개하려 한다. 방법은 어렵지 않지만 batch단위의 training과 보기 좋은 전처리를 하기 위해서 꼭 필요한 과정이다. 큰 틀은 다음과 같다. from torch.utils.data import Dataset class CustomDataset(Dataset): def __init__(self): '''init some parameters''' def __len__(self): '''return length of datas''' def __getitem__(self, index): '''return data with preprocessing if needed''' 먼저 Dataset 모듈을 import ..
2022.02.06