モデルのウェイト/バイアスを取得するためにfreeze_graph関数を使用しようとしましたが、その過程で、私の開始ネットワークに変数がないようです、画像を正しく分類することができるにもかかわらず。次のように私のコードは次のとおりです。ValueError:Tensorflowチェックポイントを保存するときに保存する変数がありません
#!/usr/bin/python
import tensorflow as tf
import numpy as np
def outputCheckpoint(sess):
with sess.as_default():
print("Saving to checkpoint")
saver = tf.train.Saver()
# Fails on this line: 'ValueError: No variables to save'
saver.save(sess, '/path/to/tensorflow/graph_saver/save_checkpoint')
def main():
with tf.device('/cpu:0'):
with open("tensorflow_inception_graph.pb", mode='rb') as f:
fileContent = f.read()
graph_def = tf.GraphDef()
graph_def.ParseFromString(fileContent)
images = tf.placeholder("float", [ None, 299, 299, 3])
tf.import_graph_def(graph_def, input_map={ "Mul": images })
print "graph loaded from disk"
graph = tf.get_default_graph()
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
outputCheckpoint(sess)
main()
エラーは次のとおりです。
graph loaded from disk
Saving to checkpoint
Traceback (most recent call last):
File "./inception_benchmark.py", line 28, in <module>
main()
File "./inception_benchmark.py", line 24, in main
saver = tf.train.Saver()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1067, in __init__
self.build()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1088, in build
raise ValueError("No variables to save")
ValueError: No variables to save
すでに当初のネットワークがダウンロードされていない場合は、これはあなたに.pbファイルを取得します:
$ wget https://storage.googleapis.com/download.tensorflow.org/models/inception_dec_2015.zip -O tensorflow/examples/label_image/data/inception_dec_2015.zip
を
また、誰かが興味がある場合は、私のフルコードの要点があります:gist
ここで何が起こっているのか誰も知っていますか?
ありがとうございます! freeze_graph
ツールは何
ここで私は実際の問題をテストするのが簡単な問題にまで減らしたと思っていました。ありがとう! – smckee
OK。では、フリーズグラフを保存するにはどうしたらいいですか? – AHA