开发者社区> 问答> 正文

Tensorflow错误:ValueError:不支持任何值

这是我的测试代码。但是它无法运行。终端总是给我这个错误:

追溯(最近一次通话): 文件“ desktop / test.py”,第28行,损失= tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices = [1]))。 文件“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py”,行898,在binary_op_wrapper中y = ops.convert_to_tensor(y,dtype = x.dtype.base_dtype ,name =“ y”) 文件“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”,第932行,在convert_to_tensor中as_ref = False) 文件“ / Users /sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py“,第1022行,位于internal_convert_to_tensor中ret = conversion_func(value,dtype = dtype,name = name,as_ref = as_ref) 文件“/Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py”,线路233,在返回_constant_tensor_conversion_function恒定(V,D型细胞= D类,名字=名) 文件“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py “线路212,在恒定的值,D型细胞= D型,形状=形状,verify_shape = verify_shape)) 文件” /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/tensor_util.py“,第401行,在make_tensor_pro中引发ValueError(”不支持任何值。“)。

ValueError:不支持任何值。

请帮助。吹是我的代码。非常感谢!

import tensorflow as tf 
import numpy as np 
import matplotlib.pyplot as plt

def add_layer(inputs,in_size,out_size,activation_function=None):
    Weights=tf.Variable(tf.random_normal([in_size,out_size]))
    biases=tf.Variable(tf.zeros([1,out_size])+0.1)
    Wx_Plus_b = tf.matmul(inputs,Weights)+biases

    if activation_function is None:
        outputs=Wx_Plus_b
    else:
            outputs=activation_function(Wx_Plus_b)
            return outputs

x_data = np.linspace(-1,1,300)[:,np.newaxis]
noise=np.random.normal(0,0.05,x_data.shape)
y_data=np.square(x_data)-0.5+noise

xs=tf.placeholder(tf.float32,[None,1])
ys=tf.placeholder(tf.float32,[None,1])

l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)

prediction=add_layer(l1,10,1,activation_function=None)

loss =tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))

train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)

for i in range(1000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})

    if i%50==0:
        print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

展开
收起
祖安文状元 2020-02-23 16:42:32 6831 0
2 条回答
写回答
取消 提交回答
  • def add_layer(inputs,in_size,out_size,activation_function=None):
        Weights=tf.Variable(tf.random_normal([in_size,out_size]))
        biases=tf.Variable(tf.zeros([1,out_size])+0.1)
        Wx_Plus_b = tf.matmul(inputs,Weights)+biases
    
        if activation_function is None:
            outputs=Wx_Plus_b
        else:
                outputs=activation_function(Wx_Plus_b)
                return outputs
    

    这个函数写的有问题,你的return位置不对。

    2020-03-14 14:07:23
    赞同 展开评论 打赏
  • 因此,我在第一个函数中修复了缩进之后,运行了您的代码,它的工作正常。如果我只是复制它,如你所写的那样粘贴,我还会收到None错误(因为您没有从该函数返回任何内容)。因此,只需解决缩进问题,它就可以工作!

    要获得损失,您可以按如下方式获取值:

    loss_list = []
    if i%50==0:
        my_loss = sess.run(loss,feed_dict={xs:x_data,ys:y_data})
        loss_list.append(my_loss)
    
    2020-02-23 16:42:41
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

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