2016-08-04 48 views
1

我在Google上有機器學習庫問題 - Tensorflow。 當我想初始化我的會話時,它告訴我必須是字符串或張量。我沒有發現任何錯誤。無效類型,必須是字符串或Tensor [TensorFlow]

import tensorflow as tf 
from tensorflow.examples.tutorials.mnist import input_data 
mnist = input_data.read_data_sets('MNIST_data', one_hot=True) 

sess = tf.InteractiveSession() 

x = tf.placeholder(tf.float32, shape=[None, 784]) 
y_ = tf.placeholder(tf.float32, shape=[None, 10]) 

W = tf.Variable(tf.zeros([784,10])) 
b = tf.Variable(tf.zeros([10])) 

sess.run(tf.initialize_all_variables) 

y = tf.nn.softmax(tf.matmul(x,W) + b) 

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) 

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) 

for i in range(1000): 
    batch = mnist.train.next_batch(50) 
    train_step.run(feed_dict={x: batch[0], y_: batch[1]}) 

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) 
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) 

print accuracy.eval(feed_dict={x: mnist.test.images, y_: mnist.test.labels}) 

這是在終端下面的程序的輸出:

(tensorflow) [email protected]:~/tensorflow$ python mnist_e.py 
Extracting MNIST_data/train-images-idx3-ubyte.gz 
Extracting MNIST_data/train-labels-idx1-ubyte.gz 
Extracting MNIST_data/t10k-images-idx3-ubyte.gz 
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz 
Traceback (most recent call last): 
    File "mnist_e.py", line 13, in <module> 
    sess.run(tf.initialize_all_variables) 
    File "/home/juldou-box/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 372, in run 
    run_metadata_ptr) 
    File "/home/juldou-box/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 584, in _run 
    processed_fetches = self._process_fetches(fetches) 
    File "/home/juldou-box/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 540, in _process_fetches 
    % (subfetch, fetch, type(subfetch), str(e))) 
TypeError: Fetch argument <function initialize_all_variables at 0x7fe4ca157c80> of <function initialize_all_variables at 0x7fe4ca157c80> has invalid type <type 'function'>, must be a string or Tensor. (Can not convert a function into a Tensor or Operation.) 
+1

這只是一個語法錯誤,請參閱我的回答 – Wolf

回答

4

我覺得你只是錯過tf.initialize_all_variables後一對括號()的;)

由於蟒蛇說,這是在13號線,請看照片

sess.run(tf.initialize_all_variables)

+0

是的!我知道我在哪裏犯了錯誤,我在'sess.run(tf.initialize_all_variables)'之前'',並且最後刪除了一個括號。謝謝! –

相關問題