InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10]

在莫烦Python教程的“Dropout 解决 overfitting”一节中,出现错误如下:

InvalidArgumentError: You must feed a value for placeholder tensor ‘Placeholder_1‘ with dtype float and shape [?,10]

runfile(‘E:/python/kerasTest/tfDropoutTest9.py‘, wdir=‘E:/python/kerasTest‘)
C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\sklearn\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  "This module will be removed in 0.20.", DeprecationWarning)

runfile(‘E:/python/kerasTest/tfDropoutTest9.py‘, wdir=‘E:/python/kerasTest‘)
Traceback (most recent call last):

  File "<ipython-input-2-64f3a3bcd083>", line 1, in <module>
    runfile(‘E:/python/kerasTest/tfDropoutTest9.py‘, wdir=‘E:/python/kerasTest‘)

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
    execfile(filename, namespace)

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, ‘exec‘), namespace)

  File "E:/python/kerasTest/tfDropoutTest9.py", line 67, in <module>
    train_result = sess.run(merged,feed_dict={xs:X_train,ys:y_train,keep_prob:1})

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 895, in run
    run_metadata_ptr)

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 1128, in _run
    feed_dict_tensor, options, run_metadata)

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 1344, in _do_run
    options, run_metadata)

  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 1363, in _do_call
    raise type(e)(node_def, op, message)

InvalidArgumentError: You must feed a value for placeholder tensor ‘Placeholder_1‘ with dtype float and shape [?,10]
     [[Node: Placeholder_1 = Placeholder[dtype=DT_FLOAT, shape=[?,10], _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

Caused by op ‘Placeholder_1‘, defined at:
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\ipython\start_kernel.py", line 241, in <module>
    main()
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\ipython\start_kernel.py", line 237, in main
    kernel.start()
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\kernelapp.py", line 477, in start
    ioloop.IOLoop.instance().start()
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\zmq\eventloop\ioloop.py", line 177, in start
    super(ZMQIOLoop, self).start()
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tornado\ioloop.py", line 888, in start
    handler_func(fd_obj, events)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tornado\stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 440, in _handle_events
    self._handle_recv()
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 472, in _handle_recv
    self._run_callback(callback, msg)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 414, in _run_callback
    callback(*args, **kwargs)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tornado\stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 235, in dispatch_shell
    handler(stream, idents, msg)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 399, in execute_request
    user_expressions, allow_stdin)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\ipkernel.py", line 196, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\IPython\core\interactiveshell.py", line 2698, in run_cell
    interactivity=interactivity, compiler=compiler, result=result)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\IPython\core\interactiveshell.py", line 2808, in run_ast_nodes
    if self.run_code(code, result):
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-1-64f3a3bcd083>", line 1, in <module>
    runfile(‘E:/python/kerasTest/tfDropoutTest9.py‘, wdir=‘E:/python/kerasTest‘)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
    execfile(filename, namespace)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, ‘exec‘), namespace)
  File "E:/python/kerasTest/tfDropoutTest9.py", line 39, in <module>
    ys = tf.placeholder(tf.float32,[None,10])
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1680, in placeholder
    return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", line 4105, in _placeholder
    "Placeholder", dtype=dtype, shape=shape, name=name)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\framework\ops.py", line 3160, in create_op
    op_def=op_def)
  File "C:\Users\Admin\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\framework\ops.py", line 1625, in __init__
    self._traceback = self._graph._extract_stack() 

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor ‘Placeholder_1‘ with dtype float and shape [?,10]
     [[Node: Placeholder_1 = Placeholder[dtype=DT_FLOAT, shape=[?,10], _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

代码如下:

import tensorflow as tf
from sklearn.datasets import load_digits
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import LabelBinarizer

#load data
digits = load_digits()
X = digits.data#从0到9的图片
y = digits.target
y =LabelBinarizer().fit_transform(y)
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=.3)

def add_layer(inputs,in_size,out_size,layer_name,activation_function=None):
   #add one more layer and return the output of this layer
   Weights = tf.Variable(tf.random_normal([in_size,out_size]))
   biases = tf.Variable(tf.zeros([1, out_size]) + 0.1)
   Wx_plus_b = tf.matmul(inputs, Weights) + biases
   Wx_plus_b = tf.nn.dropout(Wx_plus_b,keep_prob)
   if activation_function is None:
        outputs = Wx_plus_b
   else:
       outputs = activation_function(Wx_plus_b)
   tf.summary.histogram(layer_name+‘/outputs‘,outputs)
   return outputs

xs = tf.placeholder(tf.float32,[None,64])#8*8
ys = tf.placeholder(tf.float32,[None,10])
keep_prob = tf.placeholder(tf.float32)

#add output layer
l1 = add_layer(xs,64,50,‘l1‘,activation_function=tf.nn.tanh)
prediction = add_layer(l1,50,10,‘l2‘,activation_function=tf.nn.softmax)

#the loss between prediction and real data
cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction),
                                              reduction_indices=[1]))#loss
tf.summary.scalar(‘loss‘,cross_entropy)
train_step = tf.train.GradientDescentOptimizer(0.6).minimize(cross_entropy)

sess = tf.Session()
merged = tf.summary.merge_all()
train_writer = tf.summary.FileWriter("logs/train",sess.graph)
test_writer = tf.summary.FileWriter("logs/test",sess.graph)

sess.run(tf.global_variables_initializer())

