2022-02-27
整个过程可以分为五个步骤:
1 创建模型,2 添加所需的神经层,3 使用 .方法来确定模型训练结构,4使用.拟合方法
将模型“拟合”到训练数据,5. 方法进行预测。
1.建立模型
导入模块并在keras中使用模型
import tensorflow as tf model = tf.keras.Sequential()
keras.()模型是顺序堆叠模型,需要的神经层可以依次添加到模型中
2.添加神经层
使用model.add()方法将需要的神经层添加到已建立的模型中
首先是输入层
1 model.add(tf.keras.layers.Flatten(input_shape = (28, 28)))#输入的数据为 28*28的二维数据
是常用的输入层,可以将输入的多维数据扩展为一维,方便输入到神经网络中。
参数是作为元组的输入数据的维度。
然后就是添加中间层,这里只介绍几个简单的中间层。
Dense:全连接神经网络层。
:对于神经网络单元,以一定的概率暂时将其从网络中丢弃。
1 model.add(tf.keras.layers.Dense(128, activation = "relu")) 2 model.add(tf.keras.layers.Dropout(0.5))
Dense 中的第一个参数只是隐藏单元的数量。隐藏单元越多,神经网络就越复杂。参数为Dense层的激活函数。
就是按照一定的概率随机丢弃一些隐藏单元,避免隐藏单元之间过度依赖导致的过拟合。该层可以有效地抑制过拟合。参数是随机丢弃隐藏单元的概率。
最后一步是添加分类器。
分类器也是一个中间层,激活函数选择一些函数进行分类。
是常用的分类器。
1 model.add(keras.layers.Dense(10, activation='softmax'))
这里添加了一个分类器,第一个参数是分类的类别,是一个10类分类器。
3.使用.()方法确定模型训练过程
1 model.compile(optimizer = 'adam', #梯度下降 2 loss = 'sparse_categorical_crossentropy', #损失函数 3 metrics = ['acc'] #正确率 4 )
参数是选择模型梯度下降的传输优化器实例。您还可以通过以下方式在优化器中自定义学习率。
1 optimizer = tf.keras.optimizers.Adam(learning_rate = 0.001)
损失参数是选择计算模型误差的损失函数。常见的是均方误差 ‘mse’ 和 ”。
对于监控训练,它们是 tf.keras 中的字符串名称或可调用对象。模块。
4.使用.fit()方法训练模型
model.fit(train_image, train_label, epochs = 10,batch_size = 32, validation_data = (test_image, test_label) #显示测试集在训练中的测试情况 )
前两个参数是训练数据和数据的标签。
是迭代次数,即对这些数据重复训练的次数。
每次迭代的数据输入量。
监控迭代期间对验证集的影响。
5.评估和预测
1 model.evaluate(test_image, test_label)
使用 .() 方法评估测试集。
1 model.predict(test_image[0])
使用 .() 方法预测数据并返回预测结果。
分类:
技术要点:
相关文章:
暂无评论内容