Available in Classic and VPC
For more examples and details, please refer to TensorFlow tutorial.
Import TensorFlow library to the program first:
import tensorflow as tf
Load MNIST dataset and prepare it. Convert the sample value from integer to 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
Create the tf.keras.Sequential model by building layers in order. Select the optimizer and loss function to use for training:
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'])
Train and evaluate the model:
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
'''
Train on 60000 samples
Epoch 1/5
WARNING:tensorflow:Entity <function Function._initialize_uninitialized_variables.<locals>.initialize_variables at 0x7f2d11707048> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
WARNING: Entity <function Function._initialize_uninitialized_variables.<locals>.initialize_variables at 0x7f2d11707048> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: module 'gast' has no attribute 'Num'
60000/60000 [==============================] - 4s 68us/sample - loss: 0.2941 - accuracy: 0.9140
Epoch 2/5
60000/60000 [==============================] - 4s 62us/sample - loss: 0.1396 - accuracy: 0.9587
Epoch 3/5
60000/60000 [==============================] - 4s 62us/sample - loss: 0.1046 - accuracy: 0.9680
Epoch 4/5
60000/60000 [==============================] - 4s 62us/sample - loss: 0.0859 - accuracy: 0.9742
Epoch 5/5
60000/60000 [==============================] - 4s 62us/sample - loss: 0.0724 - accuracy: 0.9771
10000/1 - 0s - loss: 0.0345 - accuracy: 0.9788
[0. 06729823819857557, 0.9788]
'''
A trained image classifier achieves approximately 98% accuracy in this dataset. For more information, please refer to TensorFlow tutorial.