南京人工智能创新中心-ModelArts全流程开发-手势识别
案例目标
掌握使用ModelArts训练手势识别AI模型。
实现本地模型部署
您需要什么?
一台电脑(Windows)
谷歌浏览器
准备工作
注册华为云账号
创建OBS桶
准备数据
从此链接下载数据到本地,解压。
通过OBS Browser上传数据集文件夹到刚刚创建的OBS桶下,可以参考此文档 。
ModelArts模型训练及在线部署
创建训练作业
接下来将通过ModelArts训练作业功能训练AI模型,在此过程中应用ModelArts的预置算法Resnet50训练出一个图像分类模型。
进入ModelArts管理控制台,点击左侧工具栏“训练管理”>“训练作业”,进入“训练作业”页面。
单击“创建”,进入“创建训练作业”页面。
在“创建训练作业”页面,填写训练作业相关参数,然后单击“下一步”。
a. 在基本信息区域,“计费模式”和“版本”为系统自动生成,不需修改。请根据界面提示填写“名称”和“描述”。
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/”路径,可以获取到生成的模型文件。
导入模型
接下来将通过ModelArts模型管理功能导入AI模型,在此过程中应用ModelArts的预置算法Resnet50训练出一个图像分类模型。
进入ModelArts管理控制台,点击左侧工具栏“模型管理”>“模型”,进入“我的模型”页面。
单击“导入”,进入“导入模型”页面。
在“导入模型”页面,填写训练作业相关参数,然后单击“创建”。
在线部署
接下来将通过ModelArts部署上线功能在线部署模型,实现预测
进入ModelArts管理控制台,点击左侧工具栏“部署上线”>“部署”,进入“部署”页面。
单击“创建”,进入“部署”页面。
在“部署”页面,填写相关参数,然后单击“下一步”。
4.在线部署成功
本地部署
接下来我们将训练好的模型在本地进行部署,目前本地部署只支持Linux系统,下面我将基于Modelarts的Notebook的terminal中简单实现Linux系统中部署和预测;
进入notebook的terminal中,开始配置本地部署的环境:
a. python3.6
b. Modelarts SDK 参考链接:https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0004.html
c. pip install -r requirements.txt
source activate <配置的环境,这里是TensorFlow-1.8>
进入代码目录,运行代码:
先看代码:
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)
运行代码:python test.py
恭喜你
祝贺您,您已经使用华为云完成了手势识别用开发任务!
您完成了利用ModelArts训练作业训练图像分类AI模型!
您完成了利用ModelArts在线部署图像分类AI模型,实现在线预测!
您完成了本地部署,实现本地预测!
接下来您可以
参考文献
https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0001.html
https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0004.html
https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0202.html
https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0204.html
- 点赞
- 收藏
- 关注作者
评论(0)