【发布时间】:2020-04-08 20:25:50
【问题描述】:
我是深度学习和 Pytorch 的新手。我有以下问题:
我的整体架构由我定义的一个网络 (NN1) 和另一个预训练网络 (NN2) 组成,因此 NN1 的输出是 NN2 的输入。我想使用 NN2 的输出与已知的真实情况之间的差异 (RMSE) 来定义 NN1 的损失。 我需要通过 NN2 和 NN1 反向传播(训练 NN1),而不更改 NN2。
我可以在 NN2 上使用requires_grad=False,但它会禁用通过 NN2 的反向传播吗?如何在 Pytorch 中指定此要求?
谢谢。
【问题讨论】:
-
通常
requires_grad=False应该这样做,但我不确定。也许你应该尝试对一批数据进行训练,看看它是否收敛(故意让它过拟合)。如果是这样,那么这有效。
标签: pytorch