引數:權重w,用變數表示,隨機給初值。
w=tf.variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1))
tf.zeros #全0陣列
tf.ones #全1陣列
tf.fill #全定值陣列
tf.constant #直接給值
###例項如下:
tf.zeros([3,2],int32) #生成 [[0,0],[0,0],[0,0]]
tf.ones([3,2],int32) #生成[[1,1],[1,1],[1,1]]
tf.fill([3,2],6) #生成[[6,6],[6,6],[6,6]]
tf.constant([3,2,1]) #生成 [3,2,1]
神經網路實現過程:
1.準備資料集,提取特徵,作為輸入餵給神經網路(nn)
2.搭建nn結構,從輸入到輸出(先搭建計算圖,在用會話執行)
(nn向前傳播演算法----->計算輸出)
3.大量特徵資料餵給nn,迭代優化nn引數
(nn方向傳播演算法------>優化引數訓練模型)
4.使用訓練好的模型**和分類
2 #兩層簡單神經網路(全連線)
3 import tensorflow as tf
4 5 #定義輸入和引數
6 x = tf.constant([[0.7,0.5]])
7 w1 = tf.variable(tf.random_normal([2,3],stddev=1,seed=1)) #2行3列正態分佈隨機數,標準差為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 with tf.session() as sess:
16 init_op = tf.global_variables_initializer()
17 sess.run(init_op)
18 print "y in tf3_3.py is:\n",sess.run(y)
19 20 '''
21 y in tf3_3.py is:
22 [[3.0904665]]
23 '''
在敲**的過程中有兩個地方容易出錯:
1. w1 = tf.variable()中的variable的首字母要大寫,同理w2
2.在會話計算結果中,初始化變數時: init_op = tf.global_variables_initializer()中的variables中的s容易漏掉。
1 #coding:utf-8
2 #兩層簡單神經網路(全連線)
3 4 import tensorflow as tf
5 6 #定義輸入和引數
7 #用placeholder實現輸入定義 (sess.run中喂一組資料)
8 x = tf.placeholder(tf.float32,shape=(1,2))
9 w1 = tf.variable(tf.random_normal([2,3],stddev=1,seed=1))
10 w2 = tf.variable(tf.random_normal([3,1],stddev=1,seed=1))
11 12 #定義前向傳播過程
13 a = tf.matmul(x,w1)
14 y = tf.matmul(a,w2)
15 16 #用會話計算結果
17 with tf.session() as sess:
18 init_op = tf.global_variables_initializer()
19 sess.run(init_op)
20 print "y in tf3_4.py is:\n",sess.run(y,feed_dict=)
21 22 '''
23 y in tf3_3.py is:
24 [[3.0904665]]
利用placeholder向sess.run中餵入多組資料,**如下:
1 #coding:utf-8
2 #兩層簡單神經網路(全連線)
3 4 import tensorflow as tf
5 6 #定義輸入和引數
7 #用placeholder定義輸入(sess.run喂多組資料)
8 x = tf.placeholder(tf.float32,shape=(none,2)) ##因為不確定喂幾組資料,將shape的第乙個引數設定為none,第二個引數為2代表體積和重量這兩個特徵引數
9 w1 = tf.variable(tf.random_normal([2,3],stddev=1,seed=1))
10 w2 = tf.variable(tf.random_normal([3,1],stddev=1,seed=1))
11 12 #定義前向傳播過程
13 a = tf.matmul(x, w1)
14 y = tf.matmul(a, w2)
15 16 #呼叫會話計算結果
17 with tf.session() as sess:
18 init_op = tf.global_variables_initializer()
19 sess.run(init_op)
20 print "the result of tf3_5.py is:\n",sess.run(y,feed_dict=)
21 print "w1:\n",sess.run(w1)
22 print "w2:\n",sess.run(w2)
3 2前向傳播
前向傳播 搭建模型,實現推理 以全連線網路為例 例如 生產一批零件講體積x1,和重量x2為特徵輸入nn,通過nn後輸入乙個數值。神經網路圖 變數初始化,計算圖節點運算都要用會話 with結構 實現 with tf.session as sess sess.run 變數初始化 在sess.run函式中...