Skip to main content

创建conda虚拟环境

硬件要求

表1 硬件配置

配置类型推荐配置
系统类型当前支持Windows 10、11操作系统,不支持Mac OS
CPU8 core CPU
内存RAM32GB
磁盘100G SSD存储

安装Anaconda3

模型适配工具的运行依赖于Anaconda虚拟环境,在安装工具前需准备好虚拟环境,本文以Anaconda3 2022.10版本为例。

  1. 下载文件Anaconda3-2022.10-Windows-x86_64.exe

  2. 双击安装程序安装软件,建议勾选“Add Anaconda3 to my PATH environment variable”,如图1所示,将Anaconda添加到系统环境变量中,单击“Install”按钮。

    图1 安装程序安装软件界面图

    :::note 说明

    • 上图界面会随着Anaconda软件更新变化,具体页面请以实际版本为准。
    • 安装完成后会自动跳转至Anaconda官方网页,用户可直接关闭。 :::

父主题: 准备环境

创建conda虚拟环境

  1. 下载conda的[虚拟环境压缩包](https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas 200I DK A2/DevKit/tools/latest/model-adapter-tool.tar.gz),将压缩包移动至Anaconda安装目录下的envs文件夹中。

  2. 使用快捷键“Win+R”,在运行窗口输入cmd,单击“确定”按钮。进入命令行窗口。

    图1 进入命令行窗口

  3. 在命令行窗口执行以下命令查看conda安装目录。

    conda info -e

    命令回显示例如下。

    C:\Users\username>conda info -e
    # conda environments:
    base * C:\Users\username\Anaconda3
  4. 将下载的虚拟环境压缩包解压至Anaconda安装目录下的envs目录中。

    1. 打开开始菜单搜索命令提示符,右键单击“命令提示符”选择“以管理员身份运行”。

      图2 搜索命令提示符

      图3 打开命令提示符

    2. 执行命令进入对应目录。

      cd C:\Users\username\Anaconda3\envs
    3. 执行以下命令解压虚拟环境压缩包。

      tar -zxvf model-adapter-tool.tar.gz -C .\
  5. 在命令行中执行以下命令查看虚拟环境是否已创建。

    conda info -e

    若出现以下类似回显内容则说明环境已创建。

    C:\Users\username\Anaconda3\envs>conda info -e
    # conda environments:
    #
    base * C:\Users\username\Anaconda3
    model-adapter-tool C:\Users\username\Anaconda3\envs\model-adapter-tool
  6. 在命令行中执行以下命令激活虚拟环境。

    conda activate model-adapter-tool

    显示以下类似信息表示conda环境正常激活。

    C:\Users\username\Anaconda3\envs>conda activate model-adapter-tool

    (model-adapter-tool)C:\Users\username\Anaconda3\envs>

父主题: 准备环境

安装、运行和升级工具

安装模型适配工具

  1. 单击[获取链接](https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas 200I DK A2/DevKit/tools/latest/Ascend-devkit-model-adapter_latest_win-x86_64.exe)下载“Ascend-devkit-model-adapter_latest_win-x86_64.exe”。

    单击

    ,选择“保留”。

  2. 打开“显示详细信息”并选择“仍然保留”,如图1所示。

    图1 信任软件

  3. 在PC上双击模型适配工具安装包“Ascend-devkit-model-adapter_latest_win-x86_64.exe”,系统可能会弹出阻止应用启动的提示,如图2所示,单击“更多信息”。

    图2 阻止应用启动

    单击“仍要运行”,在弹出的提示(您要允许来自未知发布者的此应用对你的设备进行更改吗)页面选择“是”。

    图3 运行应用

  4. 在安装导向界面按照默认配置快速安装工具。

运行模型适配工具

  1. 进入工具安装目录,双击运行软件包“Ascend AI Devkit Model Adapter.exe”,显示界面如图4所示,启动后软件会自动对conda环境进行检测。

    图4 模型适配工具启动界面

  2. 在模型运行界面,根据需要选择模型算法,当前支持分类、检测、分割和关键点检测4类模型,单击模型任务后进入该模型的数据集准备与迁移界面。

    图5 模型运行界面

    :::note 说明

升级模型适配工具

:::note 说明 请保证PC网络正常连通,否则将无法升级工具。 :::

  1. 进入模型运行界面后,软件将自动检测是否有更新。如果有更新,则会弹出提示框,提示是否立即升级。

    图6 升级提示界面

  2. 选择“确定”开始下载升级包。

    图7 升级提示界面

  3. 下载完成后,等待片刻,会弹出新版本的安装界面,等待安装完成。

    图8 自动升级安装界面

  4. 安装完成后,单击“Finish”即可完成升级。

    图9 自动升级安装完成界面

