使用ModelArts实现花卉图像分类
使用ModelArts实现花卉图像分类
目标:使用户掌握如何使用ModelArts服务进行数据集创建,预置模型选择,模型训练、部署并最终建立在线预测作业。
基本的逻辑流程
1.准备数据 → 2.训练模型 → 3.部署模型 → 4.发起预测请求
第一步:首先可以登陆这个:登陆modelarts
第二步:你要使用这个modelarts要做全局的:
全局2个的办法:
推荐办法1:体验效果比较好
办法2:AK SK的办法
但是这个AK和SK是何方神圣呢?
它来自我的凭证:如下图所示:
点击“新增访问密钥”,输入密码(上方系统分配的华为云实验账号的密码),然后选择“保存文件”, 将密钥保存下来,妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)和SK(Secret Access Key)以备后续步骤使用。这个excel表格打开就有对应的AK 和SK了。
他们这两个东西-你可以理解为授权的口令方式就可以了。比如AK 可以理解为用户名,SK理解为对应的用户名的密码。
其实就是一种授权方式而已,无它。
反正就是你把这个AK和SK加入到下面两个红色框框就可以了。点同意授权就可以了。
这个全局授权有什么作用的呢?-其实有这个授权你才可以用这个modelarts联动到华为云的其他产品一起玩起来。比如联动到obs等之类的产品。
第三步:开始准备数据了-创建notebook把数据先copy到obs上去
那就要创建notebook了:
创建NoteBook:选择左侧栏“开发环境”->“NoteBook”页面,点击“创建”如下图:
进入创建页面,参数要求:
① 计费方式:按需计费
② 名称:任意,如flowers-notebook
③ 自动停止:关闭(如图所示)
④ 工作环境:Python3
⑤ 资源池:公共资源池
⑥ 类型:CPU
⑦ 规格:2核8GiB
⑧ 储存配置:云硬盘
⑨ 硬盘规格:默认点击“下一步”->“提交”
创建成功,返回NoteBook列表,等待状态变为“运行中”【约等待3分钟】,点击“打开”,进入NoteBook详情页, 点击“New“在下拉菜单中选择点击”TensorFlow-1.13.1”,如下图:
进入Python命令输入界面,输入如下命令后,点击“Run”:
import moxing as mox
执行成功后如图所示:
然后就是把数据copy到你的obs
复制如下命令,粘贴至Python命令输入第二行(命令需修改后执行):修改说明:将代码中的“your_bucket_name”替换为创建的OBS桶名称;将代码中的“your_folder_name”替换为OBS桶中创建的文件夹名称。
mox.file.copy_parallel('s3://sandbox-experiment-resource-north-4/flowers-data/flowers-100', 's3://your_bucket_name/your_folder_name')
然后你去你的obs上就看到有挺多文件出现了:
第四步:接下来将使用训练集对预置的ResNet_v1_50模型进行重训练获取新的模型。
在“ModelArts”管理控制台,单击进入左侧导航栏的“训练管理”->“训练作业”,点击“创建”。填写参数:
① “名称”和“描述”可以随意填写;
② “算法来源”中的“预置算法”,选择列表中的“ResNet_v1_50”模型;
③ “数据来源”请选择“数据存储位置”,并选择桶内数据文件夹(s3://workandyleung/flowers-notebook 我的对应的目录就是这个,就是上一步你用命令把数据copy到对应的obs文件夹下的目录);
④ 训练输出的位置:创建一个新文件夹(如下图),并选中这个文件夹,点击“确定”(选择创建的OBS路径,用于保存输出模型和预测文件,如图所示,创建一个新文件夹:
⑤ “运行参数”不需要添加;
计算资源我就用免费的套餐了:
其他参数默认,参数确认无误后,单击“下一步”->“提交”完成训练作业创建。返回作业列表,创建成功需要等待训练完成【约等待4分钟】(点击右侧刷新按钮可以查看训练时间),任务状态变为“运行成功”即可进行下一步操作。当训练作业运行成功后,可以在创建训练作业选择的训练输出位置OBS路径下看到新的模型文件。
第五步:部署模型啦:
模型训练完成后,可以创建预测作业,将模型部署为在线预测服务。
在左侧ModelArts菜单栏点击“模型管理”->“模型”,单击左上角的“导入”,参考填写请参考下图。参数:
① 名称可随意填写;
② “元模型来源”选择“从训练中选择”(上面第四步训练处理的模型);
③ “部署类型”默认
④ “推理代码”可忽略。参数确认无误后,单击“立即创建”,完成模型创建。
显示正常就是部署搞定了。
最后一步:部署在线服务和预测测试:
单击 部署上线->在线服务 ->部署,进入部署服务界面,参数填写如下图:
这样子就是正常的了:
最后就是预测一波:
总体上的感受:
1- 就是我如何把这个在线业务跟手机app或者公众号、小程序链接呢?比如我用手机app扫一下这个花,然后就出这个花的结果。
2- 对花卉的分类对我们有什么好处呢?期待大家发散思维各抒己见。
3- 个人思考:识别到花的类型了,能否我用对应模型也可以识别到视频的类型的呢?比如这个视频的类型主题是什么:创建文明城市类、政府宣传类、商业广告、品牌宣传?
- 点赞
- 收藏
- 关注作者
评论(0)