2016-08-04 36 views
1

Ich habe ein Problem in Machine Learning-Bibliothek von Google - Tensorflow. Wenn ich meine Sitzung initialisieren will, sagt es mir, dass String oder Tensor sein muss. Ich habe keinen Fehler bemerkt.ungültiger Typ, muss eine Zeichenfolge oder Tensor sein [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}) 

Dies ist Ausgabe des folgenden Programms in Terminal:

(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

es ist nur ein Syntaxfehler, siehe meine Antwort – Wolf

Antwort

4

Ich glaube, Sie nur ein Paar von Klammern () nach tf.initialize_all_variables verpasst;)

Wie Python sagt, es ist in Zeile 13 Blick nach

sess.run(tf.initialize_all_variables)

+0

Ja! Ich weiß, wo ich Fehler gemacht habe, ich habe vor 'sess.run (tf.initialize_all_variables))' und ich löschte am Ende eine Klammer. Vielen Dank! –