首页 » 互联网 » VSCode一键接入Notebook体验算法套件快速完成水表读数_模子_数据

VSCode一键接入Notebook体验算法套件快速完成水表读数_模子_数据

乖囧猫 2024-11-25 18:40:26 0

扫一扫用手机浏览

文章目录 [+]

本示例环绕真实AI需求场景,先容VSCode一键接入Notebook体验算法套件快速完成水表读数的利用流程。

算法开拓套件中目前供应自研(ivg系列)和开源(mm系列)共两套算法资产,可运用于分类、检测、分割和OCR等任务中。
本示例中将组合利用自研分割算法(ivgSegmentation)和开源OCR算法(mmOCR)完成水表读数识别项目,并利用算法开拓套件将其支配为华为云在线做事。

VSCode一键接入Notebook体验算法套件快速完成水表读数_模子_数据 互联网

解释:

本案例教程仅适用于“华北-北京四”区域,新版Notebook。

准备数据登录OBS掌握台「链接」,创建OBS工具桶,区域选择“华北-北京四”。
登录ModelArts掌握台,选择掌握台区域为“华北-北京四”。
在“全局配置”页面查看是否已经配置授权閰嶇疆璁块棶鎺堟潈锛堝叏灞€閰嶇疆锛塤AI寮€鍙戝钩鍙癕odelArts_鍑嗗宸ヤ綔_鍗庝负浜�,许可ModelArts访问OBS。
如果没有配置授权,请参考配置访问授权(全局配置)添加授权。
分别下载本案例的数据集,水表表盘分割数据集和水表表盘读数OCR识别数据集到OBS桶中,OBS路径示例如下obs://{OBS桶名称}/water_meter_segmentation 水表表盘分割数据集obs://{OBS桶名称}/water_meter_crop 水表表盘读数OCR识别数据集解释:从AIGallery下载数据集免费,但是数据集存储在OBS桶中会收取少量用度,详细计费请拜会OBS价格详情页→价格打算器_pricing -华为云,案例利用完成后请及时打消资源和数据。
准备开拓环境

在“ModelArts掌握台 > 开拓环境 > Notebook(New)”页面中,创建基于pytorch1.4-cuda10.1-cudnn7-ubuntu18.04镜像,类型为GPU的Notebook,详细操作请拜会创建Notebook实例章节。

本案例须要利用VS Code 远程连接Notebook,须要开启SSH远程开拓。

图1 创建Notebook实例

1.实例的密钥文件须要下载至本地的如下目录或其子目录中:

Windows:C:\Users{{user}}

Mac/Linux: Users/{{user}}

2.在ModelArts掌握台->开拓环境 Notebook,单击“操作”列的“更多 > VS Code接入”。

如果本地已安装VS Code,请单击“打开”,进入“Visual Studio Code”页面。

如果本地未安装VS Code,请根据实际选择“win”或“其他”下载并安装VS Code。
VS Code安装请参考安装VS Code软件。

如果用户之前未安装过ModelArts VS Code插件,此时会弹出安装提示,请单击“Install and Open”进行安装;如果之前已经安装过插件,则不会有该提示,请跳过此步骤,直接实行后面步骤

安装过程估量1~2分钟,安装完成后右下角会弹出对话框,请单击“Reload Window and Open”。

在弹出的提示中,勾选“Don’t ask again for this extension”,然后单击"Open"。

3.远程连接Notebook实例。

远程连接实行前,会自动在(Windows:C:\Users{{user}}.ssh或者downloads,Mac/Linux: Users/{{user}}/.ssh或者downloads)目录下根据密钥名称查找密钥文件,如果找到则直策应用该密钥打开新窗口并考试测验连接远程实例,此时无需选择密钥。
如果未找到会弹出选择框,请根据提示选择精确的密钥。
如果密钥选择缺点,则弹出提示信息,请根据提示信息选择精确密钥。
当弹出提醒实例连接失落败,请关闭弹窗,并查看OUTPUT窗口的输出日志,请查看FAQ并排查失落败缘故原由。
利用算法套件进行开拓Step1 创建算法工程

1、成功接入之后,在VS Code页面点击文件->打开文件夹,选择如下文件夹打开

2、新建终端

3、在work目录下实行

ma-cli createproject

命令创建工程,根据提示输入工程名称,例如:water_meter。
然后直接回车选择默认参数,并选择跳过资产安装步骤(选择6)。

