PyTorch - Konventlerle Sıra İşleme

Bu bölümde, her iki dizide de tek bir 2D evrişimli sinir ağına dayanan alternatif bir yaklaşım öneriyoruz. Ağımızın her katmanı, şimdiye kadar üretilen çıktı sırasına göre kaynak belirteçlerini yeniden kodlar. Dikkat benzeri özellikler bu nedenle tüm ağda yaygındır.

Burada odaklanacağız creating the sequential network with specific pooling from the values included in dataset. Bu işlem aynı zamanda en iyi "Görüntü Tanıma Modülü" içinde uygulanır.

Aşağıdaki adımlar, PyTorch kullanarak konventlerle bir dizi işleme modeli oluşturmak için kullanılır -

Aşama 1

Sıralı işleme performansı için gerekli modülleri, konvansiyonları kullanarak içe aktarın.

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

Adım 2

Aşağıdaki kodu kullanarak ilgili sırayla bir model oluşturmak için gerekli işlemleri gerçekleştirin -

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)

Aşama 3

Modeli derleyin ve modeli aşağıda gösterildiği gibi belirtilen geleneksel sinir ağı modeline uydurun -

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

Üretilen çıktı aşağıdaki gibidir -