2016-12-15 81 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用于为张量流提供您希望占位符采用的值。 fetchesrun的第一个参数)是您想要的结果列表。的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')作品也一样,我没有尝试。

默认情况下,占位符的名称只是“Placeholder”,“Placeholder_1”等,按照图形定义中的创建顺序。