the-wolf-sky

#有一个隐藏层的简单三层神经网络神经网络

#定义方法添加层数

import tensorflow as tf

def add_layer(input_x,in_size,out_size,activation_function=None):

    weights=tf.Variable(tf.random_normal([in_size,out_size]))

    bias=tf.Variable(tf.zeros(out_size)+0.1)

    wx_plus_b=tf.matmul(input_x,weights)+bias

    if activation_function is None:

        outputs=wx_plus_b

    else:

        outputs=activation_function(wx_plus_b)

    return outputs

 


 

import numpy as np

import matplotlib.pyplot as plt

%matplotlib inline

 

x_data=np.linspace(-1,1,300)[:,np.newaxis]#增加一个维度,变成二维了

noise=np.random.normal(0,0.1,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])

#############数据准备#####################

 

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

final_layer_out=add_layer(hidden_layer_out,10,1,activation_function=None)

###################模型构造########################

 

loss=tf.reduce_mean(tf.reduce_sum(

    tf.square(y_data-final_layer_out),

    reduction_indices=[1]#向右压缩维度,变成一列

))

 

optimizer=tf.train.GradientDescentOptimizer(0.01)

train_op=optimizer.minimize(loss)

 

init=tf.global_variables_initializer()

fig=plt.figure()

ax=fig.add_subplot(1,1,1)

ax.scatter(x_data,y_data)

plt.ion()

plt.show

 

with tf.Session() as sess:

    sess.run(init)

   

   

    for i in range(5000):

        #train

        sess.run(train_op,feed_dict={xs:x_data,ys:y_data})

        if i%100==0:

            try:

                ax.lines.remove(lines[0])#抹去上一条线

            except Exception:

                pass

            prediction_value=sess.run(final_layer_out,feed_dict={xs:x_data})

            lines=ax.plot(x_data,prediction_value,\'r-\',lw=3)#lw线宽为3

   

            plt.pause(0.1)

            #print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

 


tensorflow中的tf.reduce_sum以及tf.reduce_mean方法中的参数介绍以及方法使用:

 

分类:

技术点:

相关文章:

  • 2022-01-15
  • 2021-04-24
  • 2021-09-04
  • 2021-10-07
  • 2021-06-27
  • 2021-04-06
  • 2022-02-08
  • 2021-11-30
猜你喜欢
  • 2021-05-15
  • 2021-11-30
  • 2021-11-30
  • 2022-12-23
  • 2021-07-24
  • 2021-09-27
  • 2021-11-30
相关资源
相似解决方案