日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

pytorch笔记:torch.nn.GRU torch.nn.LSTM

發布時間:2025/4/5 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch笔记:torch.nn.GRU torch.nn.LSTM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 函數介紹 (GRU)

????????對于輸入序列中的每個元素,每一層計算以下函數:

其中是在t時刻的隱藏狀態,是在t時刻的輸入。σ是sigmoid函數,*是逐元素的哈達瑪積

? ? ? ? 對于多層GRU 第l層的輸入(l≥2)是之前一層的隱藏狀態,乘以dropout?

2 輸入參數介紹(GRU)

input_size輸入特征的大小
hidden_size隱藏層h特征的大小
num_layers

GRU層數。

????????例如,設置 num_layers=2 意味著將兩個 GRU 堆疊在一起形成一個堆疊的 GRU,第二個 GRU 接收第一個 GRU 的輸出并計算最終結果。

默認值:1

bias

默認值True

上式的那些b是否為0,如果是False的話,那么這些b就都是0

batch_first

如果為 True,則輸入和輸出Tensor的維度為 (batch, seq, feature) 而不是 (seq, batch, feature)。

默認值:False

dropout

如果非零,則在除最后一層之外的每個 GRU 層的輸出上引入一個 Dropout 層,dropout 概率等于 dropout。

默認值:0

bidirectional

如果是True,那么就變成雙向GRU

默認值:False

3 使用舉例(GRU)

?3.1 輸入tensor的維度

????????? input:當batch_first=False的時候,維度為;否則是

? ? ? ? h_0:?

3.2 輸出tensor的維度

? ? ? ? output:當batch_first=False的時候,維度為;否則是

? ? ? ? h_n:

3.3 實例說明

import torchGRU=torch.nn.GRU(input_size=10,hidden_size=20,num_layers=20)input_tensor=torch.randn(5,3,10) ''' 輸入的sequence長5 batch_size為3 輸入sequence每一個元素的維度為10 ''' h0=torch.randn(1*20,3,20) ''' 第一個參數:單方向GRU(1),20層GRU(20) 第二個參數:batch_size 第三個參數:hidden_size的大小 ''' output,hn=GRU(input_tensor,h0) output.shape,hn.shape #(torch.Size([5, 3, 20]), torch.Size([20, 3, 20]))

4 torch.nn.LSTM

和GRU幾乎完全一模一樣,這里說幾個不同的地方:

聲明的時候,在bidirectional 后面還有一個參數proj_size,默認為0。如果這個參數為0,那么Hc和Hout的維度都是;如果參數大于0,那么Hc仍然是???????,Hout變成

?

?

?

????????

總結

以上是生活随笔為你收集整理的pytorch笔记:torch.nn.GRU torch.nn.LSTM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。