Я использую convGRU из здесь , и он работает нормально, когда я использую его в последовательном режиме, но не работает с функционалом. Когда я говорю, что это не работает, я имею в виду, что я получаю черные прогнозы от Функционала, в то время как от Последовательного выходы похожи на входы. Все остальное в коде остается прежним. Ниже приведен пример того, что я последовательно получаю с одним и другим (будучи первой строкой - целью, а второй - прогнозом)
class MyModule(nn.Module):
def __init__(self):
super(MyModule, self).__init__()
self.rnn1 = ConvGRU(
input_size=(64, 64),
input_dim=1,
hidden_dim=1,
kernel_size=(3, 3),
num_layers=1,
dtype=dtype,
batch_first=True,
bias=True,
return_all_layers=False,
)
def forward(self, x):
x = self.rnn1(x)
return x
против
model = nn.Sequential(
ConvGRU(
input_size=(64, 64),
input_dim=1,
hidden_dim=1,
kernel_size=(3, 3),
num_layers=1,
dtype=dtype,
batch_first=True,
bias=True,
return_all_layers=False,
)
)
Есть ли идеи, если при программировании пользовательских слоев должны быть разные соображения относительно того, когда он предназначен для использования в функциональном или последовательном?
Спасибо!