TFRecord入力パイプラインを使用してネットワークを訓練しました。つまり、プレースホルダはありませんでした。簡単な例は次のようになります。Tensorflowでは、メタグラフがTFRecord入力(プレースホルダーなし)でフィードしていた場合に復元されたメタグラフを使用する方法
input, truth = _get_next_batch() # TFRecord. `input` is not a tf.placeholder
net = Model(input)
net.set_loss(truth)
optimizer = tf...(net.loss)
は、私は三つのファイル、ckpt-20000.meta
、ckpt-20000.data-0000-of-0001
、ckpt-20000.index
を取得し、のは、言ってみましょう。しかし、メタグラフは、パイプラインの最初からプレースホルダを持っていない
new_saver = tf.train.import_meta_graph('ckpt-20000.meta')
new_saver.restore(sess, 'ckpt-20000')
logits = tf.get_collection("logits")[0]
:私は後で1のような.meta
ファイルやアクセステンソルを使用してメタグラフをインポートすることができることを理解しました。入力のメタグラフとクエリの推論を使用する方法はありますか?
クエリアプリケーション(またはスクリプト)の情報として、プレースホルダを使用してモデルを定義し、モデルの重みを復元しました(下記参照)。はるかに単純なので、私は再定義せずにメタグラフを利用できるかどうか疑問に思っています。
input = tf.placeholder(...)
net = Model(input)
tf.restore(sess, 'ckpt-2000')
lgt = sess.run(net.logits, feed_dict = {input:img})
おかげで、あなたは私の一日行わ:
は、NMTのチュートリアルも共有変数で複数のグラフを作成に関する詳細な例を提供し
Building a SavedModel
参照してください!私は 'placeholder_with_default'について知りませんでした! –