4、实行以下命令进入工程目录。

cd water_meter

5、实行以下命令拷贝项目数据到Notebook中。

python manage.py copy --source {obs_dataset_path} --dest ./data/raw/water_meter_croppython manage.py copy --source {obs_dataset_path} --dest ./data/raw/water_meter_segmentation

解释:

{obs_dataset_path}路径为Step1 准备数据中下载到OBS中的数据集,比如“obs://{OBS桶名称}/water_meter_segmentation”和“obs://{OBS桶名称}/water_meter_crop”

Step2 利用deeplabv3完成水表区域分割任务

1、首先安装ivgSegmentation套件。

python manage.py install algorithm ivgSegmentation==1.0.2

如果提示ivgSegmentation版本禁绝确,可以通过命令python manage.py list algorithm查询版本。

2、安装ivgSegmentation套件后,在界面左侧的工程目录中进入“./algorithms/ivgSegmentation/config/sample”文件夹中查看目前支持的分割模型,以sample为例(sample默认的算法便是deeplabv3),文件夹中包括config.py(算法外壳配置)和deeplabv3_resnet50_standard-sample_512x1024.py(模型构造)。

3、表盘分割只须要区分派景和读数区域,因此属于二分类,须要根据项目所需数据集对配置文件进行修正,如下所示:

修正./algorithms/ivgSegmentation/config/sample/config.py文件。

# config.pyalg_cfg = dict( ... data_root='data/raw/water_meter_segmentation', # 修正为真实路径本地分割数据集路径 ...)

修正完后按Ctrl+S保存。

4、修正./algorithms/ivgSegmentation/config/sample/deeplabv3_resnet50_standard-sample_512x1024.py文件。

# deeplabv3_resnet50_standard-sample_512x1024.pygpus=[0]...data_cfg = dict( ... num_classes=2, # 修正为2类 ... ... train_scale=(512, 512), # (h, w)#size全部修正为(512, 512) ... train_crop_size=(512, 512), # (h, w) ... test_scale=(512, 512), # (h, w) ... infer_scale=(512, 512), # (h, w) )

5、修正完按Ctrl+S保存。

6、在water_meter工程目录下,安装deeplabv3预演习模型。

python manage.py install model ivgSegmentation:deeplab/deeplabv3_resnet50_cityscapes_512x1024

7、演习分割模型。
(推举利用GPU进行演习)

# shellpython manage.py run --cfg algorithms/ivgSegmentation/config/sample/config.py --gpus 0

演习好的模型会保存在指定位置中,默认为output/deeplabv3_resnet50_standard-sample_512x1024/checkpoints/中。

8、验证模型效果。

模型演习完成后,可以在验证集上打算模型的指标,首先修正配置文件的模型位置。

修正./algorithms/ivgSegmentation/config/sample/config.py。

# config.pyalg_cfg = dict( ... load_from='./output/deeplabv3_resnet50_standard-sample_512x1024/checkpoints/checkpoint_best.pth.tar', # 修正演习模型的路径 ...)

# shellpython manage.py run --cfg algorithms/ivgSegmentation/config/sample/config.py --pipeline evaluate

9、模型推理。

模型推理能够指定某一张图片,并且推理出图片的分割区域,并进行可视化,首先须要指定须要推理的图片路径。

修正./algorithms/ivgSegmentation/config/sample/config.py

