PyTorch-Convents를 사용한 시퀀스 처리

이 장에서 우리는 대신 두 시퀀스에 걸쳐 단일 2D 컨볼 루션 신경망에 의존하는 대체 접근법을 제안합니다. 네트워크의 각 계층은 지금까지 생성 된 출력 시퀀스를 기반으로 소스 토큰을 다시 코딩합니다. 따라서주의와 유사한 속성은 네트워크 전체에 퍼져 있습니다.

여기서는 creating the sequential network with specific pooling from the values included in dataset. 이 프로세스는 "이미지 인식 모듈"에서도 가장 잘 적용됩니다.

다음 단계는 PyTorch를 사용하여 수녀원으로 시퀀스 처리 모델을 만드는 데 사용됩니다-

1 단계

수녀원을 사용하여 시퀀스 처리를 수행하기 위해 필요한 모듈을 가져옵니다.

import keras 
from keras.datasets import mnist 
from keras.models import Sequential 
from keras.layers import Dense, Dropout, Flatten 
from keras.layers import Conv2D, MaxPooling2D 
import numpy as np

2 단계

아래 코드를 사용하여 각 순서로 패턴을 생성하는 데 필요한 작업을 수행하십시오-

batch_size = 128 
num_classes = 10 
epochs = 12
# input image dimensions 
img_rows, img_cols = 28, 28
# the data, split between train and test sets 
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(60000,28,28,1) 
x_test = x_test.reshape(10000,28,28,1)
print('x_train shape:', x_train.shape) 
print(x_train.shape[0], 'train samples') 
print(x_test.shape[0], 'test samples')
y_train = keras.utils.to_categorical(y_train, num_classes) 
y_test = keras.utils.to_categorical(y_test, num_classes)

3 단계

모델을 컴파일하고 아래와 같이 언급 된 기존 신경망 모델에 패턴을 맞 춥니 다.

model.compile(loss = 
keras.losses.categorical_crossentropy, 
optimizer = keras.optimizers.Adadelta(), metrics = 
['accuracy'])
model.fit(x_train, y_train, 
batch_size = batch_size, epochs = epochs, 
verbose = 1, validation_data = (x_test, y_test)) 
score = model.evaluate(x_test, y_test, verbose = 0) 
print('Test loss:', score[0]) 
print('Test accuracy:', score[1])

생성 된 출력은 다음과 같습니다.