더북(TheBook)

7.5.2 LSTM 셀 구현

지금까지 RNN을 살펴보았다면 이제 LSTM 셀과 LSTM 계층을 살펴보겠습니다. 이번 예제에서 사용할 데이터셋은 MNIST입니다.

Note ≡ | MNIST

MNIST는 인공지능 연구의 권위자 얀 르쿤(Yann LeCun) 교수가 만든 데이터셋으로 훈련 데이터셋 6만 개와 검증 데이터셋 1만 개로 구성되어 있습니다. MNIST는 손으로 쓴 숫자 이미지(0에서 9까지 값을 갖는 고정 크기 이미지(28×28 픽셀))들로 구성되어 있습니다.

먼저 필요한 라이브러리를 호출합니다.

코드 7-29 라이브러리 호출

import torch
import torch.nn as nn
import torchvision.transforms as transforms
import torchvision.datasets as dataset
from torch.autograd import Variable
from torch.nn import Parameter ------ 파라미터 목록을 갖고 있는 라이브러리(패키지)
from torch import Tensor
import torch.nn.functional as F
from torch.utils.data import DataLoader
import math ------ 수학과 관련되어 다양한 함수들과 상수들이 정의되어 있는 라이브러리

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
cuda = True if torch.cuda.is_available() else False ------GPU 사용에 필요(GPU는 8장에서 자세히 살펴볼 예정이지만 미리 눈으로 익혀 두세요)

Tensor = torch.cuda.FloatTensor if cuda else torch.FloatTensor ------ GPU 사용에 필요

torch.manual_seed(125)
if torch.cuda.is_available():
    torch.cuda.manual_seed_all(125)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.