LSTMCell
-
class torch.nn.LSTMCell(input_size, hidden_size, bias=True, device=None, dtype=None)[source] -
Ячейка долгосрочной краткосрочной памяти (LSTM).
где — сигмоидная функция, а — произведение Адамара.
- Параметры
- Входы: input, (h_0, c_0)
-
-
input формы
(batch, input_size)или(input_size): тензор, содержащий входные признаки -
h_0 формы
(batch, hidden_size)или(hidden_size): тензор, содержащий начальное скрытое состояние -
c_0 формы
(batch, hidden_size)или(hidden_size): тензор, содержащий начальное состояние ячейкиЕсли
(h_0, c_0)не указано, h_0 и c_0 по умолчанию равны нулю.
-
input формы
- Выходы: (h_1, c_1)
-
-
h_1 формы
(batch, hidden_size)или(hidden_size): тензор, содержащий следующее скрытое состояние -
c_1 формы
(batch, hidden_size)или(hidden_size): тензор, содержащий следующее состояние ячейки
-
h_1 формы
- Переменные
-
-
weight_ih (torch.Tensor) – обучимые весы вход-скрыто, формы
(4*hidden_size, input_size) -
weight_hh (torch.Tensor) – обучимые весы скрыто-скрыто, формы
(4*hidden_size, hidden_size) -
bias_ih – обучимое смещение вход-скрыто, формы
(4*hidden_size) -
bias_hh – обучимое смещение скрыто-скрыто, формы
(4*hidden_size)
-
weight_ih (torch.Tensor) – обучимые весы вход-скрыто, формы
Примечание
Все весы и смещения инициализируются из , где
На определённых устройствах ROCm, при использовании входных данных с плавающей запятой одинарной точности, этот модуль будет использовать разную точность для обратного распространения.
Примеры:
>>> rnn = nn.LSTMCell(10, 20) # (input_size, hidden_size) >>> input = torch.randn(2, 3, 10) # (time_steps, batch, input_size) >>> hx = torch.randn(3, 20) # (batch, hidden_size) >>> cx = torch.randn(3, 20) >>> output = [] >>> for i in range(input.size()[0]): ... hx, cx = rnn(input[i], (hx, cx)) ... output.append(hx) >>> output = torch.stack(output, dim=0)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.LSTMCell.html