2017-05-30 65 views
0

我试图建立一个基本的网络,错误喂养浮点值tensorflow

# Suppress OS related warnings 
import os 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 


# Import tensorflow library 
import tensorflow as tf 
import numpy as np 

sess = tf.Session() 


# Input Data X : of placeholder Value 1.0 tf.float32 
x = tf.placeholder(tf.float32, name="input") 

# Variable Weight : Arbitary Value 
w = tf.Variable(0.8, name='weight') 

# Neuron : y = w * x 
with tf.name_scope('operation'): 
    y = tf.multiply(w, x, name='output') 

# Actual Output 
actual_output = tf.constant(0.0, name="actual_output") 

# Loss function , delta square 
with tf.name_scope("loss"): 
    loss = tf.pow(y - actual_output, 2, name='loss') 

# Training Step : Algorithm -> GradientDescentOptimizer 
with tf.name_scope("training"): 
    train_step = tf.train.GradientDescentOptimizer(0.025).minimize(loss) 

# Ploting graph : Tensorboard 
for value in [x, w, y, actual_output, loss]: 
    tf.summary.scalar(value.op.name, value) 

# Merging all summaries : Tensorboard 
summaries = tf.summary.merge_all() 

# Printing the graph : Tensorboard 
summary_writer = tf.summary.FileWriter('log_simple_stats', sess.graph) 

# Initialize all variables 
sess.run(tf.global_variables_initializer()) 

for i in range(300): 
    summary_writer.add_summary(sess.run(summaries), i) 
    sample = np.random.uniform(low=0.0, high=400.0) 
    print(sample) 
    sess.run(train_step, feed_dict={x: sample}) 

# Output 
print(sess.run([w])) 

和错误是

你必须养活占位符张量“输入”的值与D型浮动 [ [节点:输入= Placeholderdtype = DT_FLOAT,形状= [],_device = “/作业:本地主机/复制:0 /任务:0/CPU:0”]]

回答

1

进料字典键应placeho本身,而不是一个字符串。另一个问题是,如果您正在训练时运行摘要,则不会使用相同的Feed数据。

 
x = tf.placeholder(tf.float32, name="input") 
... more code... 
_, merged = sess.run([train_step, summaries], feed_dict={x: sample}) 
summary_writer.add_summary(merged, i) 
+0

仍然是一样的错误 –

+0

只是跑你的代码。您的其他问题是,当您运行摘要时,您不会提供相同的数据。让我编辑答案来包含它。 –

+0

很好的解决了,但代码没有按预期工作,你有一个工作代码,你可以发布它吗? –