torch.nn.Sequential(pytroch)中的关键字参数

时间:2019-08-13 16:10:16

标签: pytorch

关于torch.nn.Sequential中的关键字的问题,是否可以通过某种方式将关键字按顺序转发到特定模型?

    model = torch.nn.Sequential(model_0, MaxPoolingChannel(1))
    res = model(input_ids_2, keyword_test=mask)

在这里,只能将keyword_test转发到第一个模型。

非常感谢!

我的副本-https://discuss.pytorch.org/t/keyword-arguments-in-torch-nn-sequential/53282

1 个答案:

答案 0 :(得分:0)

否;你不能。仅当传递给nn.Sequential的所有模型都希望您尝试使用其forward方法传递的参数时(至少在编写此参数时),才有可能。

可能有两种解决方法(我不了解整个案例,但从问题中可以预料到):

  • 如果您的值是静态的,为什么不使用该值初始化您的第一个模型,并在计算期间使用self.keyword_test访问它。

  • 如果值是动态的,则可以将其作为输入中的固有属性;因此,您也可以在使用input_ids_2.keyword_test

  • 计算期间访问它