news 2026/4/16 15:00:28

MindSpore 模型训练踩坑:过拟合快速优化 + 混合精度训练 Nan/Inf 异常的解决经验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MindSpore 模型训练踩坑:过拟合快速优化 + 混合精度训练 Nan/Inf 异常的解决经验

大家好~最近用 MindSpore 2.2.10 做 ResNet18 图像分类模型训练,踩了两个典型坑,整理成经验分享给同方向的朋友👇

一、场景:ResNet18 图像分类训练

数据集是自定义的小样本图像集(约 5k 张),目标是实现分类任务,但训练过程中遇到两个核心问题:

二、踩坑 1:过拟合严重(训练集 98%,验证集仅 65%)

初始训练配置:

  • 数据增强仅用了 Resize+Normalize;
  • 优化器用 Adam,未加权重衰减;
  • 没加正则化层。

训练到第 10 轮就出现 “训练集准确率飙升,验证集纹丝不动” 的过拟合情况。

三、踩坑 2:开启混合精度后出现 Nan/Inf

为了加速训练,开启 MindSpore 的混合精度训练(amp.auto_mixed_precision(model, amp_level="O2")),结果训练到第 3 轮,loss 直接变成 Nan。

四、排查 & 解决过程

针对 “过拟合”:

强化数据增强(补 MindSpore 的 ImageTransform 操作):

from mindspore.dataset.vision import transforms trans = transforms.Compose([ transforms.RandomHorizontalFlip(prob=0.5), # 新增随机水平翻转 transforms.RandomCrop(size=224, padding=4), # 新增随机裁剪 transforms.Resize((224,224)), transforms.Normalize(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225]) ])

给优化器加权重衰减(weight_decay=1e-4):

optimizer = nn.Adam(model.trainable_params(), learning_rate=1e-4, weight_decay=1e-4)

新增 Dropout 层(在 ResNet18 的全连接层前加nn.Dropout(p=0.5));

调整后,验证集准确率从 65% 提升到 89%。

针对 “混合精度 Nan”:

  1. 排查原因:学习率过高 + 未配置 loss scale;
  2. 改用动态 Loss Scale(MindSpore 推荐方案):
from mindspore import amp loss_scale_manager = amp.DynamicLossScaleManager() model = amp.auto_mixed_precision(model, amp_level="O2", loss_scale_manager=loss_scale_manager)

加梯度裁剪(限制梯度范围):

from mindspore.nn.wrap import GradientClipByNorm optimizer = GradientClipByNorm(optimizer, clip_norm=1.0)

降低初始学习率到5e-5

重新训练后,Nan 问题消失,训练速度提升约 40%。

五、总结 Tips

  • 小样本训练:优先强化 MindSpore 的数据增强 + 加权重衰减 / 正则化;
  • MindSpore 混合精度:必须配loss_scale_manager,高学习率易出 Nan,建议加梯度裁剪。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:43:21

产品快讯 | Docusign 发布 IAL2 级身份验证,强化协议信任

借助集成式 IAL2 身份审核机制,让组织在防欺诈、提效率与控合规上同步升级。 在当今高度数字化的业务环境中,身份验证已不再是例行步骤,而是维系信任、合规与安全的核心支柱。无论是审批贷款、收集患者同意,还是处理任何高价值交易…

作者头像 李华
网站建设 2026/4/10 18:50:12

Java对接多头借贷行业风险版API:AES加解密与复杂结构体解析实战

一、构建精细化的信贷审批“流水线” 在银行核心信贷系统或消费金融的风控中台(Risk Decision Engine)构建中,单一的“黑名单”查询已无法满足差异化的客群经营需求。业务部门往往需要更细粒度的数据来支撑决策:比如,一…

作者头像 李华
网站建设 2026/4/16 13:42:39

Qdrant向量数据库:构建企业级AI应用的元数据治理新范式

Qdrant向量数据库:构建企业级AI应用的元数据治理新范式 【免费下载链接】qdrant Qdrant - 针对下一代人工智能的高性能、大规模向量数据库。同时提供云端版本 项目地址: https://gitcode.com/GitHub_Trending/qd/qdrant 在人工智能应用规模化部署的今天&…

作者头像 李华
网站建设 2026/4/16 14:46:31

MindSpore 技术干货:揭秘其核心利器——自动并行

在深度学习框架竞争日益激烈的今天,华为开源的 MindSpore 凭借其“全场景”的设计理念脱颖而出。在其众多特性中,自动并行 无疑是其最耀眼的技术亮点之一,它旨在显著降低大规模模型训练的复杂度,让开发者更专注于算法本身。什么是…

作者头像 李华
网站建设 2026/4/16 14:44:55

解锁昇腾算力:基于 MindSpore 的高效迁移学习与自动混合精度实战

1. 构建高性能数据管道数据加载往往是训练性能的瓶颈。MindSpore 的 mindspore.dataset模块底层基于 C 实现,提供了并行加载和数据增强能力。我们以加载自定义数据集为例:import mindspore.dataset as ds import mindspore.dataset.vision as vision imp…

作者头像 李华
网站建设 2026/4/16 13:31:31

小红的密码修改【牛客tracker 每日一题】

小红的密码修改 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每…

作者头像 李华