2016-07-18 13 views
2

Ich schreibe diesen Code in Tensorflow, aber wenn ich es ausführen, kommt der Fehler im Titel heraus. Kann mir jemand helfen und mir das Problem erklären? Danke für jede Hilfe.tensorflow TypeError: run() hat mehrere Werte für das Argument 'feed_dict'

import tensorflow as tf 
sess = tf.InteractiveSession() 

import numpy as np 


a = np.array([[1.0,2.0,3.0,4.0],[5.0,6.0,7.0,8.0],[9.0,10.0,11.0,12.0],[1.0,1.0,1.0,1.0]]) 
w = np.ones([3.0,3.0,1.0,1.0]) 

W_conv1 = tf.Variable(w) 

def conv2d(x, W): 
    return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME') 


x = tf.placeholder(tf.float64, shape=[4,4]) 

x_image = tf.reshape(x,[1,4,4,1]) 

h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1)) 

sess.run(tf.initialize_all_variables()) 

i,h1 = sess.run(x_image,h_conv1, feed_dict={x:a}) 

Antwort

6

Das Problem ist, dass Sie h_conv1 als zweites Argument vorbei sind, laufen die feed_dict ist und dann feed_dict als auch das genannte Argument angeben. Wenn Sie möchten, dass mehrere Ops ausgewertet werden, sollten Sie sie als Array im ersten Argument wie folgt übergeben:

i,h1 = sess.run([x_image, h_conv1], feed_dict={x:a})