news 2026/6/15 22:48:10

25.12.18_第P5周:运动鞋识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
25.12.18_第P5周:运动鞋识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客

  • 🍖 原作者:K同学啊

一、我的环境

二、动态学习率

这个地方使用的是官方的动态学习率接口,最开始源代码中0.92 ** (epoch // 2),在多轮实验中,后期的模型都训练不动,loss不降我采用了Adam、标签平滑、正则化,都没有讲test_acc提升到84%。掉回头来修改衰减梯度,在最后两轮达到了最终目标,修改代码是0.95*epoch,减缓了衰减速度,让模型更容易收敛。我也不懂为啥就实现了目标,我问ai,ai建议如下。最近建议我尝试余弦退火策略,因为我的acc曲线最终还是掉了一些下去,

为什么“平滑”能提高准确率?

你可以看看这两个对比图(想象):

  1. 配合动量(Momentum)

    • 现在的优化器(如 Adam)都有“惯性”。

    • 旧方案的突变会打断惯性,导致模型在那个瞬间方向迷失。

    • 新方案顺应惯性,让模型在减速的同时依然保持方向感,更容易滑入“全局最优解”(Global Minima)。

  2. 更早的干预

    • 旧方案前 2 轮学习率完全没变。如果初始学习率这就有点大,前 2 轮可能已经跑偏了。

    • 新方案从第 1 轮就开始减速(乘以 0.95)。这种“尽早介入、温柔介入”的策略,能防止模型在训练初期因为步子太大而跳出最优解的坑。

三 代码

# # 调用官方动态学习率接口时使用 learn_rate = 1e-4 lambda1 = lambda epoch: (0.95 ** epoch) optimizer = torch.optim.SGD(model.parameters(), lr=learn_rate) scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda=lambda1) #选定调整方法
loss_fn = nn.CrossEntropyLoss() # 创建损失函数 epochs = 40 train_loss = [] train_acc = [] test_loss = [] test_acc = [] for epoch in range(epochs): # 更新学习率(使用自定义学习率时使用) model.train() epoch_train_acc, epoch_train_loss = train(train_dl, model, loss_fn, optimizer) # scheduler.step() # 更新学习率(调用官方动态学习率接口时使用) model.eval() epoch_test_acc, epoch_test_loss = test(test_dl, model, loss_fn) scheduler.step() train_acc.append(epoch_train_acc) train_loss.append(epoch_train_loss) test_acc.append(epoch_test_acc) test_loss.append(epoch_test_loss) # 获取当前的学习率 lr = optimizer.state_dict()['param_groups'][0]['lr'] template = ('Epoch:{:2d}, Train_acc:{:.1f}%, Train_loss:{:.3f}, Test_acc:{:.1f}%, Test_loss:{:.3f}, Lr:{:.2E}') print(template.format(epoch+1, epoch_train_acc*100, epoch_train_loss, epoch_test_acc*100, epoch_test_loss, lr)) print('Done')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 5:07:40

COMSOL模拟相场锂枝晶:相场+浓度+电势的联合仿真

comsol模拟相场锂枝晶—相场浓度电势。 此案例为文献复现,含视频讲解。「玩COMSOL的老司机都懂,搞锂枝晶模拟最酸爽的就是相场、浓度、电势三场耦合。今天这个案例直接扒了文献里的核心算法,带大家手把手搭个能跑出枝晶分叉的模型&#xff0c…

作者头像 李华
网站建设 2026/6/15 16:37:10

AI大模型训练师:破解AI与人类沟通障碍,高薪岗位全解析

文章介绍了AI大模型训练师这一新兴职业,他们负责解决AI与人类之间的沟通障碍,将模糊需求转化为AI能理解的清晰指令。由于市场供需失衡,该职业薪资优厚,部分年薪可达45万。训练师工作包括数据管理、模型训练、评估迭代和业务落地四…

作者头像 李华
网站建设 2026/6/15 12:28:53

测试思维创新:从技术执行到价值创造的范式转移

在人工智能与云原生技术重塑软件研发格局的2025年,软件测试正站在历史性的转折点。传统以缺陷发现为核心的测试思维已难以应对敏捷开发、持续交付与复杂系统稳定性的多重挑战。本文旨在探讨测试思维创新的核心维度,提出从“质量控制”到“质量赋能”的思…

作者头像 李华
网站建设 2026/6/15 12:40:33

从业务痛点出发 - 为什么需要多智能体协作?

想象这样一个场景:周一早上9点,某制造企业的项目经理李明收到一个紧急任务——公司决定开发一套新的ERP系统,预算300万元,需要12个月完成。李明深吸一口气,开始了他漫长的一天:9:30-10:30:找技术…

作者头像 李华
网站建设 2026/6/15 13:49:29

深入理解 Java 线程池 ThreadPoolExecutor:原理、实战与调优

在 Java 并发编程领域,线程池是提升系统性能、优化资源利用率的核心组件。无论是高并发的 Web 服务,还是后台批处理任务,线程池都扮演着至关重要的角色。本文将以 JDK 原生线程池ThreadPoolExecutor为核心,从原理剖析、参数详解、…

作者头像 李华
网站建设 2026/6/15 14:16:25

聚焦物流可信数据空间-推动物流数据开放互联降本增效

关于推动物流数据开放互联 有效降低全社会物流成本的实施方案物流是实体经济的“筋络”,联接生产和消费、内贸和外贸。推动物流数据开放互联,构建物流可信数据空间,是提升资源配置效率、畅通实体经济循环的核心举措。建立以物流可信数据空间为…

作者头像 李华