注意事项:
输入值与真实值都是numpy类型的数据
而网络中的Weights和biases都是tensor object类型的数据
import tensorflow as tf
import numpy as np
#定义如何添加一个神经网络层,输入层1个(因为输入数据只有一维),隐藏层10个,输出层1个
'''inputs:输入数据
in_size:输入数据的维度
out_size:输出数据的维度
activation_function:激活函数'''
def add_layer(inputs,in_size,out_size,activation_function=None):
Weights=tf.Variable(tf.random_normal([in_size,out_size]))#定义权重向量的行列
#Error 1:开始把out_size写成了in_size
biases=tf.Variable(tf.zeros([1,out_size])+0.10)#初始化权重向量
Wx_plus_b=tf.matmul(inputs,Weights)+biases
if activation_function is None:#将传入的参数赋值给activation_function变量
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=0.3*np.square(x_data)-0.5&#