AI/개념

Torchvision 패키지

모딩 2021. 3. 3. 13:13
반응형

Torchvision이 무엇인가요?

Torchvision은 데이터 셋, 아키텍처 모델, 이미지 변환 기능으로 구성되어 있는 패키지이다. 

 

torchvision.datasets

  • MNIST
  • Fashion-MNIST
  • KMNIST
  • EMNIST
  • FakeData
  • COCO
  • LSUN
  • ImageFolder
  • DatasetFolder
  • Imagenet-12
  • CIFAR
  • STL10
  • SVHN
  • PhotoTour
  • SBU
  • Flickr
  • VOC
  • Cityscapes

 

torchvision.models

  • Alexnet
  • VGG
  • ResNet
  • SqueezeNet
  • DenseNet
  • Inception v3
  • GoogLeNet

 

torchvision.transforms

  • Transforms on PIL Image

  • Transforms on torch.*Tensor

  • Conversion Transforms

  • Generic Transforms

  • Functional Transforms

 

torchvision.utils


사용해 본 라이브러리 

- torchvision.transforms

다양한 이미지 변환 기능을 제공한다. 

 

예)

torchvision.transforms.ToTensor

PIL 이미지 또는 numpy.ndarray를 pytorch tensor로 변환해준다.

import torchvision.transforms as transforms

transforms.ToTensor()

 

torchvision.transforms.Compose

여러 기능(transforms)들을 Compose로 구성할 수 있도록 해준다.

transforms.Compose([
	transforms.ToTensor(),
    	transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
        transforms.Resize((35, 35))
    ])

 

- torchvision.datasets

 

예)

dets() 

torchvision에서 제공하는 데이터 셋을 사용한다. 

import torchvision.datasets as dsets

mnist_train = dsets.FashionMNIST(root='MNIST_data/',
                          train=True,
                          transform=transforms,
                          download=True)

mnist_test = dsets.FashionMNIST(root='MNIST_data/',
                         train=False,
                         transform=transforms,
                         download=True)

 

 

- torchvision.utils

 

예)

torchvision.utils.data.DataLoader()

torchvision.dataset의 데이터들을 불러온다. dataset 종류, batch_size, shuffle, drop_last 등 10여개의 파라미터를 전달받는다.

import torch
from torch.utils.data import Dataset, DataLoader

train_loader = DataLoader(dataset=mnist_train,
                          batch_size=batch_size,
                          shuffle=True,
                          drop_last=True)

test_loader = DataLoader(dataset=mnist_test,
                         batch_size=batch_size,
                         shuffle=True,
                         drop_last=True)

 

 

 

참고자료

pytorch.org/vision/stable/index.html 

https://dororongju.tistory.com/144

github.com/jinnyjinny/Torchvision/blob/master/Fashion-MNIST/FMNIST_resnet5.ipynb

반응형

'AI > 개념' 카테고리의 다른 글

Batch Normalization, Drop out  (0) 2021.06.08
[CS231n] 2강 정리  (0) 2021.06.08
Overfitting과 Underfitting  (0) 2021.06.07
Learning Rate, Training Epoch, Batch Size의 의미  (0) 2021.03.03