开发者社区> 问答> 正文

Tensorflow adam优化器ValueError“错误:不支持任何值。”

我正在尝试编写一个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:试图将“值”转换为张量,但失败。错误:不支持任何值。

我不在这里,但如果能解决这个错误,我将不胜感激,谢谢!

展开
收起
祖安文状元 2020-02-23 16:23:35 1483 0
1 条回答
写回答
取消 提交回答
  • None values not supported.如果对不包含任何变量的变量使用TensorFlow指令,则会发生这种情况。我习惯if g is not None:了apply_gradients(...)就是用它!

    2020-02-23 16:23:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用TensorFlow搭建智能开发系统自动生成App UI 立即下载
从零到一:IOS平台TensorFlow入门及应用详解 立即下载
从零到一:IOS平台TensorFlow入门及应用详解(附源 立即下载