나는보고에 대한 tensorboard에서로드 할 .pb 또 그래프를 덤프하기 위해 간단한 스크립트를 사용하고 있습니다 :Tensorflow 그래프 변환 도구 quantize_nodes는 존재하지 않는 "모자"노드 이름을 참조합니까?
당신이 변환 그래프를 사용하는 경우이 그래프에서 발생하는 시각화하는 훌륭한 작품을import sys
import os
import os.path
import tensorflow as tf
from tensorflow.python.platform import gfile
model_filename = sys.argv[1]
output_dirname = sys.argv[2]
if not os.path.exists(output_dirname):
os.makedirs(output_dirname)
with tf.Session() as sess:
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.summary.FileWriter(output_dirname, tf.get_default_graph())
writer.close()
최소 1.2 TF까지 나는 최근 마스터를했을 때, 나는 (예를 들어, 그래프로 https://storage.googleapis.com/download.tensorflow.org/models/inception_dec_2015.zip를 사용하여) 다음과 같은 문제가 얻을 : Tensorflow 1.2에
bazel-bin/tensorflow/tools/graph_transforms/transform_graph \
--in_graph=tensorflow_inception_graph.pb \
--out_graph=inception_v3_quantized.pb \
--inputs="Mul" \
--outputs='softmax' \
--transforms='add_default_attributes
strip_unused_nodes(type=float, shape="1,299,299,3")
remove_nodes(op=Identity, op=CheckNumerics)
fold_constants(ignore_errors=true)
fold_batch_norms
fold_old_batch_norms
quantize_weights
quantize_nodes
strip_unused_nodes
sort_by_execution_order'
python dump_for_tensorboard.py inception_v3_quantized.pb /tmp/dump_logdir
을 이전이 잘 작동합니다. 내가 tensorboard에서 가리킬 수있는 디렉토리를 얻을. 그러나 주인에 나는 이것을 얻는다 :
2017-12-11 15:56:39.159333: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
Traceback (most recent call last):
File "../dump_for_tensorboard.py", line 16, in <module>
_ = tf.import_graph_def(graph_def, name='')
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/importer.py", line 369, in import_graph_def
'Control input %r not found in graph_def.' % (input_name,)))
ValueError: graph_def is invalid at node u'conv/Conv2D_eightbit/Mul__port__0/reshape_dims': Control input '^Mul:0' not found in graph_def..
이것은 또한 그래프 변형 도구를 사용한 후에 사용하는 다른 스크립트에서 발생합니다.
이것은 그래프의 시작 부분이기 때문에 입력 노드와 관련이 있는지 또는 그래프의 다른 노드에도이를 가져올 지 여부는 확실하지 않습니다.
이전 버전의 tensorflow에서는 1.2 분기와 마찬가지로이 스크립트가 정상적으로 작동합니다.
커밋 d0a5d885와 관련 될 수 있습니다 (노드 이름 앞에 "^"가 삽입 됨). 그러나 이는 상당히 큰 병합 커밋입니다.