您对华为云开发者网站的整体评价?

非常不满意 非常满意

0

1

2

3

4

5

6

7

8

9

10

*您遇到了哪些问题?(最多选三项)
*您感到满意的原因是?(最多选三项)
*请针对您所遇到的问题给出具体的反馈
200/200

模型
西安人工智能大赛冠军获奖模型
sinoreps团队
sinorepz
19个月以前
124MB 5320 288
  • 标签
    AI大赛
  • 资产ID 56e1859b-d0b2-40a6-bfb9-e40b05c900e9

描述

简介

此模型基于华为云ModelArts平台开发,用于对西安景点、美食、民俗、特产、工艺品等5个大类、57个子类别图像数据进行分类,是2019人工智能创新应用大赛的参赛模型。

关键词

  • FastAI V1
  • EfficientNet迁移学习
  • 增强策略由简至繁

训练数据

数据扩充

比赛官方提供的数据集比较小,且分布不均匀,所以此模型使用的训练数据对官方数据进行了扩充。先后下载了三万张网络图片,与官方数据合并再删减,最终保留了九千张左右图片。

数据增强

  • 随机缩放、旋转、翻转变换
  • 随机调节亮度对比度

训练过程

核心策略

  • 使用成熟开发框架,快速搭建训练流程
  • 使用成熟模型进行迁移学习,最终使用B7
  • 只训练离输出较近的最后两个Block和FC,锁定其他层
  • 在迁移训练的不同阶段,采取不同程度的数据增强

框架

  • pytorch
  • fastai v1

fastai框架是pytorch的高级封装,本次参赛使用的是比较成熟的v1版本。

模型 - EfficientNet

  • 参数少,精度高
  • 在 ImageNet 数据集上SOTA

损失函数

  • 平滑标签(Label Smoothing)
    • 通俗理解:不逼迫模型对训练样本进行100%肯定的预测,而是更多的去关注当前短板
    • 提高泛化能力
    • 抑制过拟合

优化器

  • Ranger
    • 收敛更快
    • 更稳定

训练过程

阶段一:

  1. 只训练FC层,用较大学习率 (1e-1 ~ 1e-2), 6 epochs
  2. 解锁最后一个block,降低学习率 (1e-2 ~ 1e-3), 4 epochs
  3. 再解锁一个block,使用较低学习率 (3e-4), 3 epochs

阶段二:

  • 加入随机变换进行数据增强
  • 解锁最后两个block,使用较低学习率 (1e-3 ~ 1e-4), 6 epochs

阶段三:

  • 调整随机变换参数
  • 使用较低学习率 (3e-4), 6 epochs

环境配置

依赖安装

  • 在notebooks里通过pip安装:

    pip install torch==1.2.0 torchvision==0.4.0 fastai==1.0.60

  • 如果是执行训练任务,需要修改pip-requirements.txt:

    torch==1.2.0
    torchvision==0.4.0
    fastai==1.0.59
    

fastai调用

  • fastai的get_transforms方法可以返回一组默认的变换组合

    tmfs = get_transforms(do_flip=True)

get_transforms

  • 基于当前模型状态,lr_find 可以搜索下一步可能比较好的学习率

    learn.lr_find(end_lr=1)

lr_find

参考

交付

华为云ModelArts

华北-北京一华北-北京四华北-乌兰察布一华东-上海一cn-east-4华南-广州西南-贵阳一

您可以在华为云ModelArts控制台直接使用资产,但无法下载资产

限制

公开

免费

无时长限制

版本

版本号
版本ID
发布时间
发布状态
版本说明
1.0.0
1.0.0
2020-06-19 02:15
已完成
Initial release.

若您怀疑合法知识产权遭受侵犯,可以通过此链接进行投诉与建议。