上一章用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))