glo*_*mba 4 python deep-learning keras
我想在 Keras 中冻结一个预先训练好的网络。我base.trainable = False在文档中找到了。但我不明白它是如何工作的。随着len(model.trainable_weights)我发现我有30个训练的权重。怎么可能?网络显示总可训练参数:16,812,353。冷冻后我有 4 个可训练的重量。也许我不明白参数和权重之间的区别。不幸的是,我是深度学习的初学者。也许有人可以帮助我。
默认情况下, KerasModel是可训练的- 您有两种方法可以冻结所有权重:
model.trainable = False 在编译模型之前for layer in model.layers: layer.trainable = False - 在编译之前和之后工作(1) 必须在编译之前完成,因为 Keras 在编译时将其model.trainable视为布尔标志,并在后台执行 (2)。完成上述任一操作后,您应该看到:
print(model.trainable_weights)
# []
Run Code Online (Sandbox Code Playgroud)
关于文档,可能已经过时 - 请参阅上面的链接源代码,最新。
| 归档时间: |
|
| 查看次数: |
6818 次 |
| 最近记录: |