some 知识点 knowledge

输出 查看模型结构 使用print(model) model.name_module() model.named_parameters()等方式查看层级结构

对于vit reanet yolox等常见架构 结合官方文档和源吗

确定可冻结/可训练的模块 在vit中 可以冻结 patch_embed 和前几层blocks 只微调后面几层+分类头

通过requires_grad控制梯度更新 冻结backbone 解冻特定层

微调的时候 不同模块用不同的学习率

还有的是在不同的epoch使用不同的学习率

学习率调度知识点:

按epoch变化 step decay 阶梯衰减 每隔固定epoch 学习率*一个衰减因子

多阶段衰减,在预设的epoch节点 衰减

linear warmup_decay 线性预热+衰减 前几个epoch线性增加 learning rate 之后按照step/cosine衰减

啥是cosine decay?余弦衰减 学习率就像余弦的图像一样衰减下来

关于早停机制、保存最佳模型、最终模型是否最优

在深度学习训练中,训练loss会持续下降,但是验证指标(比如准确率 mAp f1 )往往会线上升后下降 这就是过拟合

F1的计算就是:

不能只是保存最后的checkpoint 而是要监控验证指标,保存历史最佳

最好的标准是自己决定的:你所关心的指标达到最优就是 最好

早停机制 :当模型在验证集上不再变好时,提前终止训练, 在每个epoch 或者是n个step 在验证集上评估指标 如果连续 m个epoch没有提升,就停止训练

让我想起了一个叫做优化器的东西。

optimizer = torch.optim.AdamW(

model.parameters(),#model.parameters这些参数是需要被更新的

lr=5e-5,#学习率

weight_decay=0.05,#衰减

betas=(0.9, 0.98) # ViT 常用 beta1=0.9 当前梯度占0.1 过去梯度占0.9 beta2=0.98梯度平方的平滑,控制步长缩放,防止某些参数更新太猛

scheduler = get_cosine_schedule_with_warmup(

optimizer,

num_warmup_steps=500,#学习率这样持续500个step 注意step和epoch的区别 训练一次就能看出来了 epoch是多个step

num_training_steps=total_steps

)

相关推荐
端平入洛41 分钟前
梯度是什么:PyTorch 自动求导详解
人工智能·深度学习
Uopiasd1234oo1 小时前
上下文引导模块改进YOLOv26局部与全局特征融合能力双重提升
深度学习·yolo·机器学习
动物园猫3 小时前
工业织物缺陷目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测
ACCELERATOR_LLC3 小时前
【DataWhale组队学习】DIY-LLM Task6 评估与基准测试
人工智能·深度学习·大模型·模型评估
狮子座明仔3 小时前
ThinkTwice: 让模型学会“做完题再检查一遍“,推理+自纠错联合训练只加3%开销
大数据·人工智能·深度学习
隔壁大炮4 小时前
Day07-RNN层(循环网络层)
人工智能·pytorch·python·rnn·深度学习·神经网络·计算机视觉
用AI赚一点5 小时前
AI落地不是造大模型:从概念到落地的核心差异
人工智能·深度学习·机器学习
小超同学你好5 小时前
Transformer 30. MoCo:用「动量编码器 + 队列字典」把对比学习做成可扩展的“字典查找”
深度学习·学习·transformer
这张生成的图像能检测吗5 小时前
(论文速读)Sonnet:多变量时间序列预测的谱算子神经网络
人工智能·深度学习·时序预测·时序模型
AI医影跨模态组学5 小时前
Research(IF=10.9)南方医科大学珠江医院汪洋教授等团队:深度学习在脊柱MRI诊断中的应用:AI辅助与人工的多中心对比研究
人工智能·深度学习·论文·医学影像·影像组学