私は訓練を受けたモデルを持っています。私は中間maxpool層の出力をモデルから抽出したいと思います。 私はfeed_dict
辞書でこの実行のためのプレースホルダとその内容が含まれ、ここでは以下のTensorFlowで事前にトレーニングされたモデルでmaxpoolレイヤの出力を取得するにはどうすればよいですか?
saver = tf.train.import_meta_graph(BASE_DIR + LOG_DIR + '/model.ckpt.meta')
saver.restore(sess,tf.train.latest_checkpoint(BASE_DIR + LOG_DIR))
sess.run("maxpool/maxpool",feed_dict=feed_dict)
を試してみました。
私はこれの原因となることができるか、次のエラー
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder_1_1' with dtype float and shape...
得続けますか?私はすべてのプレースホルダを生成し、フィード辞書に入力しました。
私はモデルの再トレーニングを避けたいと思っていました。だから、私はいくつかのことを間違えました。最初のこと(ここには現れません)は、グラフからそれらを抽出するのではなく、入力用のプレースホルダーを再作成したことです。したがって、次のようになります: 'input_name = = graph.get_tensor_by_name("プレースホルダ:0 ")'。私が間違っていた2つ目は、op自体の代わりにopの名前を入力することなので、この 'maxpool_op = graph.get_operation_by_name(" maxpool/maxpool ")'と 'sess.run(maxpool_op.outputs [ 0]、feed_dict = feed_dict' あなたの答えは正しい方向に私を指していましたので、10x –
元気です私の答えはこれを反映するためのビットです。私はすべてのテンソルがそこにあることを知っています、それは彼らのデフォルトの名前で見つけるのは難しいかもしれません。 – Engineero