2025.3.19 LSTM
code:format.py
class torch.nn.LSTM(input_size, hidden_size, num_layers=1, bias=True, batch_first=False, dropout=0.0, bidirectional=False, proj_size=0, device=None, dtype=None)
input_size : 入力 x
hidden_size : 隠れ状態 h
num_layers=1 : リカレントレイヤーの数、
bias=True : バイアスの有効化
batch_first=False
dropout=0.0 : ドロップアウトの率
bidirectional=False : 双方向LSTMの有効化
proj_size=0
device=None
dtype=None
code:p1.py
import torch as pt
input_size = 3
hidden_size = 5
num_layers = 2
rnn = pt.nn.LSTM(input_size, hidden_size, num_layers)
params = list(rnn.parameters())
print(type(params), len(params))
for i in params:
print(i.shape)
input_size = 2
hidden_size = 5
num_layers = 3
<class 'list'> 12
torch.Size(20, 2) # 20はhidden×4の意味?、2はinput torch.Size(20, 5) # 5は前層からの入力? レイヤあたり4つのテンソルが保持されている。
(関連)