2016-12-15 1 views
2

신경망의 tensorflow에서 모델을 만들었습니다. 모델을 저장하고 다른 파이썬 파일로 복원했습니다.tensorflow 및 예측에 복원 된 모델

코드는 다음과 같습니다 :

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 : *** 
     }) 

때 예측 싶은에 "온도"변수! 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'등입니다.

관련 문제