南京人工智能创新中心-ModelArts全流程开发-手势识别

举报
一摩尔自由 发表于 2020/03/29 23:24:59 2020/03/29
【摘要】 案例目标掌握使用ModelArts训练手势识别AI模型。实现本地模型部署您需要什么?一台电脑(Windows)谷歌浏览器准备工作请参照此链接,完成准备工作准备数据从此链接下载数据到本地,解压。通过OBS Browser上传数据集文件夹到刚刚创建的OBS桶下,可以参考此文档 。ModelArts模型训练及在线部署创建训练作业接下来将通过ModelArts训练作业功能训练AI模型,在此过程中应用...

案例目标

掌握使用ModelArts训练手势识别AI模型。

实现本地模型部署


您需要什么?

一台电脑(Windows)

谷歌浏览器


准备工作

  1. 注册华为云账号

  2. 获取访问密钥并完成ModelArts全局配置

  3. 创建OBS桶

准备数据

此链接下载数据到本地,解压。

通过OBS Browser上传数据集文件夹到刚刚创建的OBS桶下,可以参考此文档 。

ModelArts模型训练及在线部署

创建训练作业

接下来将通过ModelArts训练作业功能训练AI模型,在此过程中应用ModelArts的预置算法Resnet50训练出一个图像分类模型。

  1. 进入ModelArts管理控制台,点击左侧工具栏“训练管理”>“训练作业”,进入“训练作业”页面。

  2. 单击“创建”,进入“创建训练作业”页面。

  3. 在“创建训练作业”页面,填写训练作业相关参数,然后单击“下一步”。

    a. 在基本信息区域,“计费模式”和“版本”为系统自动生成,不需修改。请根据界面提示填写“名称”和“描述”。

image.pngimage.png


b.在参数配置区域,选择“数据来源”,设置“算法来源”、“运行参数”、“训练输出位置”和“作业日志路径”.

  • 数据来源:由于导入的数据集已完成标注,因此直接从数据存储位置导入即可。单击“数据存储位置”,然后单击文本框右侧的“选择”,选择数据集所在的OBS路径,如“/hilens-test1/gesture-data/”。

  • 算法来源:单击“选择”,从“预置算法”列表中,选择“ResNet_v1_50”算法。

  • 运行参数:选择“ResNet_v1_50”算法后,默认包含“max_epoches”参数,默认值为“100”。1个epoch代表整个数据集训练一遍,此运行参数表示训练100个epoch,“max_epoches”值越大训练时间越长。

  • 训练输出位置:从已有的OBS桶中选择模型和预测文件存储路径。使用准备工作中已创建好的“gesture-data-output”文件夹。如果没有可用文件夹,您可以单击“选择”,在弹出对话框中新建文件夹。

  • 作业日志路径:从已有的OBS桶中选择日志存储路径。使用准备工作中已创建好的“gesture-data-record”文件夹。如果没有可用文件夹,您可以单击“选择”,在弹出对话框中新建文件夹。

c. 在资源设置区域,单击资源池文本框右侧的“选择”,选择“公共资源池”和“GPU”;规格分为p100和v100两种,v100规格的GPU的p100规格的GPU更佳,但两者价格不同,请按需选择;“计算节点个数”设置为“1”。

d. 完成信息填写,单击“下一步”。 4. 在“规格确认”页面,确认填写信息无误后,单击“立即创建”。 5. 在“训练作业”管理页面,可以查看新建训练作业的状态。训练作业的创建和运行需要一些时间,若max_epoches=10,需要3分钟左右;若max_epoches=50,需要10分钟左右。当状态变更为“运行成功”时,表示训练作业创建完成。 您可以单击训练作业的名称,可进入此作业详情页面,了解训练作业的“配置信息”、“日志”、“资源占用情况”和“评估结果”等信息。在“训练输出位置”所在的OBS路径中,即“/hilens-test1/gesture-data-output/”路径,可以获取到生成的模型文件。

image.png

导入模型

接下来将通过ModelArts模型管理功能导入AI模型,在此过程中应用ModelArts的预置算法Resnet50训练出一个图像分类模型。

  1. 进入ModelArts管理控制台,点击左侧工具栏“模型管理”>“模型”,进入“我的模型”页面。

    image.png


  2. 单击“导入”,进入“导入模型”页面。

    image.png

  3. 在“导入模型”页面,填写训练作业相关参数,然后单击“创建”。

在线部署

接下来将通过ModelArts部署上线功能在线部署模型,实现预测

  1. 进入ModelArts管理控制台,点击左侧工具栏“部署上线”>“部署”,进入“部署”页面。

  2. 单击“创建”,进入“部署”页面。

  3. 在“部署”页面,填写相关参数,然后单击“下一步”。

image.png

4.在线部署成功

image.png

本地部署

接下来我们将训练好的模型在本地进行部署,目前本地部署只支持Linux系统,下面我将基于Modelarts的Notebook的terminal中简单实现Linux系统中部署和预测;

  1. 进入notebook的terminal中,开始配置本地部署的环境:

    a. python3.6 

    b. Modelarts SDK 参考链接:https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0004.html

    c. pip install -r requirements.txt

  2. source activate <配置的环境,这里是TensorFlow-1.8>

    image.png

  3. 进入代码目录,运行代码:

  4. 先看代码:

  5. from modelarts.session import Session
    from modelarts.model import Model
    from modelarts.config.model_config import ServiceConfig 
    session = Session()
    Model.configure_tf_infer_environ(device_type='CPU') #这里是用到CPU,根据本地环境去配置CPU或GPU;
    model_instance = Model(session, model_id="fd23d4a0-1450-49e0-8b15-fa8bbffe8a60") #模型ID是训练好导入模型后的ID
    configs = [ServiceConfig(model_id=model_instance.model_id, weight="100",specification="local",instance_count=1)]
    predictor_instance = model_instance.deploy_predictor(configs=configs)                         # 部署为本地服务Predictor
    data_path='./img/victory_P2_006_rgb.png'            #测试图片
    predict_result = predictor_instance.predict(data=data_path, data_type='images')     # 本地推理预测
    print(predict_result)

    image.png

  6. 运行代码:python  test.py

    image.pngimage.png

    image.png

恭喜你

  • 祝贺您,您已经使用华为云完成了手势识别用开发任务!

  • 您完成了利用ModelArts训练作业训练图像分类AI模型!

  • 您完成了利用ModelArts在线部署图像分类AI模型,实现在线预测!

  • 您完成了本地部署,实现本地预测!

接下来您可以

参考文献


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。