Tensorflow學習筆記三---前向傳播
前向傳播
目的:搭建模型,實現推理
一些重要的概念
- 引數
上圖中的w(權重)即為引數,一般隨機賦給初值 - 計算
對於這麼一個神經元,y的值為
事實上用矩陣表達更方便也跟通常一點
tensorflow中提供的一些重要函式
- 生成變數
w = tf.Varable(tf.random_normal([2,3],stddev = 2,mean=0,seed=1))
# 生成正態分佈 2x3的矩陣 標準差等於2 均值為0 種子為1
# 與之類似的還有
tf.zeros([2,3],int32) #生成全為0的矩陣
tf.ones([2,3],int32) #生成全為1的矩陣
tf.fill([2,3],6) #生成為定值的矩陣
tf.constant([3,2]) #生成給定的常數矩陣
例子
生產一批零件以體積和重量為特徵輸入NN,通過NN後輸出一個值
所以y為
用tensorflow表達
1 #coding:utf-8
2 import tensorflow as tf
3
4 #定義輸入和引數
5 #一行兩列的輸入代表重量和體積
6 x = tf.constant([[0.7,0.5]])
7 w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
8 w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
9
10 #定義向前傳播過程
11 a = tf.matmul(x,w1)
12 y = tf.matmul(a,w2)
13
14 #用會話計算結果
15
16 with tf.Session() as sess:
17 init_op = tf.global_variables_initializer()
18 sess.run(init_op)
19 print('y in tensorflow2.py is:\n',sess.run(y))