tensorflow08——Sequential模型处理mnist数据集

MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所(National Institute of Standards and Technology (NIST))发起整理,一共统计了来自250个不同的人手写数字图片,其中50%是高中生,50%来自人口普查局的工作人员。该数据集的收集目的是希望通过算法,实现对手写数字的识别。

训练集一共包含了 60,000 张图像和标签
测试集一共包含了 10,000 张图像和标签

import tensorflow as tf
# 手写数字识别

mnist = tf.keras.datasets.mnist

# 从数据集中把训练集和测试集提取出来 x数据 y对应标签
# (这样写是因为在这个数据集里,训练就和测试集本来就已经划分好了)
# 其他的数据集并不是这样
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 把训练集和测试集的数据进行归一化
x_train, x_test = x_train/255.0, x_test/255.0

# 定义模型
model = tf.keras.models.Sequential([

    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax'),
])

# 模型编译

```python

```python
model.compile(
    optimizer='adam',
    loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
    metrics=['sparse_categorical_accuracy'])

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()

输出

Train on 60000 samples, validate on 10000 samples
Epoch 1/5
60000/60000 [============================== ] - 6s 103us/sample - loss: 0.2575 - sparse_categorical_accuracy: 0.9262 - val_loss: 0.1350 - val_sparse_categorical_accuracy: 0.9588
Epoch 2/5
60000/60000 [============================== ] - 6s 96us/sample - loss: 0.1146 - sparse_categorical_accuracy: 0.9661 - val_loss: 0.1008 - val_sparse_categorical_accuracy: 0.9700
Epoch 3/5
60000/60000 [============================== ] - 6s 95us/sample - loss: 0.0784 - sparse_categorical_accuracy: 0.9761 - val_loss: 0.0846 - val_sparse_categorical_accuracy: 0.9750
Epoch 4/5
60000/60000 [============================== ] - 6s 100us/sample - loss: 0.0587 - sparse_categorical_accuracy: 0.9822 - val_loss: 0.0798 - val_sparse_categorical_accuracy: 0.9758
Epoch 5/5
60000/60000 [============================== ] - 6s 98us/sample - loss: 0.0458 - sparse_categorical_accuracy: 0.9858 - val_loss: 0.0807 - val_sparse_categorical_accuracy: 0.9752
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   

=================================================================
flatten (Flatten)             multiple                  0         
_________________________________________________________________
dense (Dense)                multiple                  100480    
_________________________________________________________________
dense_1 (Dense)              multiple                  1290      

================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________

你可能感兴趣的:(tensorflow,深度学习,tensorflow,机器学习)