Guida rapida a Tensorflow 2 per principianti

Visualizza su TensorFlow.org Esegui in Google Colab Visualizza il sorgente su GitHub Scarica il notebook

Questa breve introduzione usa Keras per:

  1. Costruire una rete neurale che classifica immagini.
  2. Addestrare questa rete neurale.
  3. E, infine, valutare l'accuratezza del modello.

Questo è un Google Colaboratory notebook file. I programmi Python sono eseguiti direttamente nel browser—un ottimo modo per imparare e utilizzare TensorFlow. Per seguire questo tutorial, esegui il file notebook in Google Colab cliccando sul bottone in cima a questa pagina.

  1. All'interno di Colab, connettiti al runtime di Python: In alto a destra della barra dei menu, seleziona CONNECT.
  2. Esegui tutte le celle di codice di notebook: Seleziona Runtime > Run all.

Scarica e installa il package TensorFlow 2. Importa TensorFlow nel tuo codice:

from __future__ import absolute_import, division, print_function, unicode_literals

# Install TensorFlow

import tensorflow as tf

Carica e prepara il dataset MNIST. Converti gli esempi da numeri di tipo integer a floating-point:

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step

Costruisci il modello tf.keras.Sequential tramite layer. Scegli un metodo di ottimizzazione e una funzione obiettivo per l'addestramento:

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

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

Addestra e valuta il modello:

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.2958 - accuracy: 0.9151
Epoch 2/5
60000/60000 [==============================] - 3s 56us/sample - loss: 0.1421 - accuracy: 0.9574
Epoch 3/5
60000/60000 [==============================] - 3s 55us/sample - loss: 0.1054 - accuracy: 0.9680
Epoch 4/5
60000/60000 [==============================] - 3s 55us/sample - loss: 0.0874 - accuracy: 0.9734
Epoch 5/5
60000/60000 [==============================] - 3s 55us/sample - loss: 0.0745 - accuracy: 0.9761
10000/10000 - 1s - loss: 0.0742 - accuracy: 0.9772

[0.07421292162877507, 0.9772]

Il classificatore di immagini è ora addestrato per circa il 98% di accuratezza su questo insieme di dati. Per approfondire, leggi il tutorial di TensorFlow.