Tensorflow學習之旅(4)
阿新 • • 發佈:2018-12-20
import tensorflow as tf #定義新增神經層的函式def add_layer(),它有四個引數:輸入值、輸入的大小、輸出的大小和激勵函式 #我們設定預設的激勵函式是None from __future__ import print_function import tensorflow as tf # 個人的看法,在每一層做計算的時候,要搞清楚矩陣的維度 # 這個的表示方式和吳恩達教程上面的表示方式是相反的 # inputs =[樣本數 * 特徵數] ,而吳恩達的教程是 特徵數*樣本數 """ 所以,這裡的表示方式是: input * weights 假如,輸入層的結點個數是2,隱層是3 input=[n*2] ,weihts=[2*3] ,bias=[1,3] input*weigths=[n,3] + bias=[1,3] ,這樣的矩陣維度相加的時候,python會執行它的廣播機制 so,這一層的輸出的維度是 [n,3] """ def add_layer(inputs, in_size, out_size, activation_function=None): 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 if activation_function is None: outputs = Wx_plus_b else: outputs = activation_function(Wx_plus_b) return outputs ##這個地方我覺得有點繞。於是思考了下 #N * 2 N個樣本,每個樣本有兩個特徵 # 2個特徵要傳向 3個 隱藏層# # # A ------- B # ------- B # A ------- B #也就是說 [N* 2] * [2 * 3] ==[N * 3] #理解為矩陣乘法就很不錯了 #所以樣例裡。in_size=2 #out_size=3 #activation_function為激勵函式 #inputs 應該是一個 N*2的list
暑假就在接觸Tensorflow了,但是一直斷斷續續的,所以現在又開始撿起來繼續學。