【华为云 ModelArts-Lab AI实战营】第三期:图像分类 (III) 模型参数&网络调优

https://github.com/huaweicloud/ModelArts-Lab/issues/219

本期实战为图像分类第三期。本期实战,本期我们将会以 “VGG16模型” 为例,讲解深度学习中模型调参和网络优化的技巧。

  1. 【本期实战内容】
    • 图像分类模型参数&网络调优案例:https://github.com/huaweicloud/ModelArts-Lab/tree/master/notebook/DL_image_hyperparameter_tuning
  2. 【加入实战微信群】
    • 欢迎您自由加入本期实战营的微信群,与 ModelArts 社区开发者一起交流
    • 请添加 “华为云 EI 微信小助手” 后,拉您入群(微信号:hwyeiqyzn)
  3. 【留下实战记录】
    • 请您在本则 Issue 下方跟帖反馈:华为云账号 + 完成实战的截图
    • 反馈信息格式,请参考如下 @sunbo57123 的样例:
  4. 【本期积分规则】
    • 第三期任务00-03,完成后按照老规矩获得1个积分。调参没有固定规则,经验总结十分重要,除了实验中进行讲解的调优方法,希望各位AI大神能够将将自己的调优经验分享出来。网络不设限制,比如 ResNet、ResNet+FPN(ROI IoU 等)、MobileNet 调优等,内容随心您定,调优的方法、思路、实践过程等等,鼓励干货满满的原创案例分享。扩展案例的提交形式统一为 ModelArts Notebook 为载体,能够复现为核心,提交评分采用社区commiter 讨论的形式,内容相似度过高的文章,按照提交时间+能够有效复现的形式取第1篇哦

00任务中:

  • 反馈两次各训练 5个epoch(共10个epoch)后的运行结果+准确率变化折线图
  • 反馈带有早停的运行结果
  • 拓展(非必选):可以尝试自己定义学习率衰减规律。使用 LearningRateScheduler 方法,自己定义学习率衰减。并且将结果分享,大家共同讨论和改进。

01任务中:

  • 任意一个优化器的结果和准确率折线图(5 epoch)
  • 拓展(非必选):多epoch(epoch>30)在不同优化器下的代码和运行结果及准确率折线图

02任务中:

数据增广案例训练时间较长,为了防止ipynb文件运行时丢失kernel的链接,导致无法查看结果,建议开发者实践时将ipynb文件转换为py文件,并在terminal中执行。步骤如下:

  1. ipynb文件转换成py文件

转换后得到一个同名的.py文件,由于ipynb中编写了很多jupyter环境中支持的特定命令,因此需要将一些特定命令进行处理,包括:

1. 以 ! 开头的shell命令,使用Python subprocess库代替
2. %matplotlib inline 声明,无法在python环境中运行,直接删除
3. matplotlib的plot命令,在Terminal中无法直接使用,需要设定matplotlib.use('Agg')

由于处理过程较为复杂,我们直接提供了转换好的02_data_augumentation.py

  1. 在Terminal中执行命令

首先,新建一个terminal:

在terminal中,先更新conda相关环境变量,执行命令source /opt/conda/etc/profile.d/conda.sh,然后执行conda env list命令,查看conda环境,并切换到Tensorflow环境(根据Notebook规格,环境名称可能有所不同):

执行py文件:nohup python 02_data_augumentation.py > data-aug.log &,然后再敲一个回车键。这样,我们用nohup启动了一个后台执行的进程,并将训练的结果输入到data-aug.log文件中,在Terminal中,可以使用tail命令查看日志文件的内容,执行tail -f data-aug.log

后台进程运行结束后,我们得到data-aug.logdata-aug-plot.png两个文件

积分所需文件

  • data-aug.log文件
  • matplot保存的准确率曲线图data-aug-plot.png

03任务中:

  • 只训练分类层的日志和准确率曲线图:
  • 训练所有参数的日志和准确率曲线图:
  1. 【手动停止服务】

    • 实验完成后,请手动停止占用云资源的服务,如:停止 “开发环境” 中所创建的 Notebook 以及 “部署上线”-“在线服务” 中所部署的在线服务,以避免因持续占用云资源导致资源包无谓消耗和欠费发生。需使用时,再启动即可。

你可能感兴趣的:(华为云,实践,图片分类,机器学习,人工智能)