Tensorflow 搭建神经网络(单层)

来源:互联网 发布:查看淘宝买家退货率 编辑:程序博客网 时间:2024/05/22 03:33
#coding=utf-8import tensorflow as tfimport numpy as np#add layerdef add_layer(inputs,in_size,out_size,activation_function=None):# add one more layer and return the output of this layerw = tf.Variable(tf.random_normal([in_size,out_size]))b = tf.Variable(tf.zeros([1,out_size])+0.1)y = tf.matmul(inputs,w)+bif activation_function is None:outputs = yelse:outputs = activation_function(y)return outputs#make train datax_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#print (x_data)#print (y_data)#define placeholderxs = tf.placeholder(tf.float32,[None,1])ys = tf.placeholder(tf.float32,[None,1])#add hidden layerl1 = add_layer(xs,1,10,activation_function = tf.nn.relu)#add output layerprediction = add_layer(l1,10,1,activation_function = None)#define loss functionloss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices = [1]))#定义用什么方法减少lossoptimizer = tf.train.GradientDescentOptimizer(0.1).minimize(loss)with tf.Session() as sess:sess.run(tf.initialize_all_variables())for i in range(1001):sess.run(optimizer,feed_dict = {xs:x_data,ys:y_data})if i%100 == 0:print (sess.run(loss,feed_dict = {xs:x_data,ys:y_data}))#pre = sess.run(prediction,feed_dict = {xs:x_data,ys:y_data})#aa = np.abs(pre - y_data)#print (aa)

原创粉丝点击