2016-07-09 41 views
0

我的例子是这样的:Tensorflow feed_dict与tensorflow.python.framework.errors.InvalidArgumentError

import tensorflow as tf 
import numpy as np 


batch_size = 10 
real_data = np.ndarray(shape=(batch_size, 1), dtype=np.int32) 
for i in range(batch_size): 
    real_data[i] = i 
print np.shape(real_data) 

holder = tf.placeholder(tf.int32, shape=[None, 1]) 

with tf.Session() as sess: 
    feed_dict = { 
     holder: real_data 
    } 
    sess.run([], feed_dict=feed_dict) 

该出把像以下内容:

/home/att/anaconda2/bin/python /home/att/文档/code/justtest/ates.py 
(10, 1) 
Traceback (most recent call last): 
    File "/home/att/文档/code/justtest/ates.py", line 17, in <module> 
    sess.run([], feed_dict=feed_dict) 
    File "/home/att/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/ session.py", line 340, in run 
    run_metadata_ptr) 
    File "/home/att/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/ session.py", line 564, in _run 
    feed_dict_string, options, run_metadata) 
    File "/home/att/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/ session.py", line 637, in _do_run 
    target_list, options, run_metadata) 
    File "/home/att/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/ session.py", line 659, in _do_call 
    e.code) 
tensorflow.python.framework.errors.InvalidArgumentError 

Process finished with exit code 1 

什么让我困惑的是数据的形状与占位符完全相同,都是(10,1),但为什么仍然会引发这个错误?进一步的问题是,当我将数据提供给占位符时,数据应该是什么样的(数据类型和数据形状)?

任何帮助会感激:)

回答

0

,您需要提供内部像图节点不能使用sess.run([])

sess.run([some_node], feed_dict=feed_dict)