TensorFlow-MNIST(sequencial实现)

import tensorflow as tf

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#把输入特征进行归一化
#使0-255之间的灰度值变成0-1之间的数值,把输入特征的数值变小,更适合神经网络吸收
model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),#把输入特征拉直为一维数组,拉直为784个数值
    tf.keras.layers.Dense(128,activation='relu'),#定义第一层,有128个神经元
    tf.keras.layers.Dense(10,activation='softmax')#定义第二层有10个神经元,用softmax,使输出符合概率分布
    ])

model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              #由于让输出符合概率分布了,不是原始输出,所以from_logits是False
              metrics=['sparse_categorical_accuracy']
              #数据集中的标签是数值,输出是概率分布,所以使用sparse_categorical_accuracy
              )
model.fit(x_train,y_train,batch_size=32,epochs=5,validation_data=(x_test,y_test),validation_freq=1)
#在fit中执行训练过程,每次喂入网络32组数据,数据集迭代5次,每迭代一次训练集执行一次测试集的评测
model.summary()
#准确率看后面  val_sparse_categorical_accuracy: 0.9767

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值