使用 ModuleDict,我有: 输入类型 (torch.cuda.FloatTensor) 和权重类型 (torch.FloatTensor) 应该相同
Using ModuleDict, I have: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
我正在尝试 __init__
函数:
self.downscale_time_conv = np.empty(8, dtype=object)
for i in range(8):
self.downscale_time_conv[i] = torch.nn.ModuleDict({})
但在我的 forward
中,我有:
down_out = False
for i in range(8):
if not down_out:
down_out = self.downscale_time_conv[i][side](inputs)
else:
down_out += self.downscale_time_conv[i][side](inputs)
我得到:
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
self.downscale_time_conv = torch.nn.ModuleList()
for i in range(8):
self.downscale_time_conv.append(torch.nn.ModuleDict({}))
这解决了它。显然我需要使用 ModuleList
我正在尝试 __init__
函数:
self.downscale_time_conv = np.empty(8, dtype=object)
for i in range(8):
self.downscale_time_conv[i] = torch.nn.ModuleDict({})
但在我的 forward
中,我有:
down_out = False
for i in range(8):
if not down_out:
down_out = self.downscale_time_conv[i][side](inputs)
else:
down_out += self.downscale_time_conv[i][side](inputs)
我得到:
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
self.downscale_time_conv = torch.nn.ModuleList()
for i in range(8):
self.downscale_time_conv.append(torch.nn.ModuleDict({}))
这解决了它。显然我需要使用 ModuleList