Python 3.x Tensorflow adam优化器值错误“;错误:不支持任何值。”;
我正在尝试编写一个tensorflow脚本,用于使用Python 3.x Tensorflow adam优化器值错误“;错误:不支持任何值。”;,python-3.x,tensorflow,Python 3.x,Tensorflow,我正在尝试编写一个tensorflow脚本,用于使用FCN_8s模型的图形结构来训练图像分割。我正在修改一些在线教程中的代码,显然有一些地方(或许多地方)我做错了。当我尝试使用adam optimizer(见下文)定义优化器时,我得到一个valueError指示试图将“值”转换为张量,但失败了。错误:不支持任何值。 下面是我如何初始化优化器并定义loss函数,稍后将在tf.session()中调用该函数 调用tf.trainable_variables表明存在变量。我认为问题可能与交叉熵和有关?
FCN_8s
模型的图形结构来训练图像分割。我正在修改一些在线教程中的代码,显然有一些地方(或许多地方)我做错了。当我尝试使用adam optimizer(见下文)定义优化器时,我得到一个valueError
指示试图将“值”转换为张量,但失败了。错误:不支持任何值。
下面是我如何初始化优化器并定义loss函数,稍后将在tf.session()中调用该函数
调用tf.trainable_variables
表明存在变量。我认为问题可能与交叉熵和有关?使用get\u shape(cross\u entropy\u sum)
返回()
,但是如果我使用keepdims
选项,则形状是(1,)
,但我会得到相同的错误
以下是错误回溯:
警告:tensorflow:来自
C:\programs\python\python36\lib\site packages\tensorflow\contrib\learn\python\learn\dataset\base.py:198:
重试(从tensorflow.contrib.learn.python.learn.datasets.base)失败
已弃用,将在将来的版本中删除。说明
更新:使用重试模块或类似选项。回溯
(最近一次调用上次):文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\op_def_library.py”,
第510行,in_apply_op_helper
首选\u dtype=默认\u dtype)文件“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\ops.py”,
第1040行,在内部\u中,将\u转换为\u张量
ret=conversion\u func(value,dtype=dtype,name=name,as\u ref=as\u ref)文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\constant\u op.py”,
第235行,in _常数_张量_转换_函数
返回常量(v,dtype=dtype,name=name)文件“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\constant\u op.py”,
第214行,常数
值,dtype=dtype,shape=shape,verify\u shape=verify\u shape))文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\tensor\u util.py”,
第421行,在make_tensor_proto中
raise VALUERROR(“不支持任何值”)。VALUERROR:不支持任何值
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用上次):文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\op_def_library.py”,
第524行,在“应用”和“操作”助手中
值,如\u ref=input\u arg.is\u ref).dtype.name文件“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\ops.py”,
第1040行,在内部\u中,将\u转换为\u张量
ret=conversion\u func(value,dtype=dtype,name=name,as\u ref=as\u ref)文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\constant\u op.py”,
第235行,in _常数_张量_转换_函数
返回常量(v,dtype=dtype,name=name)文件“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\constant\u op.py”,
第214行,常数
值,dtype=dtype,shape=shape,verify\u shape=verify\u shape))文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\tensor\u util.py”,
第421行,在make_tensor_proto中
raise VALUERROR(“不支持任何值”)。VALUERROR:不支持任何值
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用last):文件“p:\macro and programming
文件\TFpy\tfjackImageSeg3.py”,第252行,在
直方图(gradient\u name\u to\u save,current\u gradient)文件
“C:\programs\python\python36\lib\site packages\tensorflow\python\summary\summary.py”,
第196行,在柱状图中
tag=tag,values=values,name=scope)文件“C:\programs\python\python36\lib\site packages\tensorflow\python\ops\gen\u logging\u ops.py”,
第308行,在_直方图_摘要中
“HistorogramSummary”,tag=tag,values=values,name=name)文件“C:\programs\python\python36\lib\site packages\tensorflow\python\framework\op_def_library.py”,
第528行,输入应用操作帮助程序
(input_name,err))ValueError:尝试将“值”转换为张量,但失败。错误:不支持任何值
我在这里有点不知所措,但我希望能为解决这个错误提供一些建议,谢谢
None值不受支持。
如果对包含None的变量使用TensorFlow指令,则会发生这种情况。我使用了如果g不是None:
因为应用梯度(…)
正在使用它
cross_entropies = tf.nn.softmax_cross_entropy_with_logits_v2(logits=flat_logits,
labels=flat_labels)
cross_entropy_sum = tf.reduce_sum(cross_entropies)
with tf.variable_scope("adam_vars"):
optimizer = tf.train.AdamOptimizer(learning_rate=0.0001)
gradients = optimizer.compute_gradients(loss=cross_entropy_sum)
for grad_var_pair in gradients:
current_variable = grad_var_pair[1]
current_gradient = grad_var_pair[0]
gradient_name_to_save = current_variable.name.replace(":", "_")
tf.summary.histogram(gradient_name_to_save, current_gradient)