我正在使用此方法
(https://discuss.pytorch.org/t/dynamic-parameter-declaration-in-forward-function/427)来动态分配forward
函数中的参数。
但是,我的参数不仅仅是单个权重张量,而是nn.Sequential
。
当我执行以下操作时:
class MyModule(nn.Module):
def __init__(self):
# you need to register the parameter names earlier
self.register_parameter('W_di', None)
def forward(self, input):
if self.W_di is None:
self.W_di = nn.Sequential(
nn.Linear(mL_n * 2, 1024),
nn.ReLU(),
nn.Linear(1024, self.hS)).to(device)
我收到以下错误消息。
TypeError: cannot assign 'torch.nn.modules.container.Sequential' as parameter 'W_di' (torch.nn.Parameter or None expected)
有什么方法可以将nn.Sequential
注册为整个参数?谢谢!