目录
引言:keras与Tensorflow2.0结合
一、六步法
1.导入头文件:import
2.收集处理训练集和测试集:train, test:
3.描述各层网model = tf.keras.models.Sequential:
4.描述使用什么优化反向传播:model.compile
5.训练数据填入:model.fit
6.打印数据:model.summary
二、Sequential()
函数使用
过程1:拉直层
过程2:全连接层
过程3:卷积层
过程4:LSTM层
三、compile()
函数使用
Optimizer可选
loss可选
Metrics可选
四、fit()
函数使用
五、model.summary()
总结:
model = tf.keras.models.Sequential ([ 网络结构 ])
tf.keras.layers.Flatten( )
tf.keras.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")
tf.keras.layers.LSTM()
model.compile(optimizer = 优化器, loss = 损失函数 metrics = [“准确率”] )
‘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)
‘mse’ or tf.keras.losses.MeanSquaredError()
tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)
‘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测试一次)