六步法:
import
train test
model = tf.keras.models.Sequential
model.compile
model.fit
model.summary
model = tf.keras.models.Sequential([网络结构]) #描述各层网络
举例:
拉直层:tf.keras.layers.Flatten()
全连接层:tf.keras.layers.Dense(神经元个数,activation = "激活函数",kernel_regularizer = 哪种正则化)kera
activation可选:relu,softmax,sigmoid,tanh)
kernel_regularizer可选tf.keras.regualrizers.l1()、tf.keras.regularizers.l2()
卷基层:tf.keras.layers.Conv2D(filters = 卷积核个数,kernel_size = 卷积核尺寸,strides = 卷积步长,padding = "valid"or"same")
LSTM层:tf.keras.layers.LSTM()
model.compile(optimizer = 优化器,loss = 损失函数,metrics = ["准确率"])
optimizer可选:Optimizer可选:
‘sgd’ or tf.keras.optimizers.SGD (lr=学习率,momentum=动量参数)
‘adagrad’ or tf.keras.optimizers.Adagrad (lr=学习率)
‘adadelta’ or tf.keras.optimizers.Adadelta (lr=学习率)
‘adam’ or tf.keras.optimizers.Adam (lr=学习率, beta_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)
Metrics可选:
‘accuracy’ :y_和y都是数值,如y_=[1]
y=[1]
‘categorical_accuracy’ :y_和y都是独热码(概率分布),如y_=[0,1,0] y=[0.256,0.695,0.048]
‘sparse_categorical_accuracy’ :y_是数值,y是独热码(概率分布),如y_=[1] y=[0.256,0.695,0.048]
model.fit (训练集的输入特征, 训练集的标签,
batch_size= ,
epochs= ,
validation_data=(测试集的输入特征,测试集的标签),
validation_split=从训练集划分多少比例给测试集,
validation_freq = 多少次epoch测试一次)
model.summary() #可以打印出网络的结构和参数统计