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 при использовании входных данных float16 этот модуль будет использовать разную точность для обратного распространения.
Примеры:
>>> 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/1.13/generated/torch.nn.LSTMCell.html