这是我的测试代码。但是它无法运行。终端总是给我这个错误:
追溯(最近一次通话):
文件“ 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”,
在convert_to_tensor中的第932行
as_ref = False)
文件“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”,
第1022行,位于internal_convert_to_tensor中
ret = conversion_func(值,dtype = dtype,名称=名称,as_ref = as_ref)
文件
“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py”,
_constant_tensor_conversion_function中的第233行
返回常量(v,dtype = dtype,name = name)
文件“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py”,
第212行,常数
值,dtype = dtype,shape = shape,verify_shape = verify_shape))
文件
“ /Users/sumeixu/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/tensor_util.py”,
第401行,在make_tensor_proto中
引发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}))
最佳答案
因此,我在第一个函数中修复了缩进之后,运行了您的代码,它的工作正常。如果我只是复制它,如你所写的那样粘贴,我还会收到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)
关于python - Tensorflow错误:ValueError:不支持任何值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49214921/