gpt4 book ai didi

python - tensorflow 无效参数错误 : You must feed a value for placeholder tensor with dtype float

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:24 25 4
gpt4 key购买 nike

我是 tensorflow 的新手,想训练用于分类的逻辑模型。

# Set model weights
W = tf.Variable(tf.zeros([30, 16]))
b = tf.Variable(tf.zeros([16]))
train_X, train_Y, X, Y = input('train.csv')

#construct model
pred = model(X, W, b)
# Minimize error using cross entropy
cost = tf.reduce_mean(-tf.reduce_sum(Y*tf.log(pred), reduction_indices=1))
# Gradient Descent
learning_rate = 0.1
#optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost)
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
# Initializing the variables
init = tf.initialize_all_variables()

get_ipython().magic(u'matplotlib inline')
import collections
import matplotlib.pyplot as plt

training_epochs = 200
batch_size = 300
train_X, train_Y, X, Y = input('train.csv')
acc = []
x = tf.placeholder(tf.float32, [None, 30])
y = tf.placeholder(tf.float32, [None, 16])
with tf.Session() as sess:
sess.run(init)
# Training cycle
for epoch in range(training_epochs):
avg_cost = 0.0
#print(type(y_train[0][0]))
print(type(train_X))
print(type(train_X[0][0]))
print X
_, c = sess.run([optimizer, cost], feed_dict = {x: train_X, y: train_Y})

feef_dict 方法不起作用,提示:

InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_54' with dtype float [[Node: Placeholder_54 = Placeholderdtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]] Caused by op u'Placeholder_54':

我检查数据类型,对于训练特征数据 X:

  train_X type: <type 'numpy.ndarray'>
train_X[0][0]: <type 'numpy.float32'>
train_X size: (300, 30)
place_holder info : Tensor("Placeholder_56:0", shape=(?, 30), dtype=float32)

我不知道它为什么提示。希望sb能帮到你,谢谢

最佳答案

从您的错误消息中,丢失的占位符的名称 -'Placeholder_54' - 是可疑的,因为这表明在当前解释器 session 中至少创建了 54 个占位符。

没有足够的细节可以肯定地说,但我有一些怀疑。您是否在同一个解释器 session 中多次运行相同的代码(例如使用 IPython/Jupyter 或 Python shell)?假设是这种情况,我怀疑您的 cost 张量取决于在之前执行该代码时创建的占位符。

确实,您的代码创建了两个 tf.placeholder()张量 xy 构建模型的其余部分之后,因此似乎有可能:

  1. 缺少的占位符是在之前执行此代码时创建的,或者

  2. input() 函数在内部调用 tf.placeholder(),正是这些占位符(可能是张量 XY?) 你应该喂。

关于python - tensorflow 无效参数错误 : You must feed a value for placeholder tensor with dtype float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com