Как отобразить память для каждого узла в TensorBoard?

В другом вопросе кто-то показал скриншот своего TensorBoard, показывающий использование памяти на узел:

введите описание изображения здесь

Я никогда не видел их в своих экспериментах с Tensorboard. Все, что я делаю, это звоню

writer = tf.summary.FileWriter('/tmp/tensorboard', sess.graph)

после sess.run(). Возможно, есть какие-то «резюме», которые мне нужно добавить для записи использования памяти?


person bobcat    schedule 31.05.2017    source источник


Ответы (3)


Следуя инструкции здесь, вы, возможно, действительно написали все необходимые строки для памяти и времени для будет отображаться, но вам также необходимо изменить раскрывающийся список «Сеансы» в графическом интерфейсе tensorboard со значения по умолчанию «Нет» на любой из вариантов. В противном случае они скрыты. См. рисунок:

введите здесь описание изображения

По крайней мере, это то, что мне нужно было сделать, чтобы отобразить их - предыдущие ответы сработали для меня, но мне нужно было изменить раскрывающийся список.

person NeStack    schedule 09.11.2018
comment
Я собираюсь принять, при условии возможной проверки в будущем. - person bobcat; 11.11.2018

Вам нужно добавить немного RunOptions к вашему session прогону в сводку, как описано в этом документе (время выполнения раздел статистики).

Вот кусок кода, который позволяет это сделать:

merged = tf.summary.merge_all()
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
summary, _ = sess.run([merged, train_step],
                              feed_dict=...,
                              options=run_options,
                              run_metadata=run_metadata)
writer.add_run_metadata(run_metadata, 'step%d' % i)
writer.add_summary(summary, i)
person pfm    schedule 31.05.2017
comment
... а сколько всего этого надо? Возможно, options=tf.RunOptions(...) достаточно? и т.п. - person bobcat; 31.05.2017
comment
Когда я пробую приведенный выше код, merged == None, который вызывает проблемы в sess.run - person bobcat; 01.06.2017
comment
Вероятно, это означает, что вы не определили сводку в своем коде. Вероятно, вы действительно можете удалить объединенную/сводную часть и оставить только: _ = sess.run(train_step, feed_dict=..., options=run_options, run_metadata=run_metadata) writer.add_run_metadata(run_metadata, 'step%d' % i) - person pfm; 01.06.2017
comment
Нет (также столкнулся с другими очевидными ошибками в TF) - person bobcat; 13.06.2017

Чтобы получить информацию о времени и памяти в tensorboard, я делаю это

run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()


with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
    file_writer = tf.summary.FileWriter('<path>', sess.graph)

    for (run_iteration...)
       ... = sess.run(....,
                options=run_options, 
                run_metadata=run_metadata
        )

        file_writer.add_run_metadata(
          run_metadata,"run%d" %(run_iteration,),run_iteration)
person dwjbosman    schedule 10.12.2017