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)
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.