1. 文章
  2. 文章详情

TensorFlow 2.0 快速入门 -- MNIST数据集

下载并安装 TensorFlow 2.0 框架包。将 TensorFlow 载入你的程序:

from __future__ import absolute_import, division, print_function, unicode_literals

# 安装 TensorFlow

import tensorflow as tf

载入并准备好 MNIST 数据集。将样本从整数转换为浮点数:

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

将模型的各层堆叠起来,以搭建 tf.keras.Sequential 模型。为训练选择优化器和损失函数:

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

训练并验证模型:

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 72us/sample - loss: 0.2919 - accuracy: 0.9156
Epoch 2/5
60000/60000 [==============================] - 4s 58us/sample - loss: 0.1439 - accuracy: 0.9568
Epoch 3/5
60000/60000 [==============================] - 4s 58us/sample - loss: 0.1080 - accuracy: 0.9671
Epoch 4/5
60000/60000 [==============================] - 4s 59us/sample - loss: 0.0875 - accuracy: 0.9731
Epoch 5/5
60000/60000 [==============================] - 3s 58us/sample - loss: 0.0744 - accuracy: 0.9766
10000/1 - 1s - loss: 0.0383 - accuracy: 0.9765

[0.07581128399563022, 0.9765]

现在,这个照片分类器的准确度已经达到 98%。

发表评论

登录后才能评论

评论列表(0条)