使用 Tensorflow 代理进行 TensorBoard GPU 分析
TensorBoard GPU profiling with Tensorflow Agents
我想在 tensorflow/agents, but I cannot figure out how. Specifically I am trying to profile my GPU when running this example 训练代理时分析我的 GPU 使用情况。
似乎 TensorBoard 分析器需要像这样使用 TensorBoard 回调:
# Create a TensorBoard callback
logs = "logs/" + datetime.now().strftime("%Y%m%d-%H%M%S")
tboard_callback = tf.keras.callbacks.TensorBoard(log_dir = logs,
histogram_freq = 1,
profile_batch = '500,520')
model.fit(ds_train,
epochs=2,
validation_data=ds_test,
callbacks = [tboard_callback])
然而,在训练 TF 代理时没有 fit
方法被调用。他们使用不接受 callbacks
参数的 train
方法进行训练,可见 here.
在从 Tensorflow Agents 库训练代理时,是否有其他方法让 TensorBoard 分析器工作?
您可以使用 tf.profiler
模块,这是 TensorBoard 回调所做的 under the hood。
您链接的代理示例使用自定义训练循环,一种可能是这样使用探查器:
# to customize based on the number of steps you want to profile
start_profiling_step = 50
stop_profiling_step = 100
profiling_log_dir = "./profile_logs"
while global_step_val < num_iterations:
# rest of the training code
# ...
if global_step_val == start_profiling_step:
tf.profiler.experimental.start(logdir=profiling_log_dir)
if global_step_val == stop_profiling_step:
tf.profiler.experimental.stop(save=True)
您可以查看 documentation of the tf.profiler
module 了解更多信息。
我想在 tensorflow/agents, but I cannot figure out how. Specifically I am trying to profile my GPU when running this example 训练代理时分析我的 GPU 使用情况。
似乎 TensorBoard 分析器需要像这样使用 TensorBoard 回调:
# Create a TensorBoard callback
logs = "logs/" + datetime.now().strftime("%Y%m%d-%H%M%S")
tboard_callback = tf.keras.callbacks.TensorBoard(log_dir = logs,
histogram_freq = 1,
profile_batch = '500,520')
model.fit(ds_train,
epochs=2,
validation_data=ds_test,
callbacks = [tboard_callback])
然而,在训练 TF 代理时没有 fit
方法被调用。他们使用不接受 callbacks
参数的 train
方法进行训练,可见 here.
在从 Tensorflow Agents 库训练代理时,是否有其他方法让 TensorBoard 分析器工作?
您可以使用 tf.profiler
模块,这是 TensorBoard 回调所做的 under the hood。
您链接的代理示例使用自定义训练循环,一种可能是这样使用探查器:
# to customize based on the number of steps you want to profile
start_profiling_step = 50
stop_profiling_step = 100
profiling_log_dir = "./profile_logs"
while global_step_val < num_iterations:
# rest of the training code
# ...
if global_step_val == start_profiling_step:
tf.profiler.experimental.start(logdir=profiling_log_dir)
if global_step_val == stop_profiling_step:
tf.profiler.experimental.stop(save=True)
您可以查看 documentation of the tf.profiler
module 了解更多信息。