【问题标题】:TypeError: 'module' object is not callable Tensorboard in KerasTypeError:“模块”对象在 Keras 中不可调用 Tensorboard
【发布时间】:2019-09-29 14:58:58
【问题描述】:

我正在使用策略梯度方法实现 RL 代理。我为演员定义了一个密集网络,为评论家定义了另一个密集网络。例如,我的批评者网络是:

state_input = Input(shape=(self.num_states,))
x = Dense(self.hidden_size, activation='tanh')(state_input)
for _ in range(self.num_layers - 1):
    x = Dense(self.hidden_size, activation='tanh')(x)

out_value = Dense(1)(x)

model = Model(inputs=[state_input], outputs=[out_value])
model.compile(optimizer=SGD(lr=self.learning_rate), loss='mse')

在训练阶段,我正在调用 tensorboard:

from keras.callbacks import TensorBoard

tensorboard = TensorBoard(log_dir="/logs/{}".format(time()), 
                          histogram_freq=1, batch_size=32, 
                          write_graph=True, write_grads=True,
                          write_images=True, embeddings_freq=0, 
                          embeddings_layer_names=None, 
                          embeddings_metadata=None, 
                          embeddings_data=None, update_freq='epoch')

critic_loss = self.critic.fit([obs, advantage, old_prediction], [action], 
                                 batch_size=self.batch_size,
                                 shuffle=True, epochs=self.epochs, verbose=False,
                                 callbacks=[tensorboard_actor])

但是我收到了这个错误:

TypeError: 'module' object is not callable

【问题讨论】:

  • 我编辑帖子并添加我的导入。另外,我采纳了你的建议,但得到了这个错误:AttributeError: type object 'TensorBoard' has no attribute 'TensorBoard'

标签: python tensorflow keras tensorboard keras-rl


【解决方案1】:

TypeError: 'module' 对象不可调用 在你的情况下是由 时间 模块

我假设您将时间模块导入为

import time

并调用函数time()

tensorboard = TensorBoard(log_dir="/logs/{}".format(time())

通过导入即可轻松解决:

from time import time

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 2017-06-17
    • 2014-09-21
    • 2011-05-30
    • 2021-11-22
    相关资源
    最近更新 更多