다음은 이미지와 레이블로 분리된 데이터의 크기를 각각 출력한 결과입니다.
torch.Size([4, 1, 28, 28]) torch.Size([1, 28, 28]) 9
출력의 크기가 의미하는 내용은 다음과 같습니다.
ⓐ 한 번의 배치 크기로 몇 개의 데이터를 가져오는지 의미합니다. 앞에서 batch_size = 4를 지정했기 때문에 4를 출력했습니다.
ⓑ 채널을 의미하는 것으로 흑백 이미지는 1을 출력하며, 컬러 이미지는 3을 출력합니다.
ⓒ 28×28(너비×높이) 픽셀 크기의 이미지라는 의미입니다.
예제에서 사용하고 있는 데이터셋의 이미지 몇 개만 출력해 보겠습니다. 먼저 이미지 출력을 위해 데이터 형태를 바꾸어 주기 위한 전처리 함수를 생성합니다.
코드 8-5 이미지 데이터를 출력하기 위한 전처리
def imshow(img, title):
plt.figure(figsize=(batch_size * 4, 4)) ------ 출력할 개별 이미지의 크기 지정
plt.axis('off')
plt.imshow(np.transpose(img, (1, 2, 0))) ------ ①
plt.title(title)
plt.show()