2017-01-10 2 views
1

Я хочу экспортировать графический граф TensorFlow в XML или что-то подобное, поэтому я могу изменить его с помощью внешней программы и затем повторно импортировать. Я нашел Meta Graph, но это экспортируется в двоичном формате, который я не знаю, как изменить.TensorFlow экспортировать вычислительный граф в XML, JSON и т. Д.

Существует ли такая возможность?

ответ

3

Нативный формат сериализации для графика потоков данных TensorFlow использует protocol buffers, которые имеют привязки на разных языках. Вы можете сгенерировать код, который должен иметь возможность анализировать двоичные данные из двух схем сообщений: tensorflow.GraphDef (представление более низкого уровня) и tensorflow.MetaGraphDef (представление более высокого уровня, которое содержит GraphDef и другую информацию о том, как интерпретировать некоторые из узлов на графике).

Если для вашего целевого языка не существует реализации буфера протокола, вы можете сгенерировать JSON из объекта буфера протокола Python. Например, следующий генерирует строку, содержащую представление JSON из в GraphDef:

import tensorflow as tf 
from google.protobuf import json_format 

with tf.Graph().as_default() as graph: 
    # Add nodes to the graph... 

graph_def = graph.as_graph_def() 

json_string = json_format.MessageToJson(graph_def) 
+0

Не работает для меня, если я не сделал «с tf.Graph() as_default() в графе:» –

+0

Спасибо за коррекция! Я обновил ответ, чтобы его отразить. – mrry

+0

Можете ли вы вернуться назад? JSON в Protobuf? –

Смежные вопросы