PyTorch MNIST Data Preprocess

PyTorch 프레임워크를 사용해 Tensorflow때와 같이 MNIST 예제를 통해 이미지 데이터를 처리할 것이다.

라이브러리 불러오기

import torch
from torchvision import datasets, transforms

Batch Size 정하기

batch_size = 32
test_batch_size = 32

Data Loader 부르기

train_loader = torch.utils.data.DataLoader(
                datasets.MNIST('dataset/',
                train= True,
                download=True, 
                transform = transforms.Compose([
                    transforms.ToTensor(),
                    transforms.Normalize(mean=(0.5,), std=(0.5,))
                ])),
    batch_size= batch_size,
    shuffle=True)
test_loader = torch.utils.data.DataLoader(
                datasets.MNIST('dataset/',
                train= True,
                download=True, 
                transform = transforms.Compose([
                    transforms.ToTensor(),
                    transforms.Normalize(mean=(0.5,), std=(0.5,))
                ])),
    batch_size= test_batch_size,
    shuffle=True)

첫번재 iteration에서 나오는 데이터 확인

파이토치는 DataLoader를 불러 model에 넣음

images, label = next(iter(train_loader))
images.shape, label.shape

데이터 시각화

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
images[0].shape # 이미지 shape

자원수 줄이기

torch_image = torch.squeeze(images[0]) # 앞에 차원수 줄이기
torch_image.shape
label = label[0].numpy()

label.shape # 확인 결과 ()

label 변수를 확인해보면 1의 값이 있다

이미지 띄우기

plt.imshow(torch_image)
plt.title(label)
plt.show()

답글 남기기

이메일 주소는 공개되지 않습니다.