上一章用TF-2.x实现了MLP的从0开始。本章我使用TF-2.x中的高阶API来实现MLP(多层感知机),很简单,只需要3步即可。
P.S:本章所使用的数据集依旧是fashionmnist数据集。
1、数据集读取
# 1、读取数据集
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0 #图像归一化
2、定义模型
def model():
net=tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=[28,28]),
tf.keras.layers.Dense(128,"relu"),
tf.keras.layers.Dense(10,"softmax"),
])
return net
3、训练
net=model()
#网络配置
net.compile(optimizer=tf.keras.optimizers.SGD(0.3),loss=tf.losses.sparse_categorical_crossentropy,
metrics=["accuracy"])
net.fit(x_train,y_train,128,10,validation_data=(x_test,y_test))
训练结果:
下面附上所有源码:
import tensorflow as tf
from tensorflow.keras.datasets import fashion_mnist
# 1、读取数据集
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
# 2、定义模型
def model():
net=tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=[28,28]),
tf.keras.layers.Dense(128,"relu"),
tf.keras.layers.Dense(10,"softmax"),
])
return net
#3、训练
net=model()
#网络配置
net.compile(optimizer=tf.keras.optimizers.SGD(0.3),loss=tf.losses.sparse_categorical_crossentropy,
metrics=["accuracy"])
net.fit(x_train,y_train,128,10,validation_data=(x_test,y_test))