模型适配工具功能说明

数据标注界面:当完成一个模型的数据集标注后,可单击右上角“关闭”按钮返回主界面。

图10 数据标注界面

  • 图11所示部分为工具栏:

    图11 工具栏界面

    表1 工具栏①功能说明

    功能按钮说明
    “文件”单击按钮可对数据集进行操作。
    “编辑”单击按钮可对当前图片的标记进行操作。
    “视图”单击按钮可对当前图片进行操作。
    “模型工具”单击按钮可进行一键迁移。
    “帮助”单击按钮提供软件的操作帮助。
  • 图12所示部分为标签工具栏:用于对数据集进行标注。

    图12 标签工具栏界面

    表2 工具栏②功能说明

    功能按钮说明
    单击按钮可绘制矩形框。
    单击按钮可绘制以节点相连的多边形框。
    单击按钮可绘制关键点。
    单击按钮可对绘制的标签进行操作,按住鼠标左键可拖动标签,移动至标签位置单击鼠标右键可修改标签。
    单击按钮可删除已绘制的标签。
    单击按钮可调节当前图片的亮度与对比度。
    单击按钮可撤销上一步操作。
    单击按钮可切换至上一张图片。
    单击按钮可切换至下一张图片。
    单击文本框输入数据可修改图片缩放比例。
  • 图13所示部分为全局操作与文件列表:

    图13 全局操作与文件列表界面图

    图14 全局操作与文件列表界面图

    表3 工具栏③功能说明

    功能按钮说明
    “打开目录”按钮可打开数据集目录,将目录下数据集显示在文件列表中。
    “打开图片”按钮可打开单张图片。
    “保存文件”按钮可在当前图片标记完成后保存该图片的标注信息json文件(仅自动保存标注开关关闭时可用)。
    “删除文件”按钮可删除当前图片的标注信息json文件。
    “自动保存标注”开关开启时标注图片将自动保存标注信息json文件。
    “一键迁移”按钮单击后可开始进行模型迁移。
  • 图15所示部分为标记信息框:仅分类模型可用,用于对数据进行分类。

    图15 标记信息框界面图

  • 图16所示部分为标签列表:检测、分割、关键点模型可用,显示当前图片中包含的标签信息。

    图16 标签列表界面图

  • 图17所示部分为多边形标签:检测、分割、关键点模型可用,显示当前图片包含的多边形标签信息。

    图17 多边形标签界面图

模型适配工具快捷键说明

表4 快捷键说明

快捷键说明
Ctrl + O打开图片。
D切换下一张图片。
A切换上一张图片。
Ctrl + U打开目录。
Ctrl + S保存标注。
Ctrl + W关闭图片,保存已有标签。
Ctrl + Del永久删除标签文件。
Ctrl + Q退出。
Ctrl + E编辑标注。
Ctrl + C复制标注。
Ctrl + V粘贴标注。
Del删除选择标注。
Ctrl + Z撤销/撤销最后控制点。
Ctrl + =放大图片。
Ctrl + -缩小图片。
Ctrl + 0图片原始大小。
Ctrl + F适应窗口。
Ctrl + Shift + F适应宽度。

父主题: 准备环境

在PC训练模型

制作数据集

  1. 收集待标记的png、jpg、JPEG、bmp、webp格式图片数据,推荐使用jpg格式。图片分辨率不高于1080P,单张图片不大于1MB,推荐每个类别的图片数量在100张左右,图片名称不支持字符".",需放置在全英文路径下。

  2. 为模型迁移准备数据集,进行图像标注,在工具界面选择“分类模型”。

    图1 选择数据集标签界面

    • 选择“制作数据集”,配置1收集的数据集的路径。

      1. 配置标签信息,即需要分类的类别名称,用英文表示并用逗号隔开,不支持其他字符。例如:apple,banana,watermelon,tangerine。

      2. 单击“确认”,开始标注,对应每张图片,从右侧标记栏选择对应的标签名称,当前图片标注完成后,从图片上方菜单单击

        图标或左侧文件列表选择下一张图片进行标记,直到完成所有图片的标注任务。

        图2 图片标注界面

      :::note 说明

      • 在分类任务下进行标注时,只能选择右侧“标记”栏进行标注,选择图形标注不可用。
      • 分类模型下不能在标注界面增加分类类别,如果分类类型有增加,需要重新制作数据集,在制作数据集弹框输入即可。
      • 分类时会在输入图片文件夹地址下,生成与图片一一对应的json文件,记录标注信息。
      • 分类时会在输入图片文件夹同级目录生成flags.txt文件。 :::
    • 选择“已有数据集”:无需进行图像标注,单击“确认”后,可直接开始模型迁移。

