gpt4 book ai didi

performance - 如何将准确度绘制为 Keras 中处理时间的函数?

转载 作者:行者123 更新时间:2023-12-04 02:58:59 26 4
gpt4 key购买 nike

我一直在用 Keras 训练一个 CNN,并将训练和验证准确度绘制为 epoch 的函数。我想知道是否有一种方法可以将准确性绘制为处理时间的函数。

原因是我想展示迁移学习的速度,而不是重新训练一个完整的网络。当使用迁移学习时,网络需要相似数量的 epoch 来训练、给予或接受,但每个 epoch 花费的时间要少得多(快一个数量级),我想以图形方式捕捉这一点。

这是我迄今为止一直在使用的代码:

history = model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch, verbose=1, validation_data=(X_test, Y_test))

print(history.history.keys())
# summarize history for accuracy
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='lower right')
plt.show()

最佳答案

因此,在 Keras 中实现一段代码来执行您的任务实际上非常简单。为了做到这一点 - 最好熟悉 keras.callback .可以在以下位置调用自定义函数:
on_epoch_begin : 在每个纪元开始时调用。
on_epoch_end : 在每个纪元结束时调用,
on_batch_begin : 在每批开始时调用,
on_batch_end : 在每批结束时调用,
on_train_begin :在模型训练开始时调用,
on_train_end : 在模型训练结束时调用。

所以现在你可以实现例如一个新的回调,它将:

  • 注册开始训练时间 on_train_begin ,
  • 在每个时期结束时,它将使用 on_epoch_end 注册计算结束的实际时间。在 dict提供,
  • 注册培训结束on_train_end .

  • 通过使用此回调收集的数据,您可以轻松地以多种方式呈现时间和准确性之间的依赖关系。当然 - 它可以很容易地扩展到 batch/iterations时间段。

    关于performance - 如何将准确度绘制为 Keras 中处理时间的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818043/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com