我正在编写一个PyTorch模型,其中包括以下内容:
self.basis_mat=torch.nn.Linear(
in_features=self.basis_mat_params[0],
out_features=self.basis_mat_params[1],
bias=self.basis_mat_params[2]).to(device)
现在我想做的是动态递增self.basis_mat
的out_features
。然而,我也想保留任何以前训练过的参数。换句话说,我们随机初始化任何新参数,而其余参数不变,而out_features
在模型中递增。
那我该怎么办
我真的不知道该尝试什么...我检查了the documentation,但结果是在torch.nn.Linear
中参数out_features
是不可更改的,如果我示例化一个新的torch.nn.Linear
(我想这会很慢,所以即使类似的东西也能工作,我也只会把它作为最后的手段),参数是内置的,随机的,不可调整的。
1条答案
按热度按时间lnlaulya1#
您可以执行以下操作,
然后,线性层将具有以下权重和偏置参数值。您可以看到旧参数的值(在示例中这些值为零)已经替换了相应位置的随机参数。
线性层的权重和偏移参数与任何其他Tensor类似。你可以对它使用Tensor操作。