本文主要是介绍【Keras】训练的流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
这里以Sequential为例
声明
堆叠模型
compile配置学习状态
训练迭代
模型评估
模型预测(这步是不需要compile那步操作的)
这里以Sequential为例
声明
Sequential
模型如下所示:
from keras.models import Sequentialmodel = Sequential()
堆叠模型
可以简单地使用 .add()
来堆叠模型:
from keras.layers import Densemodel.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
compile配置学习状态
在完成了模型的构建后, 可以使用 .compile()
来配置学习过程:
model.compile(loss='categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])
如果需要,你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
训练迭代
现在,你可以批量地在训练数据上进行迭代了:
# x_train 和 y_train 是 Numpy 数组 -- 就像在 Scikit-Learn API 中一样。
model.fit(x_train, y_train, epochs=5, batch_size=32)
或者,你可以手动地将批次的数据提供给模型:
model.train_on_batch(x_batch, y_batch)
模型评估
只需一行代码就能评估模型性能:
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
模型预测(这步是不需要compile那步操作的)
或者对新的数据生成预测:
classes = model.predict(x_test, batch_size=128)
这篇关于【Keras】训练的流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!