TensorBoard(2)训练指标

【摘要】 机器学习涉及评估模型的指标,例如损失(loss)、准确度等,以及它们如何随着训练的进行而变化。

前言

机器学习涉及评估模型的指标,例如损失(loss)、准确度等,以及它们如何随着训练的进行而变化。

例如,这些指标可以帮助我们了解模型是否过拟合,或者是否不必要地训练太长时间。我们可以比较不同训练中的这些指标,以帮助调试和改善模型。

一、TensorBoard的Scalars

在TensorBoard的Scalars中,能使用简单的API来可视化这些指标。帮助我们在开发Keras模型时学习如何在TensorBoard中使用这些API。

在训练模型中,通过日志记录关键指标的信息;model.fit()有回调函数的接口,我们先创建一个TensorBoard回调函数,然后传递给model.fit()就可以了。

1. 1 实现流程

  1. 创建Keras的TensorBoard回调函数
  2. 回调函数中指定日志目录
  3. 将TensorBoard回调函数 传递给 Keras Model.fit()
# 日志目录
logdir = "logs/scalars/" + datetime.now().strftime("%Y%m%d-%H%M%S")

# 创建TensorBoard 回调传递,并指定日志路径
tensorboard_callback = keras.callbacks.TensorBoard(log_dir=logdir)

model = keras.models.Sequential([
    keras.layers.Dense(16, input_dim=1),
    keras.layers.Dense(1),
])

model.compile(
    loss='mse', # keras.losses.mean_squared_error
    optimizer=keras.optimizers.SGD(lr=0.2),
)

print("Training ... With default parameters, this takes less than 10 seconds.")
training_history = model.fit(
    x_train, # input
    y_train, # output
    batch_size=train_size,
    verbose=0, # Suppress chatty output; use Tensorboard instead
    epochs=100,
    validation_data=(x_test, y_test),
    callbacks=[tensorboard_callback],  # 将TensorBoard回调传递给Model.fit().
)

print("Average test loss: ", np.average(training_history.history['loss']))

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享