当前位置: 首页 > 知识库问答 >
问题:

tensorflow InvalidArgumEnterror:您必须用dtype float为占位符张量提供一个值

冀崇凛
2023-03-14

我是tensorflow的新手,想训练一个用于分类的logistic模型

# 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方法不起作用,complay:

  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)

共有1个答案

淳于开畅
2023-03-14

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

没有足够的细节可以肯定,但我有些怀疑。您是否在同一个解释器会话中多次运行相同的代码(例如,使用ipython/jupyter或Python shell)?假设是这样,我怀疑您的cost张量依赖于在先前执行该代码时创建的占位符。

实际上,在构建完模型的其余部分之后,您的代码创建了两个TF.placeholder()张量XY,因此,看起来可能是:

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

 类似资料:
  • 我也不知道为什么。如果删除行“print(”mse=%s“%(mse.eval()))”,那么一切都会好起来。有什么建议吗? 提前感谢!

  • 我使用如下所示的导出来服务我的模型: 然后,我发出以下POST请求(原始正文): {“错误”:“您必须用dtype float\n\t[[节点:Placeholder_1=placeholder_output_shapes=[],dtype=dt_float,shape=,_device=\”/job:localhost/replica:0/task:0/device:cpu:0\“]]为占位符张

  • 我有简单的seq2seq模型: 我正在尝试创建自己的度量标准: 如果我尝试用这个度量编译模型,我会得到一个错误“您必须为占位符张量提供一个值”,并显示以下消息: 但以下代码运行良好(不会产生任何异常): 你能解释一下那个例外是什么意思吗?我以为和在做同样的事情。我是NNs和keras的新手,所以我可能看不到一些明显的东西。我在stackoverflow上看到了类似的问题,但没有找到适合我情况的答案

  • 我试图在JUnit 5中开发一个参数化测试,如下例所示。 尝试运行测试导致异常: 您必须为此@ParameterizedTest提供至少一个参数 这个信息让我觉得,我做错了什么,不是吗? p、 我有一个假设,只有原语类型的参数可用。

  • 问题内容: 我曾经在某一时刻进行过这项工作,所以我认为我所引用的东西有误。_regionListView似乎返回确定。我认为ArrayList中的数组是问题,因为它包含额外的空索引,但我认为我没有正确连接到ListView和TextView。 任何帮助,将不胜感激。 Main.java Search.xml Search_list.xml 问题答案: 从search_list.xml中删除Line