如何解决何时使用分离
如果我有两个不同的神经网络(由model1和model2参数化)和相应的两个优化程序,那么使用不带detach()的model2.parameters的以下操作是否会导致其梯度发生变化?我的要求是,我只想计算两个模型参数之间的均方损失,但更新与model1对应的优化器,而保持model2不变。
opt1 = torch.optim.SGD(self.model1.parameters(),lr=1e-3)
opt2 = torch.optim.SGD(self.model2.parameters(),lr=1e-3)
loss = (self.lamb / 2.) * ((torch.nn.utils.parameters_to_vector(self.model1.parameters()) - torch.nn.utils.parameters_to_vector(self.model2.parameters()))**2).sum()
loss.backward()
opt1.step()
我一般如何决定是否对任何操作使用分离?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。