Python 如何使用tf.keras获得每个列车步骤的详细运行时间?

Python 如何使用tf.keras获得每个列车步骤的详细运行时间?,python,tensorflow,keras,tensorflow2.0,Python,Tensorflow,Keras,Tensorflow2.0,培训时,如何通过tf.keras获得每个培训步骤的详细运行时间??虽然我知道在model.fit()中添加回调可以返回历元时间,但我需要知道: 预测时间 损失计算时间 渐变时间 渐变应用时间 更新时间 我们使用自定义训练循环执行上述操作,如下所示: def系列步骤(输入): 图像、标签=输入 使用tf.GradientTape()作为磁带: 预测=模型(图像,训练=真) 损失=计算损失(标签、预测) 梯度=磁带梯度(损失、模型、可训练的变量) 优化器。应用_梯度(zip(梯度、模型、可训练的_变

培训时,如何通过tf.keras获得每个培训步骤的详细运行时间??虽然我知道在model.fit()中添加回调可以返回历元时间,但我需要知道: 预测时间 损失计算时间 渐变时间 渐变应用时间 更新时间 我们使用自定义训练循环执行上述操作,如下所示:

def系列步骤(输入):
图像、标签=输入
使用tf.GradientTape()作为磁带:
预测=模型(图像,训练=真)
损失=计算损失(标签、预测)
梯度=磁带梯度(损失、模型、可训练的变量)
优化器。应用_梯度(zip(梯度、模型、可训练的_变量))
列车精度。更新列车状态(标签、预测)
回波损耗

使用
Tensorflow
提供的
Profiler
功能可以满足您的要求

可以使用
Tensorflow Profiler
捕获
培训步骤中每个操作的统计信息,并在
Tensorboard
配置文件
选项卡中可视化

由于您有兴趣了解培训期间发生的不同操作的执行时间,因此可以在
探查器
tensorflow_stats
下拉列表中可视化,如下面的屏幕截图所示

使用
Tensorboard
中的
Profiler
可以可视化的示例操作屏幕截图(64个屏幕截图中只有17个可见)如下所示:

有关此功能的更多信息,
Tensorflow Profiler
,请参阅,以及此


希望这有帮助。快乐学习

使用
Tensorflow
提供的
Profiler
功能可以满足您的要求

可以使用
Tensorflow Profiler
捕获
培训步骤中每个操作的统计信息,并在
Tensorboard
配置文件
选项卡中可视化

由于您有兴趣了解培训期间发生的不同操作的执行时间,因此可以在
探查器
tensorflow_stats
下拉列表中可视化,如下面的屏幕截图所示

使用
Tensorboard
中的
Profiler
可以可视化的示例操作屏幕截图(64个屏幕截图中只有17个可见)如下所示:

有关此功能的更多信息,
Tensorflow Profiler
,请参阅,以及此


希望这有帮助。快乐学习

您可以通过回调获得损失和指标。你不能得到任何执行时间。但是您可以为“批处理执行时间”(不低于此值)编写回调。您可以通过回调获得损失和指标。你不能得到任何执行时间。但是您可以为“批处理执行时间”(不低于此值)编写回调。