Can't run prediciton because of troubles with tf.placeholder

Apologies, I am new in Tensorflow. I am developing a simple onelayer_perceptron script that just obtaining init parameters trains a Neural Network using Tensorflow:

My compiler complains:

You must feed a value for placeholder tensor 'input' with dtype float

the error occurs here:

input_tensor = tf.placeholder(tf.float32,[None, n_input],name="input")

Plese see what I have done so far:

1) I init my input values

n_input = 10  # Number of input neurons
n_hidden_1 = 10  # Number of hidden layers
n_classes = 3  # Out layers

weights = {
    'h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),
    'out': tf.Variable(tf.random_normal([n_hidden_1, n_classes]))
}
biases = {
    'b1': tf.Variable(tf.random_normal([n_hidden_1])),
    'out': tf.Variable(tf.random_normal([n_classes]))
}

2) Initializing placeholders:

input_tensor = tf.placeholder(tf.float32, [None, n_input], name="input")
output_tensor = tf.placeholder(tf.float32, [None, n_classes], name="output")

3) Train the NN

# Construct model
prediction = onelayer_perceptron(input_tensor, weights, biases)

init = tf.global_variables_initializer() 

4) This is my onelayer_perceptron function that just does typical NN calculation matmul layers and weights, add biases and activates using sigmoid

def onelayer_perceptron(input_tensor, weights, biases):
    layer_1_multiplication = tf.matmul(input_tensor, weights['h1'])
    layer_1_addition = tf.add(layer_1_multiplication, biases['b1'])
    layer_1_activation = tf.nn.sigmoid(layer_1_addition)

    out_layer_multiplication = tf.matmul(layer_1_activation, weights['out'])
    out_layer_addition = out_layer_multiplication + biases['out']

    return out_layer_addition

5) Running my script

with tf.Session() as sess:
   sess.run(init)

   i = sess.run(input_tensor)
   print(i)

You are not feeding the input to the place holder; you do it using a feed_dict .

You should do something similar:

 out = session.run(Tensor(s)_you_want_to_evaluate, feed_dict={input_tensor: input of size [batch_size,n_input], output_tensor: output of size [batch size, classes] })
链接地址: http://www.djcxy.com/p/5508.html

上一篇: 字典问题

下一篇: 由于tf.placeholder的麻烦,无法运行预测