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

时间:2018-05-01 20:14:53

标签: python-3.x 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)会返回(),但如果我使用keepdims选项,则形状为(1,),但我会收到相同的错误。

以下是错误追溯:

  

警告:tensorflow:从   C:\程序\ python的\ python36 \ LIB \站点包\ tensorflow \的contrib \学习\ python的\学习\数据集\ base.py:198:   retry(来自tensorflow.contrib.learn.python.learn.datasets.base)是   已弃用,将在以后的版本中删除。说明   更新:使用重试模块或类似的替代方案。追溯   (最近一次调用最后一次):文件   " C:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ op_def_library.py&#34 ;,   第510行,在_apply_op_helper中       preferred_dtype = default_dtype)File" 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:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ constant_op.py&#34 ;,   第235行,在_constant_tensor_conversion_function中       返回常量(v,dtype = dtype,name = name)文件" C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py",   第214行,常数       value,dtype = dtype,shape = shape,verify_shape = verify_shape))文件   " C:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ tensor_util.py&#34 ;,   第421行,在make_tensor_proto中       提高ValueError("不支持任何值。")ValueError:不支持任何值。

     

在处理上述异常期间,发生了另一个异常:

     

Traceback(最近一次调用最后一次):文件   " C:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ op_def_library.py&#34 ;,   第524行,在_apply_op_helper中       values,as_ref = input_arg.is_ref).dtype.name File" 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:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ constant_op.py&#34 ;,   第235行,在_constant_tensor_conversion_function中       返回常量(v,dtype = dtype,name = name)文件" C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py",   第214行,常数       value,dtype = dtype,shape = shape,verify_shape = verify_shape))文件   " C:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\框架\ tensor_util.py&#34 ;,   第421行,在make_tensor_proto中       提高ValueError("不支持任何值。")ValueError:不支持任何值。

     

在处理上述异常期间,发生了另一个异常:

     

回溯(最近一次呼叫最后一次):文件" P:\宏和编程   files \ TFpy \ TFcarcassimageseg3.py",第252行,in       tf.summary.histogram(gradient_name_to_save,current_gradient)文件   " C:\程序\蟒\ python36 \ lib中\站点包\ tensorflow \蟒\摘要\ summary.py&#34 ;,   第196行,直方图       tag = tag,values = values,name = scope)File" C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ ops \ gen_logging_ops.py",   第308行,在_histogram_summary中       " HistogramSummary",tag = tag,values = values,name = name)File" C:\ programs \ python \ python36 \ lib \ site-packages \ tensorflow \ python \ framework \ op_def_library.py& #34 ;,   第528行,在_apply_op_helper中       (input_name,err))ValueError:试图转换'值'到了张量并失败了。错误:不支持任何值。

我已经超出了我的深度,但我很感激任何有关解决此错误的建议,谢谢!

1 个答案:

答案 0 :(得分:0)

remove_vc_prettyphoto(){ wp_dequeue_script( 'prettyphoto' ); wp_deregister_script( 'prettyphoto' ); wp_dequeue_style( 'prettyphoto' ); wp_deregister_style( 'prettyphoto' ); } add_action( 'wp_enqueue_scripts', 'remove_vc_prettyphoto', 9999 ); 如果对不包含任何变量的变量使用TensorFlow指令,则会发生这种情况。我使用None values not supported.是因为if g is not None:正在使用它!