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.