秋风到,ModelArts“ AI 市场算法 Fast-SCNN 指南”秋膘贴起来
本文分享自华为云社区《带你来秋日尝鲜 | ModelArts AI市场算法Fast-SCNN使用指导》,作者:Tianyi_Li
摘要:送小伙伴们一份新鲜出炉的 ModelArts AI 市场算法Fast-Scnn(以下简称为本算法)使用秘籍,保证轻松上手。
双十一到了,秋风瑟瑟,不能光顾着剁手是不是,是时候贴贴秋膘,尝尝鲜了,特意送来新鲜出炉的 ModelArts AI 市场算法Fast-Scnn(以下简称为本算法),附上使用秘籍,保证轻松上手。
本算法使用 Cityscapes 高质量标注数据集中的 train 集和 val 集,使用 train 集训练,在 val 集上测试达到了 mIOU=68.668 的准确率。
1. 准备数据集
本算法支持的数据集格式为 Cityscapes 数据集。
Cityscapes 数据集包含来自 50 个不同城市的街道场景中记录的各种立体声视频序列集,以及较大的 20000 个弱注释帧集和 5000 个帧的高质量像素级注释。因此,该数据集比已有的类似数据集大一个数量级。有关带注释的类的详细信息和注释示例可在数据集官网上找到。
Cityscapes 数据集旨在用于:
(1) 评估视觉算法在语义城市场景理解的主要任务上的性能:像素级,实例级和全景语义标记;
(2) 支持旨在利用大量(弱)注释数据的研究,例如用于训练深度神经网络。
1.1 下载数据集
可点此链接下载 gtFine_trainvaltest.zip 和 leftImg8bit_trainvaltest.zip 两个文件,如下图所示:
gtFine_trainvaltest.zip 解压后的目录结构如下(本算法训练不需自行解压,可直接使用压缩包):
└─gtFine
├─test
├─train
└─val
leftImg8bit_trainvaltest.zip 解压后的目录结构如下(本算法训练不需自行解压,可直接使用压缩包):
└─leftImg8bit
├─test
├─train
└─val
如果您需要使用自己的数据集进行训练,则需要将数据目录整理成和上面一样的形式。更详细的数据集说明请查看 Cityscapes数据集官网上的描述。
1.2 安装 OBS Browser+并上传数据集
ModelArts 使用对象存储服务(OBS)来存储数据,实现安全、高可靠和低成本的存储需求。OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对 OBS 进行管理,例如:创建桶、上传下载文件、浏览文件等。
具体操作步骤如下:
(1)点此下载OBS Browser+,下载完成后解压缩,双击 exe 进行安装,安装完成后运行;
(2)登录界面如下图所示,需要您填写账号名、Access Key ID(AK)和 Secret Accsee Key(SK),参考此文档,获取 AK 和 SK,华为云上的许多产品都需要用到访问密钥,请妥善保存该密钥文件,然后参考下图填写您的华为云账号名及刚获取的 AK 和 SK,点击登录;
(3)参考下图,点击“创建桶”,输入桶名称,注意:区域要选择华北-北京四、标准存储、私有、关闭多 AZ,桶名需自定义,OBS 桶名要全局唯一,如提示桶名已存在,则需要您修改为其他名称,比如本文设置桶名为 fast-scnn。您设置的桶名必须与此不同,如在下文的操作指导中看到 fast-scnn,请主动将桶名替换为您自己的桶名,下文将不再进行提示;
(4)点击桶名称,进入到桶中,点击“新建文件夹”,输入文件夹名称,如“train_input”,点击进入文件夹,再新建“datasets”,点击“上传”->“添加文件”-> 选择本地下载好的数据集压缩包(之所以选压缩包格式是因为如果数据集比较大,上传压缩包比上传文件夹快很多) –> 确定,如下图所示;
(5)点击 OBS Browser+左侧的“任务管理”,可查看数据上传进度。如下图所示,点击设置,在基础设置中,设置最大并发数为最大值 50,可以加快数据上传速度
2. 订阅本算法
点击本页面右上方的【订阅】按钮。然后点击页面下方的【下一步】按钮,再点击【确认付款】按钮,最后点击【确定】按钮进入我的订阅页面,可以看到刚刚订阅的算法。点击【应用控制台】超链接,选择华北-北京四区域,进入算法管理页面。
3. 创建训练作业
点击上图中的“创建训练作业”,按照下表填写训练作业参数:
点击下一步,提交,训练作业的状态会经历“初始化”、“部署中”、“运行中”和“运行成功”四个状态。训练作业运行成功后,在上表中指定的“模型输出”路径下会自动生成 model 目录,该目录下有模型文件、ModelArts 平台推理脚本(config.json、customize_service.py)和其他运行模型必备的文件。
4. 模型导入
准备好模型及相关的必备文件后,您可以将生成的模型导入至 ModelArts 模型管理。具体操作如下:
(1)在 ModelArts 控制台的左侧导航栏点击“模型管理” -> “模型”,点击右侧页面中的“导入”。在导入模型页面填写名称,选择元模型来源,可以直接从训练中选择(推荐使用这种方法,简单方便,与训练无缝衔接),也可以从 OBS 中选择。如果是从 OBS 中选择,则需要选择到 model 目录的上一级目录;例如,本次可选择的目录为 obs://fast-scnn/algorithms/train_output,如下图所示:
注意:选择好元模型路径后,“AI 引擎”会自动填充。如未能自动填充,请检查元模型路径是否是 model 目录的上一级目录,或者 model 目录下是否包含模型配置文件 config.json。
(2)点击“立即创建”,需要一点时间来等待模型导入和构建,当模型版本状态为“正常”后,即表示模型导入成功。
5. 创建在线服务
在 ModelArts 上,可以将模型部署为在线服务,然后上传图片进行预测,直接在网页端观察预测结果,本算法支持 CPU 和 GPU 部署。
部署为在线服务具体步骤如下:
(1)在 ModelArts 左侧导航栏中选择“部署上线 -> 在线服务”,然后点击页面中的“部署”;
(2)在部署页面填写参数,其中在“模型列表”选择要导入的模型及版本,计算节点规格选择 CPU 即可;
(3)点击“下一步”,参数确认无误后,点击“提交”。
提交后,您可以在在线服务列表中查看部署进度,当状态变为“运行中”后,点击服务名称,进入详情页面,点击“预测”,上传图片进行测试。测试结果如下图所示,右侧为得到的预测结果,不同的数字表示不同的类别。
6. 创建批量服务
在 ModelArts 上,还可以将模型部署为批量服务,从 OBS 加载测试集图片进行预测,然后将预测结果输出到 OBS,本算法支持 CPU 和 GPU 部署。
部署为批量服务具体步骤如下:
(1)在 ModelArts 左侧导航栏中选择“部署上线 -> 批量服务”,然后点击页面中的“部署”;
这里的输入数据目录位置为存放待预测图像的位置,注意该位置下仅能存放待预测图片,而输出数据目录位置为空文件夹即可,可自行定义。
(3)点击“下一步”,参数确认无误后,点击“提交”。
提交后,您可以在批量服务列表中查看部署进度,当状态变为“运行中”后,表示正在预测中,当状态变为“运行完成”,表示这批图片已经预测结束,预测结果是一批 txt 文件,保存在上图指定的 OBS 输出数据目录位置中,可以前往该目录查看结果。
7. 模型评估
参考本文第 2 节中的步骤,创建“训练作业”,按照下表设置训练参数:
点击下一步,提交,训练作业的状态会经历“初始化”、“部署中”、“运行中”和“运行成功”四个状态。训练作业运行成功后,在上表中指定的“模型输出”路径下会自动生成_result 目录,其中包含推理后的.png 图片和推理结果_results.txt 文件。其中_results.txt 文件包含验证结果,如图所示。
好了,到此即将结束了,这次尝鲜大家感觉怎么样呢?期待大家的分享使用体验和感受。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/2ff0c527c396e41fec254b047】。文章转载请联系作者。
评论