Python InvalidArgumentError:对于tensor bool tensorflow==0.12.1
我已经尝试了Python InvalidArgumentError:对于tensor bool tensorflow==0.12.1,python,tensorflow,Python,Tensorflow,我已经尝试了tensorflow==0.12.1,我有以下问题: 我正在尝试运行: inp = tf.placeholder(tf.float32, [None, 10, 10, 3], name='inp') var = tf.nn.batch_normalization(inp, mean, variance, offset, scale, variance_epsilon) training = tf.placeholder(tf.bool, name='training') x1 = n
tensorflow==0.12.1
,我有以下问题:
我正在尝试运行:
inp = tf.placeholder(tf.float32, [None, 10, 10, 3], name='inp')
var = tf.nn.batch_normalization(inp, mean, variance, offset, scale, variance_epsilon)
training = tf.placeholder(tf.bool, name='training')
x1 = np.random.random([20, 10, 10, 3])
config = tf.ConfigProto(device_count={'GPU': 0})
with tf.Session(config=config) as sess:
sess.run(tf.global_variables_initializer())
result = var.eval({inp: x1, training: True}, sess)
但我得到了以下堆栈跟踪:
tf_run中第35行的文件“myscript.py”
sess.run(tf.global\u variables\u initializer())
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,
第766行,运行中
运行_元数据_ptr)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,
第964行,运行中
提要(dict字符串、选项、运行元数据)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,
第1014行,正在运行
目标\u列表、选项、运行\u元数据)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,
第1034行,打电话
提升类型(e)(节点定义、操作、消息)
InvalidArgumentError:必须为数据类型为bool[[Node:training]的占位符张量“training”提供一个值=
占位符DTYPE=DT_BOOL,形状=[],
_device=“/job:localhost/replica:0/task:0/cpu:0”]]
占位符中的第1587行
名称=名称)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_-array_-ops.py”,
第2043行,in_占位符
名称=名称)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/framework/op_def_library.py”,
第759行,应用操作中
op_def=op_def)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py”,
创建操作中的第2240行
初始值=自身值。\默认值\初始值,初始值=初始值)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py”,
第1128行,在init
self.\u traceback=\u extract\u stack()
此问题出现在:
Ubuntu 16.04.1-tensorflow GPU
安装
Mac-tensorflow CPU
仅限安装
当我尝试降级到tensorflow==0.11.0
并替换行时
sess.run(tf.global\u variables\u initializer()
通过
sess.run(tf.initialize\u all\u variables())
,然后一切正常
tensorflow回购协议中的相关问题在这里var的定义是什么?此外,您定义了一个占位符
training
,但为tensoris_training
@fabian789提供了一个值。很抱歉,这只是一个输入错误,两者都是training
,而var
是tensorflow张量。日志上说您不是p为占位符“is_training”分配一个值,那么您可能缺少了其他占位符?我正在从is_training
到training
进行重构,新的正确日志已更新。它是training
占位符。代码仍然适用于tensorflow=0.11
,但不适用于tensorflow==0.12.1
Caused by op u'training', defined at:
File "myscript.py", line 30, in tf_run
training = tf.placeholder(tf.bool, name='training')
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/array_ops.py",