alg_cfg = dict( ... img_file = './data/raw/water_meter_segmentation/image/train_10.jpg' # 指定须要推理的图片路径 ...)

实行如下命令推理模型效果。

# shellpython manage.py run --cfg algorithms/ivgSegmentation/config/sample/config.py --pipeline infer

推理输出的图片路径在./output/deeplabv3_resnet50_standard-sample_512x1024下。

10、导出SDK。

算法开拓套件支持将模型导出成一个模型SDK,方便进行模型支配等下贱任务。

# shellpython manage.py export --cfg algorithms/ivgSegmentation/config/sample/config.py --is_deployStep3 水表读数识别

1、首先安装mmocr套件。

python manage.py install algorithm mmocr

2、安装mmocr套件后,./algorithms/mmocr/config/textrecog文件夹中包括config.py(算法外壳配置),须要根据所需算法和数据集路径修正配置文件。
以下以robust_scanner算法为例。

修正./algorithms/mmocr/algorithm/configs/textrecog/robustscanner_r31_academic.py,

# robustscanner_r31_academic.py...train_prefix = 'data/raw/water_meter_crop/' # 修正数据集路径改为水表ocr识别数据集路径train_img_prefix1 = train_prefix + 'train'train_ann_file1 = train_prefix + 'train.txt'test_prefix = 'data/raw/water_meter_crop/'test_img_prefix1 = test_prefix + ‘val’test_ann_file1 = test_prefix + ‘val.txt’

3、安装robust_scanner预演习模型。

python manage.py install model mmocr:textrecog/robust_scanner/robustscanner_r31_academic

4、演习OCR模型。

初次利用mmcv时须要编译mmcv-full,该过程较慢,可以直策应用官方预编译的依赖包。

预编译包URL: https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html

pip install https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/mmcv_full-1.3.8-cp37-cp37m-manylinux1_x86_64.whl

将./algorithms/mmocr/config/textrecog/config.py中的epoch(迭代数量)改为2,如下图所示:

python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py

演习好的模型会保存在指定位置中,默认为output/${algorithm}中。

5、验证模型效果。

模型演习完成后,可以在验证集上打算模型的指标,首先修正配置文件的模型位置。

修正./algorithms/mmocr/config/textrecog/config.py

# config.py...model_path = './output/robustscanner_r31_academic/latest.pth'...

# shell python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py --pipeline evaluate

6、模型推理。

模型推理能够指定某一张图片,并且推理出图片的分割区域,并进行可视化。
首先须要指定待推理的图片路径,修正algorithms/mmocr/config/textrecog/config.py文件,详细如下。

修正./algorithms/mmocr/algorithm/configs/textrecog/robust_scanner/config.py

...infer_img_file='./data/raw/water_meter_crop/val/train_10.jpg' # 指定须要推理的图片路径 ...

# shell python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py --pipeline infer

推理输出的图片路径在output/robustscanner_r31_academic/vis下

7、导出SDK。

# shell python manage.py export --cfg algorithms/mmocr/config/textrecog/config.pyStep4 支配为在线做事

本次展示仅支配OCR做事, 包括本地支配和线上支配, 支配上线后调用支配做事进行本地图片的推理,获打水表的预测读数。
支配在线做事,须要指定OBS桶以便保存支配所须要的文件。

1.在algorithms/mmocr/config/textrecog/config.py文件中配置OBS桶,即obs_bucket=<please input your own bucket here>。

2.实行下述命令:

python manage.py export --cfg algorithms/mmocr/config/textrecog/config.py --is_deploy # 导出支配模型python manage.py deploy --cfg algorithms/mmocr/config/textrecog/config.py # 本地支配 python manage.py deploy --cfg algorithms/mmocr/config/textrecog/config.py --launch_remote#在线支配,会耗时一下子,请耐心等待

点击此处,查看支配成功的在线做事

Step5 打消资源和数据

通过此示例学习完成创建算法套件流程后,如果不再利用,建议您打消干系资源,避免造成资源摧残浪费蹂躏和不必要的用度。

停滞Notebook:在“Notebook”页面,单击对应实例操作列的“停滞”。
删除数据:点击此处,前往OBS掌握台,删除上传的数据,然后删除文件夹及OBS桶。

点击下方,第一韶光理解华为云新鲜技能~

华为云博客_大数据博客_AI博客_云打算博客_开拓者中央-华为云

#华为云开拓者同盟#

标签:

相关文章

从高数书代码看数学之美与编程智慧

在科技日新月异的今天,数学与编程已成为现代社会不可或缺的一部分。而高数书代码,作为连接数学与编程的桥梁,不仅展现了数学之美,更彰显...

互联网 2025-01-08 阅读0 评论0

从调试代码图看软件工程的艺术与科学

随着信息技术的飞速发展,软件工程已经成为推动社会进步的重要力量。在软件开发的各个阶段,调试代码图作为一项重要技术手段,对于提高软件...

互联网 2025-01-08 阅读0 评论0

代理协议,构建信任与合作的桥梁

在市场经济日益繁荣的今天,代理协议作为一种重要的商务合作方式,已经深入到各行各业。它不仅有助于实现资源的优化配置,还能在各方之间搭...

互联网 2025-01-08 阅读0 评论0

代码与结构,构建高效软件的基石

在信息化时代,软件已经成为推动社会发展的重要力量。一个优秀的软件系统,不仅需要具备强大的功能,还需要具备良好的结构。而这一切,都离...

互联网 2025-01-08 阅读0 评论0