搭建神經網路2

2021-10-03 08:40:11 字數 2562 閱讀 6386

神經網路共有幾層(或當前是第幾層網路)都是指的計算層,輸入不是計算層,所以a為第一層網路,a是乙個一行三列矩陣。

我們把每層輸入乘以線上的權重w,這樣用矩陣可以計算出y了。

a=tf.matmul(x,w1)

y=tf.matmul(a,w2)

由於需要計算結果,就要用with結構實現,所有變數初始化過程、計算過程都要放到sess.run函式中。對於變數初始化,我們在sess.run中寫入tf.global_variable_initializer實現對所有變數初始化,也就是賦初值。對於計算圖中的運算,我們直接把運算節點填入sess.run即可,比如要計算y,直接寫sess.run(y)即可。

在實際應用中,我們可以一次餵入一組或多組輸入,讓神經網路計算輸出y,可以先用tf.placeholder給輸入佔位。如果一次喂一組資料,shape的第一維位置寫1,第二維位置要看有幾個輸入特徵;如果一次喂多組資料,shape的第一維位置可以寫none表示先空著,第二維位置寫有幾個輸入特徵。這樣在feed_dict中可以餵入若干組體積重量了。

這是乙個實現神經網路前向傳輸過程,網路可以自動推理出輸出y的值。

1)用placeholder實現輸入定義(sess.run中未入一組資料)的情況,第一組喂體積0.7、重量0.5

import tensorflow as tf#引入模組

#定義輸入

x = tf.placeholder(tf.float32,shape=(1,2))#shape=(1,2)表示一組資料,2個特徵

#定義隨機生成引數(變數)

w1 = tf.variable(tf.random_normal([2,3],stddev=1,seed=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)

#用會話計算結果

with tf.session() as sess:

init_op = tf.global_variables_initializer()

sess.run(init_op)#變數初始化,在sess.run函式中彙總所有待優化變數

print("y:",sess.run(y,feed_dict=))#x的值是乙個1行2列的二維矩陣

執行結果

2)用placeholder實現輸入定義(sess.run中餵入多組資料)的情況

各組體積、重量分別為[0.7,0.5]、[0.2,0.3]、[0.3,0.4]、[0.4,0.5]

import tensorflow as tf#引入模組

#定義輸入

x = tf.placeholder(tf.float32,shape=(none,2))#shape=(none,2)表示多少組資料不知道,有2個特徵

#定義隨機生成引數(變數)

w1 = tf.variable(tf.random_normal([2,3],stddev=1,seed=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)

#用會話計算結果

with tf.session() as sess:

init_op = tf.global_variables_initializer()

sess.run(init_op)#變數初始化,在sess.run函式中彙總所有待優化變數

print("y:",sess.run(y,feed_dict=))#x的值是乙個4行2列的二維矩陣

print("w1:",sess.run(w1))#檢視隨機生成的引數

print("w2",sess.run(w2))

執行結果:

續:

搭建神經網路

1.import 2.train,test 3.model tf.keras.model.sequential 在sequential中描述網路結構,相當於走一遍前向傳播 4.model.compile 在compile中配置訓練方法,選擇哪個優化器,選擇什麼損失函式,選擇什麼評價指標 5.mode...

神經網路2

利用神經網路,採用合適的權重來實現邏輯電路中的與 或 非門等的實際計算 多個各種功能的神經元的疊加計算,有點類似agent的思想,將不同功能的單位組合起來實現同一目的 處理多種分類問題的模型,神經網路的優勢個人目前感覺就是我只需要收集簡單的資料資訊,神經網路自己進行挑選,計算,最終給出我們想要的結果...

神經網路體系搭建(一) 神經網路

本篇是神經網路體系搭建的第一篇,解決體系搭建的前四個問題,詳見神經網路體系搭建 序 神經網路的定義就不再贅述,直接從最簡單的神經網路說起。將一系列輸入資料,通過訓練好的網路模型處理,得到輸出結果,這是神經網路決策的步驟。那麼我們的重點就是通過訓練得到網路模型。從上圖可以看出,模型的關鍵其實是尋找合適...