Настроенный tf.keras.keras.callbacks.TensorBoard не работает хорошо в версии tenorflow> = 1.15.0 - PullRequest
0 голосов
/ 31 марта 2020

Следующий настроенный TensorBoard, клонированный из этого репозитория github , нацеленный на сохранение скорости обучения и так называемого веса KL в конце каждой партии, очень хорошо работает в версии tenorflow <= 1.12.0 , но не делает то, что должен в каждой партии в версии> = 1.15.0. Как я могу это исправить?

class TensorBoardLR(TensorBoard):
    """ A modification to the Tensorboard callback to also include the scalars of learning rate and KL weight"""
    def __init__(self, *args, **kwargs):
        self.kl_weight = kwargs.pop('kl_weight')
        super().__init__(*args, **kwargs)
        self.count = 0

    def on_batch_end(self, batch, logs=None):
        logs.update({'lr': K.eval(self.model.optimizer.lr),
                     'kl_weight': K.eval(self.kl_weight)})
        super().on_batch_end(batch, logs)

1 Ответ

1 голос
/ 31 марта 2020

Измените название вашего метода с on_batch_end на on_train_batch_end.

Они сохранили метод для унаследованного кода, https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/callbacks/Callback Это также разница между keras и tenorflow.keras.

...