如何增添**,在乙個隱藏層的基礎上加入乙個新的隱藏層,變為兩個隱藏層
單層感知機:
#乙個隱藏層
num_inputs,num_outputs,num_hiddens=
784,10,
256#隱藏層的權重引數和偏置引數
w1=torch.tensor(np.random.normal(0,
0.01
,(num_inputs,num_hiddens)
),dtype=torch.
float
)b1=torch.zeros(num_hiddens,dtype=torch.
float
)#輸出層的權重引數和偏置引數
w2=torch.tensor(np.random.normal(0,
0.01
,(num_hiddens,num_outputs)
),dtype=torch.
float
)b2=torch.zeros(num_outputs,dtype=torch.
float
)params=
[w1,b1,w2,b2]
for param in params:
param.requires_grad_(requires_grad=
true
)
#定義模型
defnet
(x):
#將原始轉成一維向量
x=x.view((-
1,num_inputs)
)#隱藏層變數h的計算
h=relu(torch.matmul(x,w1)
+b1)
#輸入層的計算
return torch.matmul(h,w2)
+b2
多層感知機:
#輸入個輸為784,輸出個輸為10,超引數隱藏單元個數為256
num_inputs,num_outputs,num_hiddens1,num_hiddens2=
784,10,
256,
256#隱藏層的權重引數和偏置引數
w1=torch.tensor(np.random.normal(0,
0.01
,(num_inputs,num_hiddens1)
),dtype=torch.
float
)b1=torch.zeros(num_hiddens1,dtype=torch.
float
)w2=torch.tensor(np.random.normal(0,
0.01
,(num_hiddens1,num_hiddens2)
),dtype=torch.
float
)b2=torch.zeros(num_hiddens2,dtype=torch.
float
)#輸出層的權重引數和偏置引數
w3=torch.tensor(np.random.normal(0,
0.01
,(num_hiddens2,num_outputs)
),dtype=torch.
float
)b3=torch.zeros(num_outputs,dtype=torch.
float
)params=
[w1,b1,w2,b2,w3,b3]
for param in params:
param.requires_grad_(requires_grad=
true
)
#定義模型
defnet
(x):
#將原始轉成一維向量
x=x.view((-
1,num_inputs)
)#隱藏層變數h的計算
h1=relu(torch.matmul(x,w1)
+b1)
h2=relu(torch.matmul(h1,w2)
+b2)
#輸入層的計算
return torch.matmul(h2,w3)
+b3
深度學習入門07 多層感知機
異或門可以通過其他閘電路進行表示,我們可以通過組合與門 與非門 或門實現異或門的邏輯功能 在大學的 數字電子技術基礎 這門課中,這個是非常基礎的知識哦 在已知與門 與非門 或門的邏輯功能 真值表 的情況下,如何使用這些邏輯門組合出異或門的邏輯功能呢?我們在這裡給大家提供一種思路,按照下面組合的方式將...
《動手學深度學習》多層感知機
多層感知機含有乙個隱藏層,以下是一種含單隱藏層的多層感知機的設計,其輸出o r n q boldsymbol in mathbb o rn q 的公式為 h x wh b h,o hwo bo begin boldsymbol boldsymbol boldsymbol h boldsymbol h...
pyTorch深度學習多層感知機的實現
目錄 前兩節實現的linear model 和 softmax model 是單層神經網路,只包含乙個輸入層和乙個輸出層,因為輸入層不對資料進行transformation,所以只算一層輸出層。多層感知機 mutilayer preceptron 加入了隱藏層,將神經網路的層級加深,因為線性層的串聯...