模型迁移

  1. 在工具界面单击下方“一键迁移”按钮,进入配置界面,输入迁移信息,单击“一键迁移”开始迁移。

    图3 模型一键迁移配置界面

    • 数据集路径:2中标注的数据集路径。
    • 数据集拆分:将图片划分成训练、验证以及测试集的比例,推荐值:0.3。默认拆分0.1的测试集用于边缘推理,训练集与验证集按输入拆分比例再次进行拆分。
    • 迭代次数:训练轮次,推荐值:100。
    • 每批图片数:参与每个批次训练的图片张数,推荐值:12。
    • 输出目录:模型输出路径。
    • 使用早停策略:勾选后,可根据设置的acc值(准确率,一般指在所有图片中,预测正确的概率得分)和持续迭代不上升次数,提前停止训练。
      • acc达到(值):该训练模型精度已达标,可停止训练的阈值,默认值:0.99。
      • acc连续迭代不上升次数:acc值达到某一水平,多次迭代后并无提升的次数,默认值:10。

    :::note 说明 当使用模型适配工具一键迁移时突然断电、重启、进程卡死或手动取消时,可能会引起输出文件残留,请用户自行删除残留文件后再进行一键迁移,请参见使用模型适配工具一键迁移时出现输出文件夹残留手动取消迁移导致模型适配工具异常退出解决。 :::

  2. 迁移完成后会出现提示框,提示已生成打包好的文件,如图4所示。在训练输出目录会生成以下文件与目录,如图5所示。

    • train_output:训练输出的权重文件、onnx文件以及训练数据信息json文件。

    • trans_output:经过数据转换,根据数据集拆分设置生成的测试集、验证集、训练集。

    • edge_infer.tar:打包好的推理相关模型文件与脚本。

      图4 迁移完成

      图5 输出文件

父主题: 构建图像分类应用

模型推理

  1. root用户远程登录开发者套件,将在PC训练模型获得的压缩包上传到开发者套件,上传方法可参见Windows与开发者套件的文件传输,进入压缩包上传目录执行以下命令解压压缩包。

    tar -xvf edge_infer.tar
  2. 进入解压后文件目录执行以下命令将Windows格式文件转换为Unix、Linux格式。

    cd edge_infer/ && dos2unix `find .`

    :::note 说明 若提示命令dos2unix not found,请使用命令安装。

    • Ubuntu22.04版本镜像:

      apt install dos2unix
    • OpenEuler22.03版本镜像:

      yum install dos2unix

    :::

  3. 进入解压缩目录执行如下命令进行模型转换,获得om模型。

    bash atc.sh

    模型转换成功回显如下:

    set env successfully!!
    start exec atc
    ATC start working now, please wait for a moment.
    .................................ATC run success, welcome to the next use.
  4. 执行以下命令进行推理。

    bash run.sh

    推理成功回显如下:

    set env successfully!!
    start exec atc
    [Sample] init resource stage:
    Init resource success
    load model mobilenetv3_100_bs1.om
    Init model resource
    [Model] create model output dataset:
    [Model] create model output dataset success
    [Model] class Model init resource stage success
    ....
    image name :./data/watermelon/pic (85).jpg, infer result: apple //识别pic (85).jpg中物品类别为苹果
    ....
    image name :./data/watermelon/pic (36).jpg, infer result: tangerine //识别pic (36).jpg中物品类别为柑橘
    Execute end. Acc: 0.25
    INFO: convert model success!
    Release acl resource, 1
    Start relase resource 0
    Model start release...
    Model release source success
    Release acl resource success

    推理结果图如图1图2所示。

    图1 查看推理结果1

    图2 查看推理结果2

    :::note 说明 run.sh会调用推理主程序infer.py,执行此条命令。

    python3.9 infer.py --model mobilenetv3_100_bs1.om --label_path class_indices.json --output_path ./

    命令行参数解析:

    • model:分类模型文件目录。
    • label_path:训练生成的class_indices.json地址。
    • output_path:推理分类结果输出cls_output.txt地址。 :::

父主题: 构建图像分类应用

在线提单