TypeError: объект 'module' не может быть вызван Tensorboard в Keras - PullRequest
1 голос
/ 29 сентября 2019

Я использую агент 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')

На этапе обучения я звоню тензорной доске:

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

1 Ответ

2 голосов
/ 08 октября 2019

TypeError: объект 'module' не вызывается в вашем случае из-за временного модуля

Я предполагаю, что вы импортировали модуль времени как

import time

и вызвал функцию time ()

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

Это можно легко решить, импортировав:

from time import time
...