Tensorflow 2, отображающий историограмму весов - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь отобразить гистограмму всех сетевых весов (CNN) в каждую эпоху в тензорной доске, используя lambdacallbacks тензорного потока 2 следующим образом:

def log_hist_weights(model,writer):
    model = model
    writer = writer

    def log_hist_weights(epoch, logs):
        # predict images
        Ws = model.get_weights()
        with writer.as_default():
            tf.summary.histogram("epoch: " + str(epoch), Ws)
    return log_hist_weights

hist_callback = keras.callbacks.LambdaCallback(on_epoch_end=log_hist_weights(baseline_model, file_writer))

Но проблема в том, что функция " get_weights " возвращает все весовые коэффициенты netowrk без какого-либо имени (например, весовые коэффициенты фильтра, весовые коэффициенты пакетной нормализации и другие элементы), но на самом деле меня интересует только CNN-фильтр веса.

Было бы здорово, если бы я мог реализовать что-то вроде этого в TF2.

Как можно отобразить историограмму весов фильтра, используя TF?

Спасибо

1 Ответ

0 голосов
/ 10 июля 2019

Для тех, у кого есть такая же проблема, вот как я, наконец, решил ее с помощью Tensorflow 2:

def log_hist_weights(model,writer):
    model = model
    writer = writer

    def log_hist(epoch, logs):
        # predict images
        with writer.as_default():
            for tf_var in baseline_model.trainable_weights:
                    tf.summary.histogram(tf_var.name, tf_var.numpy(), step=epoch)
    return log_hist

    hist_callback = keras.callbacks.LambdaCallback(on_epoch_end=log_hist_weights(baseline_model, file_writer))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...