Tensorboard回调未写入训练指标

问题描述 投票:0回答:1

[当模型花费足够长的时间来推断时(即足够的参数和足够大的数据),并且当profile_batch启用时,TensorBoard回调无法将训练指标写入日志事件(至少它们没有在Tensorboard中可见)。

这是用于获取该故障的代码:


import os.path as op
import time

import numpy as np
from tensorflow.keras.callbacks import TensorBoard
from tensorflow.keras.layers import Conv2D, Input
from tensorflow.keras.models import Model

size = 512
im = Input((size, size, 1))
im_conv = Conv2D(512, 3, padding='same', activation='relu')(im)
im_conv = Conv2D(1, 3, padding='same', activation='linear')(im_conv)
model = Model(im, im_conv)
model.compile(loss='mse', optimizer='adam', metrics=['mae'])

data = np.random.rand(1, size, size, 1)

run_id = f'{int(time.time())}'
log_dir = op.join('logs', run_id)
tboard_cback = TensorBoard(
    log_dir=log_dir, 
    histogram_freq=0, 
    write_graph=False, 
    write_images=False, 
    profile_batch=2,
)

model.fit(
    x=data, 
    y=data, 
    validation_data=[data, data], 
    callbacks=[tboard_cback,], 
    epochs=100, 
    verbose=0,
);

这是Tensorboard,即我拥有的tensorboard_viz

我使用此回调的方式有问题吗?

我在GPU上使用Python 3.6.8,tensorflow 2.0.0(但在CPU上的行为是相同的。)>

[当模型花费足够长的时间来推断时(即,足够的参数和足够大的数据),并且当profile_batch打开时,TensorBoard回调无法将训练指标写入日志中……

python tensorflow keras callback tf.keras
1个回答
0
投票

因此,显然是由于在回调中完成了分析。我们可以通过profile_batch=0禁用它。该问题仍在继续,请在此处关注:https://github.com/tensorflow/tensorboard/issues/2084

© www.soinside.com 2019 - 2024. All rights reserved.