咱们构想有一个神经网络,输入为两个input,中间有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output。网络
图例以下:session
在实现这个神经网络的前向传播以前,咱们先补充一下重要的知识。dom
咱们初始化权重w的方法为随机生成这些权重,通常能够使用这些随机生成的数据正好在正态分布的曲线上,这也是最符合生成符合天然规律的随机数生成方法:spa
import tensorflow as tf #通常状况下神经网络上的参数是w的数列,固然咱们通常使用随机数来生成这些参数 w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1)) #其中stddev表示标准差,mean表示均值,【】表示随机生成正态分布的数值的shape
这样咱们的权重就生成了,咱们初始化input的方法有有如下几种,伪代码以下:code
除了这种方式,咱们还能够使用 tf.constant([1,2,3]),来生成指定数值 tf.zeros([2,3],int32),用来生成全零 tf.ones([2,3],int32),同来生成全1 tf.fill([3,2],6),生成指定数值
下面咱们编写一个仅有一个初始值input的神经网络,并利用tensorflow实现对其进行前向传播。由于初始值仅有一个,实现的方法一共有两种,咱们来看看第一种:orm
import tensorflow as tf x=tf.constant([[0.7,0.5]])#注意这里,写了两个中括号啊! w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1)) w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1)) #而后定义向前传播的过程 a=tf.matmul(x,w1) y=tf.matmul(a,w2) #利用session计算前向传播的结果 with tf.Session() as sess: init_op=tf.global_variables_initializer() sess.run(init_op) print(sess.run(y))#这里使用run(y)打印出结果,由于最后一个输出咱们定义的是y
输出:blog
[[3.0904665]]
咱们利用placeholder进行数据的初始化,赋值给input,使用placeholder既能够赋一个值,也能够赋多个值,这也是它很常见的缘由,代码以下:input
import tensorflow as tf x=tf.placeholder(tf.float32,shape=(1,2)) w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1)) w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1)) #一样地定义前向传播的过程 a=tf.matmul(x,w1) y=tf.matmul(a,w2) #利用session计算前向传播的结果 with tf.Session() as sess: init_op=tf.global_variables_initializer() sess.run(init_op) print(sess.run(y,feed_dict={x:[[0.7,0.5]]}))#这里使用run(y)打印出结果,由于最后一个输出咱们定义的是y
输出:it
[[3.0904665]]
结果和方法一相同。接下来就能够对多个数据进行前向传播了,也是利用placeholder方法io
代码以下:
import tensorflow as tf x=tf.placeholder(tf.float32,shape=(None,2)) w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1)) w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1) #一样地定义前向传播的过程 a=tf.matmul(x,w1) y=tf.matmul(a,w2 #利用session计算前向传播的结果 with tf.Session() as sess: init_op=tf.global_variables_initializer() sess.run(init_op) print(sess.run(y,feed_dict={x:[[0.7,0.5],[0.2,0.3],[0.5,0.5]]}))
输出:
[[3.0904665] [1.2236414] [2.5171587]]
完毕!看起来仍是挺简单的吧!tensorflow在工业界的应用仍是十分普遍的,想要创业和在业界工做的朋友就能够好好了解一下了!