我正在尝试编写一个Tensorflow脚本来使用FCN_8s模型的图形结构来训练图像分割。我正在改编一些在线教程中的代码,很明显我做错了(或很多事情)。当我尝试使用adam优化器定义优化器时(见下文),我得到一个valueError指示Tried to convert 'values' to a tensor and failed. Error: None values not supported.
这是我初始化优化器和定义损失函数的方式,稍后在tf.session()中调用
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)
调用tf.trainable_variables表明存在变量。我认为问题可能出在cross_entropy_sum哪里?使用get_shape(cross_entropy_sum)returns (),但是如果使用keepdims选项,则形状为,(1,)但出现相同的错误。
错误回溯如下:
警告:tensorflow:来自C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ contrib \ learn \ python \ learn \ datasets \ 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,在_apply_op_helper preferred_dtype = default_dtype中)文件“ C:\程序\ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py“,第1040行,位于internal_convert_to_tensor中ret = conversion_func(value,dtype = dtype,name = name,as_ref = as_ref)文件” C:
在处理上述异常期间,发生了另一个异常:
追溯(最近一次通话):文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ op_def_library.py”,行524,_apply_op_helper值,as_ref = input_arg.is_ref。 dtype.name文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,第1040行,位于internal_convert_to_tensor中ret = conversion_func(value,dtype = dtype,name = name, as_ref = as_ref)文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py”,第235行,在_constant_tensor_conversion_function中返回常量(v,dtype = dtype,name = name)文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py”,第214行,以恒定值,dtype = dtype,shape = shape,verify_shape = verify_shape))文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ tensor_util.py”,行421,在make_tensor_pro中引发ValueError(“不支持任何值。”)ValueError :不支持任何值。
在处理上述异常期间,发生了另一个异常:
追溯(最近一次通话最近):文件“ P:\ macro和编程文件\ TFpy \ TFcarcassimageseg3.py”,行252,在tf.summary.histogram中(gradient_name_to_save,current_gradient)。文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ summary \ summary.py“,第196行,在直方图标签=标签中,值=值,名称=范围)文件“ C:\ programs \ python \ python36 \ lib \ site \ packages \ tensorflow \ python \ ops \ gen_logging_ops.py”,第308行,在_histogram_summary“ HistogramSummary”中,tag = tag,values = values,name = name)文件“ C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ op_def_library.py“,行_apply_op_helper中的第528行(input_name,err))ValueError:试图将“值”转换为张量,但失败。错误:不支持任何值。
我不在这里,但如果能解决这个错误,我将不胜感激,谢谢!
None values not supported.如果对不包含任何变量的变量使用TensorFlow指令,则会发生这种情况。我习惯if g is not None:了apply_gradients(...)就是用它!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。