Apprendimento approfondito con Keras - Compilazione del modello

La compilazione viene eseguita utilizzando una singola chiamata di metodo chiamata compile.

model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')

Il compilemetodo richiede diversi parametri. Il parametro di perdita è specificato per avere tipo'categorical_crossentropy'. Il parametro delle metriche è impostato su'accuracy' e infine usiamo il adamottimizzatore per l'addestramento della rete. L'output in questa fase è mostrato di seguito:

Ora siamo pronti per inserire i dati nella nostra rete.

Caricamento dati

Come detto in precedenza, useremo il mnistset di dati fornito da Keras. Quando carichiamo i dati nel nostro sistema, li suddivideremo nei dati di addestramento e test. I dati vengono caricati chiamando ilload_data metodo come segue -

(X_train, y_train), (X_test, y_test) = mnist.load_data()

L'output in questa fase è simile al seguente:

Ora impareremo la struttura del set di dati caricato.

I dati che ci vengono forniti sono le immagini grafiche di dimensione 28 x 28 pixel, ciascuna contenente una singola cifra compresa tra 0 e 9. Visualizzeremo le prime dieci immagini sulla console. Il codice per farlo è fornito di seguito:

# printing first 10 images
for i in range(10):

plot.subplot(3,5,i+1)
plot.tight_layout()
plot.imshow(X_train[i], cmap='gray', interpolation='none')
plot.title("Digit: {}".format(y_train[i]))
plot.xticks([])
plot.yticks([])

In un ciclo iterativo di 10 conteggi, creiamo una sottotrama su ogni iterazione e mostriamo un'immagine da X_trainvettore in esso. Assegniamo un titolo a ciascuna immagine dalla corrispondentey_trainvettore. Nota che ily_train vettore contiene i valori effettivi per l'immagine corrispondente in X_trainvettore. Rimuoviamo i contrassegni degli assi xey chiamando i due metodixticks e ytickscon argomento nullo. Quando esegui il codice, vedrai il seguente output:

Successivamente, prepareremo i dati per inserirli nella nostra rete.