PyTorch - Processamento de Sequência com Conventos
Neste capítulo, propomos uma abordagem alternativa que, em vez disso, depende de uma única rede neural convolucional 2D em ambas as sequências. Cada camada de nossa rede recodifica os tokens de origem com base na sequência de saída produzida até agora. As propriedades do tipo atenção são, portanto, difundidas em toda a rede.
Aqui, vamos nos concentrar em creating the sequential network with specific pooling from the values included in dataset. Este processo também é mais bem aplicado no “Módulo de reconhecimento de imagem”.
As etapas a seguir são usadas para criar um modelo de processamento de sequência com conventos usando PyTorch -
Passo 1
Importe os módulos necessários para desempenho de processamento de sequência usando conventos.
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
Passo 2
Execute as operações necessárias para criar um padrão na respectiva sequência usando o código abaixo -
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)
etapa 3
Compile o modelo e ajuste o padrão no modelo de rede neural convencional mencionado, conforme mostrado abaixo -
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])
A saída gerada é a seguinte -