搭建网络八股步骤
Import
Train, test
Model = tf.keras.models.Sequential 搭建网络结构
Model.compile 配置训练参数,告知优化器、损失函数、评测指标
Model.fit 配置训练过程,告知训练集的输入特征和标签、batch、迭代次数
Model.summary
具体步骤
1.Model = tf.keras.models.Sequential([网络结构]) 描述各层网络
网络结构举例:
拉直层:tf.kears.layers.Flatten()
全连接层:tf.kears.layers.Dense(神经元个数,activation=”激活函数”,kernel_regularizer=哪 种正则化方法)
Activation可选:relu, softmax, sigmoid, tanh
Kernel_regularizer可选:tf.keras.regularizers.l1(), tf.keras.regularizers.l2()
卷积层:tf.keras.layers.Conv2D(filters=卷积核个数,kernel_size=卷积核尺寸,strides=卷积步长,padding=”valid” or “same”)
LSTM层:tf.keras.layers.LSTM()
2.Model.compile(optimizer=优化器,loss=损失函数,metrics=[“准确率”])
Optimizer可选:
‘sgd’ or tf.keras.optimizers.SGD(lr=学习率,momentum=动量参数)
‘sdagrad’ or tf.keras.optimizers.Adagrad(lr=学习率)
‘adadelta’ or tf.keras.optimizers.Adadelta(lr=学习率
‘adam’ or tf.keras.optimizers.Adam(lr=学习率,brta_1=0.9, beta_2=0.999)
Loss可选:
‘mse’ or tf.keras.losses.MeanSquaredError()
‘sparse_categorical_crossentropy’ or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False) from_logits=是否是原始概率分布,若经过softmax分类,为false
Metrics可选:
‘accuracy’: y_和y都是数值,y_=[1] y=[1]
‘categorical_accuracy’: y_和y都是独热码(概率分布),如y_=[0,1,0] y=[0.2,0.6,0.2]
‘sparse_categorical_accuracy’: y_是数值,y是独热码(概率分布),如y_=[1] y=[0.2,0.6,0.2]
3.Model.fit(训练集的输入特征,训练集的标签,batch_size=每次喂入数据网络的数据集,epochs=迭代多少次数据集,validation_data=(测试集的输入特征,测试集的标签),validation_split=从训练集中划分多少比例给测试集,validation_freq=多少次epoch测试一次)