for i in range(500):
    sess.run(train_step,feed_dict={xs:X_train,ys:y_train,keep_prob:0.5})
    if i % 50 == 0:
        train_result = sess.run(merged,feed_dict={xs:X_train,ys:y_train,keep_prob:1})
        test_result = sess.run(merged,feed_dict={xs:X_test,ys:y_test,keep_prob:1})
        train_writer.add_summary(train_result,i)
        test_writer.add_summary(test_result,i)

原因:

在feed_dict中没有加入keep_prob的key和value

sess.run(train_step,feed_dict={xs:X_train,ys:y_train,keep_prob:0.5})中,没有写入keep_prob:0.5

造成feed_dict和placeholder的对应问题,但改正后,仍报该错误。反复检查了几遍,并没有发现问题。

最后实在无解,关闭了Spyder和anaconda,再打开anaconda和Spyder,居然可以正常运行了。。

但是也只是第一次可以正常运行,当删了生成的log文件,再次运行时,仍报该错误..至于为什么第二次运行就又报错仍未解决。

InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10]

原文地址:https://www.cnblogs.com/zeroingToOne/p/8511462.html

时间: 2024-07-30 14:16:28

InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10]的相关文章

Tensorflow报错:InvalidArgumentError: You must feed a value for placeholder tensor &#39;input_y&#39; with dtype

此错误神奇之处是每次第一次运行不会报错,第二次.第三次第四次....就都报错了.关掉重启,又不报错了,运行完再运行一次立马报错!搞笑! 折磨了我半天,终于被我给解决了! 问题解决来源于这边博客:https://blog.csdn.net/m0_37870649/article/details/79428960 我的解决方法:在fit模型的代码前面加入一行代码:tf.reset_default_graph() 如下图: 我原本是猜想自定义TextCNN模型的代码中出了问题,但其实这个错误和dtyp

ValueError: Cannot feed value of shape (2,) for Tensor u&#39;Placeholder_2:0&#39;, which has shape &#39;(1, 2)&#39;

在tensorflow中你在做数据喂养的时候你输入的是一个一维数组如:[22,33],他的shape 为(2,) 在tensorflow中一维数组是不能与同样的一维数组进行运算的,必须通过reshape成为(1,2)而 另一个一维数组必须是(2,1)才能相乘,但是在numpy中两个一维数组相乘是不会报错的, 这个原因是在tensorflow中向量是不能和矩阵进行运算的,你需要把他改成二维的矩阵才能运算: 另外给大家补充一下reshape 和shape的知识: shape:链接:https://b

关于placeholder中 文字添加换行 用转义字符&amp;#13;&amp;#10;代替&lt;br&gt;

今天遇到一个问题 UI给的效果图中 文本域的提示文字 是两行显示, 于是就想到placeholder中能否解析html标签, 尝试后发现并无卵用, 经过调查后发现 可以用转义字符代替<br> 表示回车 表示换行 <textarea rows="10" placeholder="要夸奖? 想吐槽? 给建议? 有话说? 通通写下来吧,我们将努力为您提供更好的服务!"></textarea> 效果如下: 关于placeholder中 文

TensorFlow框架之Computational Graph详解

1. Getting Start 1.1 import TensorFlow应用程序需要引入编程架包,才能访问TensorFlow的类.方法和符号.如下所示的方法: import tensorflow as tf 2. Tensor TensorFlow用Tensor这种数据结构来表示所有的数据.可以把一个Tensor想象成一个n维的数组或列表.Tensor有一个静态的类型和动态的维数.Tensor可以在图中的节点之间流通. 2.1 秩(Rank) Tensor对象由原始数据组成的多维的数组,T

tf.placeholder

tf.placeholder tf.placeholder(    dtype,    shape=None,    name=None) Inserts a placeholder for a tensor that will be always fed. Important: This tensor will produce an error if evaluated. Its value must be fed using the feed_dict optional argument t

IE8 不支持html5 placeholder的解决方案

IE8不支持html5 placeholder的解决方法. /** * jQuery EnPlaceholder plug * version 1.0 2014.07.01戈志刚 * by Frans.Lee <[email protected]> http://www.ifrans.cn */ (function ($) { $.fn.extend({ "iePlaceholder":function (options) { options = $.extend({ pl

input 的 placeholder属性在IE8下的兼容处理

placeholder是input标签的新属性,在使用的时候有两个问题: 1.IE8 下不兼容 处理思路: 如果浏览器不识别placeholder属性,给input添加类名placeholder,模仿placeholder属性的样式,并给input 的value赋值placeholder属性的值 2. input的type属性是password的情况,用上面的方法处理提示语为密码文 处理思路: 新添加一个标签,模仿placeholder属性 直接上代码: css部分: 1 .input-item

Effective Tensorflow[转]

Effective TensorFlow Table of Contents TensorFlow Basics Understanding static and dynamic shapes Scopes and when to use them Broadcasting the good and the ugly Feeding data to TensorFlow Take advantage of the overloaded operators Understanding order

『TensotFlow』基础RNN网络回归问题

两个tensorflow收获 lstm_cell.zero_state()节点虽然不是占位符但是可以feed,如果不feed每个batch训练tf都会重新初始化一遍,篇尾会详细讨论这个发现. tf.contrib.legacy_seq2seq.sequence_loss_by_example()的使用 任务简介 如下图所示,此次的目标是使用蓝色的虚线作为输入,拟合红色的实线输出: 这和文本预测不一样,也和一般的预测型任务很不一样,正常都是使用同一条线,使用前面的作为输入去拟合后面的输出. 不过正