PyTorch - Pemrosesan Urutan dengan Convents

Dalam bab ini, kami mengusulkan pendekatan alternatif yang mengandalkan jaringan neural konvolusional 2D tunggal di kedua urutan. Setiap lapisan jaringan kami mengkodekan ulang token sumber berdasarkan urutan keluaran yang dihasilkan sejauh ini. Karenanya, properti seperti perhatian tersebar di seluruh jaringan.

Di sini, kami akan fokus creating the sequential network with specific pooling from the values included in dataset. Proses ini juga paling baik diterapkan dalam "Modul Pengenalan Gambar".

Langkah-langkah berikut digunakan untuk membuat model pemrosesan urutan dengan konvent menggunakan PyTorch -

Langkah 1

Impor modul yang diperlukan untuk kinerja pemrosesan urutan menggunakan konvent.

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

Langkah 2

Lakukan operasi yang diperlukan untuk membuat pola dalam urutan masing-masing menggunakan kode di bawah ini -

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)

LANGKAH 3

Kompilasi model dan sesuaikan pola dalam model jaringan saraf konvensional yang disebutkan seperti yang ditunjukkan di bawah ini -

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])

Output yang dihasilkan adalah sebagai berikut -