机器学习中的迁移学习与模型优化
1. 模型评估与微调
在进行模型评估时,我们可以通过在原模型基础上应用 sigmoid 函数来调整模型,使其输出概率而非对数几率。以下是具体代码:
eval_model = model |> Axon.sigmoid()
eval_model
|> Axon.Loop.evaluator()
|> Axon.Loop.metric(:accuracy)
|> Axon.Loop.run(test_pipeline, trained_model_state, compiler: EXLA)
运行上述代码后,可能会得到类似如下的结果:
Batch: 23, accuracy: 0.9449407
这表明,通过在预训练模型上添加一个密集输出层,我们能够显著超越自定义模型的性能。但仍有提升空间,接下来可以对模型进行微调以获得更好的性能。
微调模型时,我们需要解冻预训练模型的部分层,使其学习特定于我们问题的特征。以下是具体步骤:
1. 解冻模型的前 50 层:
model = model |> Axon.unfreeze(up: 50)
- 重写训练管道:
los
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



