pytorch 中 torch.nn.gru 函数的输入是什么?
what is the inputs to a torch.nn.gru function in pytorch?
我正在使用 gru 函数来实现 RNN。这个 RNN (GRU) 在一些 CNN 层之后使用。有人可以告诉我这里 GRU 函数的输入是什么吗?特别是,隐藏大小是固定的吗?
self.gru = torch.nn.GRU(
input_size=input_size,
hidden_size=128,
num_layers=1,
batch_first=True,
bidirectional=True)
根据我的理解,输入大小将是特征的数量,而 GRU 的隐藏大小始终固定为 128?有人可以纠正我吗?或者给出他们的反馈
首先,GRU
不是一个函数,而是一个 class,而您正在调用它的构造函数。你在这里创建了一个 class GRU
的实例,它是一个层(或者在 pytorch 中是 Module
)。
input_size
必须匹配前一个 CNN 层的 out_channels
。
None 你看到的参数是固定的。只要在那里放另一个值,它就会是别的东西,即将 128 替换为任何你喜欢的东西。
即使它被称为hidden_size
,对于 GRU 这个参数也决定了输出特征。换句话说,如果在 GRU 之后还有另一层,则该层的 input_size
(或 in_features
或 in_channels
或任何名称)必须与 GRU 的 hidden_size
.
另外,看看 documentation。这会准确地告诉您传递给构造函数的参数有什么用。此外,它还会告诉您实际使用图层(通过 self.gru(...)
)后预期的输入是什么,以及该调用的输出是什么。
我正在使用 gru 函数来实现 RNN。这个 RNN (GRU) 在一些 CNN 层之后使用。有人可以告诉我这里 GRU 函数的输入是什么吗?特别是,隐藏大小是固定的吗?
self.gru = torch.nn.GRU(
input_size=input_size,
hidden_size=128,
num_layers=1,
batch_first=True,
bidirectional=True)
根据我的理解,输入大小将是特征的数量,而 GRU 的隐藏大小始终固定为 128?有人可以纠正我吗?或者给出他们的反馈
首先,GRU
不是一个函数,而是一个 class,而您正在调用它的构造函数。你在这里创建了一个 class GRU
的实例,它是一个层(或者在 pytorch 中是 Module
)。
input_size
必须匹配前一个 CNN 层的 out_channels
。
None 你看到的参数是固定的。只要在那里放另一个值,它就会是别的东西,即将 128 替换为任何你喜欢的东西。
即使它被称为hidden_size
,对于 GRU 这个参数也决定了输出特征。换句话说,如果在 GRU 之后还有另一层,则该层的 input_size
(或 in_features
或 in_channels
或任何名称)必须与 GRU 的 hidden_size
.
另外,看看 documentation。这会准确地告诉您传递给构造函数的参数有什么用。此外,它还会告诉您实际使用图层(通过 self.gru(...)
)后预期的输入是什么,以及该调用的输出是什么。