2016-12-15 7 views
2

ニューラルネットワークのテンソルフローでモデルを作成しました。 モデルを保存して別のpythonファイルに復元しました。テンソルフローと予測における復元モデル

コードは以下の通りです:

def restoreModel(): 
    prediction = neuralNetworkModel(x) 
    tf_p = tensorFlow.nn.softmax(prediction) 
    temp = np.array([2,1,541,161124,3,3]) 
    temp = np.vstack(temp) 

    with tensorFlow.Session() as sess: 
     new_saver = tensorFlow.train.import_meta_graph('model.ckpt.meta') 
     new_saver.restore(sess, tensorFlow.train.latest_checkpoint('./')) 
     all_vars = tensorFlow.trainable_variables() 

     tensorFlow.initialize_all_variables().run() 
     sess.run(tensorFlow.initialize_all_variables()) 
     predict = sess.run([tf_p], feed_dict={ 
      tensorFlow.transpose(x): temp, 
      y : *** 
     }) 

私が予測したいものにおける "TEMP" 変数! Xはベクトルの形であり、私はそれを形に合わせて "入れ替える"。 私はfeed_dict変数に書く必要があることを理解していません。

答えて

2

私は遅く回答していますが、それでもなお役に立つかもしれません。 feed_dictは、テンソルフローにプレースホルダーが取る値を与えるために使用されます。 fetches(最初の引数はrun)は、必要な結果のリストです。 feed_dictのキーとfetchesの要素はあなたが

graph = tf.get_default_graph() 
var = graph.get_operation_by_name('name_of_operation').outputs[0] 

により取得することができますテンソル(私​​もそれを試していない)、または変数の名前のいずれかでなければならないかもしれない、あまりにも動作しますgraph.get_tensor_by_name('name_of_operation:0')、私がしようとしませんでした。

デフォルトでは、プレースホルダの名前は、グラフ定義の作成順序に従って、単純に「プレースホルダ」、「プレースホルダ1」などです。

関連する問題