GRUCell
-
class torch.nn.modules.rnn.GRUCell(input_size, hidden_size, bias=True, device=None, dtype=None)[source] -
Ячейка с вентильным рекуррентным блоком (GRU).
где — сигмоидная функция, а — произведение Адамара.
- Параметры:
- Входные данные: input, hidden
-
- input : тензор, содержащий входные признаки
- hidden : тензор, содержащий начальное скрытое состояние для каждого элемента в пакете. Если значение не задано, по умолчанию используется ноль.
- Выходные данные: h’
-
- h’ : тензор, содержащий следующее скрытое состояние для каждого элемента в пакете
- Форма:
-
- input: или тензор, содержащий входные признаки, где =
input_size. - hidden: или тензор, содержащий начальное скрытое состояние, где =
hidden_size. Если значение не задано, по умолчанию используется ноль. - output: или тензор, содержащий следующее скрытое состояние.
- input: или тензор, содержащий входные признаки, где =
- Переменные:
-
-
weight_ih (torch.Tensor) – обучаемые веса между входом и скрытым состоянием, формы
(3*hidden_size, input_size) -
weight_hh (torch.Tensor) – обучаемые веса между скрытыми состояниями, формы
(3*hidden_size, hidden_size) -
bias_ih – обучаемое смещение между входом и скрытым состоянием, формы
(3*hidden_size) -
bias_hh – обучаемое смещение между скрытыми состояниями, формы
(3*hidden_size)
-
weight_ih (torch.Tensor) – обучаемые веса между входом и скрытым состоянием, формы
Примечание
Все веса и смещения инициализируются из распределения , где
На некоторых устройствах ROCm при использовании входных данных float16 этот модуль использует другую точность для обратного распространения.
Примеры:
>>> rnn = nn.GRUCell(10, 20) >>> input = torch.randn(6, 3, 10) >>> hx = torch.randn(3, 20) >>> output = [] >>> for i in range(6): ... hx = rnn(input[i], hx) ... output.append(hx)
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.modules.rnn.GRUCell.html