TensorFlow写模型6步骤
一、主要函数
#[]里面存放神经网络的各个层,一般上只能用Sequential写一些比较简单的结构
tf.keras.models.Sequential([])
Model.compile(
optimizer='rmsprop',#优化器
loss=None,#损失函数
metrics=None,#评估指标
#======================目前就用了以上三个
loss_weights=None,#多模型实使用(损失权重分布)
weighted_metrics=None,
run_eagerly=None,
steps_per_execution=None,
jit_compile=None,
**kwargs
)
Model.fit(
x=None,#训练集数据
y=None,#训练集标签
batch_size=None,#batch大小
epochs=1,#训练论述
verbose='auto',
callbacks=None,#回调函数(用于记录过程中的loss和准确率等)
validation_split=0.0,#测试集划分
validation_data=None,#指定测试集(与上面二选一即可)
shuffle=True,#打乱
class_weight=None,
sample_weight=None,
initial_epoch=0,
steps_per_epoch=None,
validation_steps=None,
validation_batch_size=None,
validation_freq=1,#指定在执行新的验证之前要运行多少个epoch
max_queue_size=10,
workers=1,
use_multiprocessing=False
)
二、代码如下
# 第一步:导入相关模块
import tensorflow as tf
# 第二步:导入数据集并进行域处理
fashion = tf.keras.datasets.fashion_mnist
(x_train,y_train),(x_test,y_test) = fashion.load_data()
tf.random.shuffle(x_train)
tf.random.shuffle(y_train)
x_train = x_train/255.0
x_test = x_test/255.0
# 第三步:建立网络结构(各层的结构)
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128,activation='relu',kernel_regularizer=tf.keras.regularizers.l2()),
tf.keras.layers.Dense(10,activation='softmax')
])
# 第四步:给模型配置训练参数,动量优化器(学习率),loss,评价指标
model.compile(optimizer=tf.keras.optimizers.Adam(),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['sparse_categorical_accuracy'])
# 第五步:模型训练(训练集,训练集标签,batch大小,epochs轮次,测试切分,)
model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test,y_test), validation_freq=1)
# 第六步:使用 model.summary()打印网络结构,统计参数数目
model.summary()
总结
这是最基本的六步骤