Невозможно визуализировать модель Inception v3 в TensorBoard с помощью TensorFlow 0.7.1.

Я пытаюсь визуализировать модель Google Inception v3 с помощью TensorBoard в TensorFlow 0.7.1 и не могу этого сделать. Вкладка TensorBoard Graph отображается с заявлением

Данные: Чтение graph.pbtxt

Данные: Чтение graph.pbtxt

Я скачал un-Tarred начальную модель v3. Графический протобуфер находится в /tmp/imagenet/classify_image_graph_def.pb,

Вот мой код для дампа модели:

import os
import os.path
import tensorflow as tf
from tensorflow.python.platform import gfile

INCEPTION_LOG_DIR = '/tmp/inception_v3_log'

if not os.path.exists(INCEPTION_LOG_DIR):
    os.makedirs(INCEPTION_LOG_DIR)
with tf.Session() as sess:
    model_filename = '/tmp/imagenet/classify_image_graph_def.pb'
    with gfile.FastGFile(model_filename, 'rb') as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
        _ = tf.import_graph_def(graph_def, name='')
    writer = tf.train.SummaryWriter(INCEPTION_LOG_DIR, graph_def)
    writer.close()

Это дамп файла 91 МБ под названием events.out.tfevents.1456423256.[hostname] (того же размера, что и протобуфер графа), поэтому кажется, что граф где-то там.

Я запустил TensorBoard следующим образом:

tensorboard --logdir /tmp/inception_v3_log

Что приводит к вышеупомянутой зависшей панели загрузки на странице графика.

Консоль Chrome JavaScript выдает эту ошибку:

Uncaught TypeError: Невозможно прочитать свойство '0' из неопределенного

что я предполагаю, связано с тем, что граф отсутствует.

Я пробовал это с Chrome 48.0.2564.116 (64-разрядная версия) на OS X 10.11.3 и с TensorFlow 0.7.1 для Python 3, построенным с использованием Bazel, и TensorFlow 0.7.1 для Python 2, установленным через pip с точно такими же результатами.

Я также проверил, что могу визуализировать график, сгенерированный на примере mnist_with_summaries, так что это проблема именно с моделью Inception.

2 ответа

Используйте этот код: это работает для меня:

import tensorflow as tf
from tensorflow.python.platform import gfile
with tf.Session() as sess:
    model_filename ='YouGraphNameWithPath.pb'
    with gfile.FastGFile(model_filename, 'rb') as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
        g_in = tf.import_graph_def(graph_def)
LOGDIR='PathWhereSummaryWillBeSaved'
train_writer = tf.summary.FileWriter(LOGDIR)
train_writer.add_graph(sess.graph)

Daniel,

Я не знаю о том, что вы упоминаете о протобуфере, но я думаю, что вы, возможно, захотите удалить protobuf и переустановить tenorflow.

После моего обновления (в Ubuntu) с tenorflow v0.6 до v0.7.1 я обнаружил следующий пост, когда у меня возникли проблемы с запуском тензорной доски.

Я думаю, что была проблема с protobuf. Об этом говорили здесь: https://github.com/tensorflow/tensorflow/issues/1134

Я закончил тем, что удалил protobuf и переустановил тензорную доску. Теперь я могу запустить доску и просмотреть мой график. Удачи!:)

дон

Другие вопросы по тегам