我目前正在处理一个转移学习问题,所以我想冻结我的大部分层,这样模型就不会被重新训练,只修改最后一层的权重。如何选择使用Flux.jl冻结哪些层?
发布于 2021-08-28 10:53:21
Flux提供了一个简单的接口来实现这一点,即只将您想要修改的层传递给Flux.params()函数,如下所示:
m = Chain(
Dense(784, 64, relu),
Dense(64, 64, relu),
Dense(32, 10)
)
ps = Flux.params(m[3:end])在上面的示例中,我们选择只更新最终的Dense层(这通常是您在迁移学习示例中所做的操作)。
你可以在关于迁移学习的Flux.jl教程中看到一个完整的例子:https://fluxml.ai/tutorials/2020/10/18/transfer-learning.html
https://stackoverflow.com/questions/68963649
复制相似问题