我正在尝试构建一个基本网络,
# 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]))
错误是
您必须为占位符张量输入值输入'与dtype浮动 [[Node:input = Placeholderdtype = DT_FLOAT,shape = [],_device =" / job:localhost / replica:0 / task:0 / cpu:0"]]
答案 0 :(得分:1)
feed dict的键应该是占位符本身,而不是字符串。另一个问题是,在运行摘要时,您没有像使用培训时那样使用相同的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)