python - 带有 python 3.5.6 的 Tensorflow 1.10(InvalidArgumentError:您必须使用 dtype float 为占位符张量“input_8/InputX”提供一个值)
问题描述
我的代码:
import tensorflow as tf
import numpy as np
x_input=np.linspace(0,10,100)
y_input=5*x_input+2.5
#model parameters
W = tf.Variable(tf.random_normal([1]), name='weight')
#bias
b = tf.Variable(tf.random_normal([1]), name='bias')
#placeholders
with tf.name_scope('input'):
X=tf.placeholder(tf.float32,name='InputX')
Y=tf.placeholder(tf.float32, name='InputY')
#model
with tf.name_scope('model'):
Y_pred=tf.add(tf.multiply(X,W),b)
#loss
with tf.name_scope('loss'):
loss = tf.reduce_mean(tf.square(Y_pred -Y ))
#training algorithm
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
#init = tf.initialize_all_variables() #for TF version < 1.0
init=tf.global_variables_initializer()
#starting the session session
sess = tf.Session()
sess.run(init)
cost=tf.summary.scalar("loss", loss)
sess.run(init)
merged_summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter('E:/pythonScripts/.spyder-py3/',
graph=tf.get_default_graph())
# training the line
for step in range(1000):
#sess.run(train)
_, c, summary=sess.run([train, loss, merged_summary_op], feed_dict=
{X: x_input, Y: y_input})
summary_writer.add_summary(summary,step)
if step%50==0:
print(c)
我收到以下错误:
InvalidArgumentError:您必须使用 dtype float [[Node: input_8/InputX = Placeholderdtype=DT_FLOAT, shape=, _device="/job:localhost/replica:0/task:0/device 为占位符张量“input_8/InputX”提供一个值:CPU:0"]]
解决方案
推荐阅读
- jquery - Ajax/Json MVC 表填充不起作用
- android - 在 Android Oreo 上使用 su 权限在 init.rc 中启动本机守护进程
- javascript - Es6使用传播合并两个对象不起作用
- java - java.lang.IllegalArgumentException:不支持行:接口 TargetDataLine 支持格式 PCM_SIGNED 44100.0 Hz,
- bash - 如何阻止 git 将非错误写入 stderr
- python-3.x - 列表中最长的递增序列
- razor-pages - 可以支持并能够在客户端呈现“.cshtml Razor Pages”的最佳客户端技术是什么?
- sql - 删除重复的 SQL
- python - libboost_python3 缺少到 Python 的动态链接?
- javascript - MPGS(万事达卡)集成安全性