失败使用元图tensorflow运行模型

时间:2019-01-31 13:34:56

标签: python python-3.x tensorflow machine-learning

我曾尝试加载该程序中的模型,这样我可以在实时运行它。
下面是我想的方式:
保护程序=

tf.train.import_meta_graph(tf.train.latest_checkpoint(model_path)+".meta")
graph = tf.get_default_graph()
outputs = graph.get_operation_by_name('output')
native = graph.get_operation_by_name('input')
sess  = tf.Session()
sess.run(tf.global_variables_initializer())   
sess.run(tf.local_variables_initializer()) 
if(tf.train.checkpoint_exists(tf.train.latest_checkpoint(model_path))):
    saver.restore(sess, tf.train.latest_checkpoint(model_path))
    print(tf.train.latest_checkpoint(model_path) + "Session Loaded for Testing")  

我正在尝试将输出显示为:

y_test_output= sess.run(outputs, feed_dict={native: x_test})

我收到以下错误:

Traceback (most recent call last):
  File "testing_reality.py", line 90, in <module>
    main()
  File "testing_reality.py", line 62, in main
    handle_client_connection(client_sock)
  File "testing_reality.py", line 45, in handle_client_connection
    y_train_pred= sess.run(outputs, feed_dict={native: x_test})
  File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 929, in run
    run_metadata_ptr)
  File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1095, in _run
    'Cannot interpret feed_dict key as Tensor: ' + e.args[0])
TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a Operation into a Tensor.

在这种情况下,请让我知道我所缺少的。
在Windows 10上使用最新版本的Tensorflow'1.12.0'。

1 个答案:

答案 0 :(得分:1)

keys中的feed_dict必须是占位符。该错误表明您正在使用Operation作为feed_dict中的密钥。如果input变量确实是placeholder,则可以通过以下方式加载它:

native = graph.get_tensor_by_name("input:0")

outputs也是如此:

outputs = graph.get_tensor_by_name("output:0")