使用 keras fit_generator、'Function' 的 Tensorboard 回调没有属性 'fetch_callbacks'
Tensorboard callback with keras fit_generator, 'Function' has no attribute 'fetch_callbacks'
我正在尝试 运行 使用 keras 的 fit_generator
和 tensorboard_callback
的模型来分析特定时期。我正在 运行 为生成器编写以下代码:
def gen(source):
loopable = iter(source)
for batch in loopable:
yield (batch[0], batch[1])
在主训练脚本中,我正在实例化生成器并将模型与张量板回调一起使用,如下所示:
train_gen = gen(train_datasource)
log_dir="logs/profile/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1, profile_batch = 3)
m.fit_generator(train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=32, callbacks=[tensorboard_callback])
我面临的主要问题是训练总是因错误 'Function' has no attribute 'fetch_callbacks'
而停止,堆栈跟踪如下:
m.fit_generator(train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=32, callbacks=[tensorboard_callback])
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1418, in fit_generator
initial_epoch=initial_epoch)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training_generator.py", line 177, in fit_generator
callbacks.on_epoch_begin(epoch)
File "/usr/local/lib/python2.7/dist-packages/keras/callbacks.py", line 65, in on_epoch_begin
callback.on_epoch_begin(epoch, logs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/keras/callbacks_v1.py", line 386, in on_epoch_begin
self.merged] = self._fetch_callback
AttributeError: 'Function' object has no attribute 'fetch_callbacks'
我正在使用 tensorflow 1.15 也尝试降级到 1.14 但仍然没有成功。我正在尝试使用张量板回调进行训练,以调试除第一个时期以外的特定时期的性能。但到目前为止,我的尝试未能使回调函数正常运行。我确保 GPU 是 运行ning 并且也被正确检测到。
如有任何帮助,我们将不胜感激。
我最终使用 tf.keras
拟合函数而不是拟合生成器,它按预期正常工作:
m.fit(x=train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=8, callbacks=[tensorboard_callback])
我正在尝试 运行 使用 keras 的 fit_generator
和 tensorboard_callback
的模型来分析特定时期。我正在 运行 为生成器编写以下代码:
def gen(source):
loopable = iter(source)
for batch in loopable:
yield (batch[0], batch[1])
在主训练脚本中,我正在实例化生成器并将模型与张量板回调一起使用,如下所示:
train_gen = gen(train_datasource)
log_dir="logs/profile/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1, profile_batch = 3)
m.fit_generator(train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=32, callbacks=[tensorboard_callback])
我面临的主要问题是训练总是因错误 'Function' has no attribute 'fetch_callbacks'
而停止,堆栈跟踪如下:
m.fit_generator(train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=32, callbacks=[tensorboard_callback])
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1418, in fit_generator
initial_epoch=initial_epoch)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training_generator.py", line 177, in fit_generator
callbacks.on_epoch_begin(epoch)
File "/usr/local/lib/python2.7/dist-packages/keras/callbacks.py", line 65, in on_epoch_begin
callback.on_epoch_begin(epoch, logs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/keras/callbacks_v1.py", line 386, in on_epoch_begin
self.merged] = self._fetch_callback
AttributeError: 'Function' object has no attribute 'fetch_callbacks'
我正在使用 tensorflow 1.15 也尝试降级到 1.14 但仍然没有成功。我正在尝试使用张量板回调进行训练,以调试除第一个时期以外的特定时期的性能。但到目前为止,我的尝试未能使回调函数正常运行。我确保 GPU 是 运行ning 并且也被正确检测到。
如有任何帮助,我们将不胜感激。
我最终使用 tf.keras
拟合函数而不是拟合生成器,它按预期正常工作:
m.fit(x=train_gen, epochs=5, steps_per_epoch=500, use_multiprocessing=True, workers=8, callbacks=[tensorboard_callback])