美文网首页
tensorflow Def 添加层和在此基础上构建一个简单的神

tensorflow Def 添加层和在此基础上构建一个简单的神

作者: 朱宏飞 | 来源:发表于2018-08-24 22:12 被阅读0次

import tensorflow as tf

#创建一个神经层

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

    #这里激励函数默认为0,则可认为激励函数为线性

    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

    #还未被激活的值被赋予在Wx_plus_b中,下一步是去激活他

    if activation_function is None:

        outputs=Wx_plus_b

        #说明outputs是一个线性方程,不需要去activation_function.

        #使用activation_funtion将一个线性的函数变换成一个非线性的函数

    else:

    outputs=activation_function(Wx_plus_b)

    return outputs

构建简单的神经网络

import tensorflow as tf

#创建一个神经层

import numpy as np

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

    #这里激励函数默认为0,则可认为激励函数为线性

    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

    #还未被激活的值被赋予在Wx_plus_b中,下一步是去激活他

    if activation_function is None:

        outputs=Wx_plus_b

        #说明outputs是一个线性方程,不需要去activation_function.

        #使用activation_funtion将一个线性的函数变换成一个非线性的函数

    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])# 1是指的数据的尺寸,None指的batch size的大小,可以是任何数。

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

# 该模型由三层神经网络组成 输入层 隐藏层 输出层  l1是输入层  predication是输出层

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

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

loss=tf.reduce_mean(reduce_sum(tf.square(ys-predication),reducition_indices=[1]))

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

init=tf.initialize_all_variables()

with tf.Session() as sess:

    sess.run(init)

for i in range(1000):

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

    if i%50:

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

相关文章

网友评论

      本文标题:tensorflow Def 添加层和在此基础上构建一个简单的神

      本文链接:https://www.haomeiwen.com/subject/dvwiiftx.html