(非官方)RDK模型转换可视化工具!它来了!!!

作者:SkyXZ

CSDN:SkyXZ~-CSDN博客

博客园:SkyXZ - 博客园

之前在使用的RDK X3的时候,吴诺老师@wunuo发布了新一代量化转换工具链使用教程,这个工具真的非常的方便,能非常快速的完成X3上模型的量化,唯一的缺点便是不支持X5,于是我便想着仿照老师的X3可视化工具链来弄一个适配X5的可视化量化转换工具链,我的初步构想便是这个可视化工具链能够逐步适配地瓜ModelZoo里的所有模型实现一站式从模型的训练到模型的转换最后到部署,使之能够更加轻松便捷的服务新拿到RDK的同学们,于是在经过一段时间的努力后,我的工具链初版完成啦!

目前新版工具链已经升级到了V2.0版本,优化了部分的UI显示,新增了页面保持,在切换页面的时候系统会自动记录当前的日志及后台进程,在您切换回当前页面的时候会自动恢复!同时支持了大部分的分类模型的在线训练与导出,最最最重要的是!现在的可视化工具链支持使用模型编译的中间产物"quantion.onnx"直接在开发机上执行推理!可以快速验证量化后的模型效果啦!!!

希望大家能够多多提出意见帮助这个项目改进!!!(qaq:JS真的太难了)后续会增加开发板管理功能!!!

使用方法:

默认启动地址:127.0.0.1:5000

Docker安装详见:Linux下Docker及Nvidia Container ToolKit安装教程 - SkyXZ - 博客园

  1. Docker使用(推荐):

    step 1 拉取docker镜像(阿里云仓库)

    docker pull crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v2.0

    step 2 创建文件夹映射

    mkdir ~/dataset
    export dataset_path=~/dataset

    Run-Method-1 临时创建容器(自行修改–shm-size配置)

    docker run -it --rm --gpus all --shm-size=32g --ipc=host -e PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 -e CUDA_LAUNCH_BLOCKING=1 -p 5000:5000 -p 8080:8080 -v “$dataset_path”:/data crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v2.0

    Run-Method-2 永久创建容器(自行修改–shm-size配置)

    docker run -it --rm --gpus all --shm-size={你的内存大小例如:32g} --ipc=host -e PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 -e CUDA_LAUNCH_BLOCKING=1 -p 5000:5000 -p 8080:8080 -v “$dataset_path”:/data crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v2.0

  2. 手动构建docker镜像:

    step 1 :从百度云下载源码(仓库中仅有前端后端实现)

    百度网盘 请输入提取码

    step 2 解压并进入项目目录

    step 3 构建docker

    docker build -t rdk_toolchain .

    step 4 创建文件夹映射

    mkdir ~/dataset
    export dataset_path=~/dataset

    Run-Method-1 临时创建容器(自行修改–shm-size配置)

    docker run -it --rm --gpus all --shm-size=32g --ipc=host -e PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 -e CUDA_LAUNCH_BLOCKING=1 -p 5000:5000 -p 8080:8080 -v “$dataset_path”:/data crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v2.0

    Run-Method-2 永久创建容器(自行修改–shm-size配置)

    docker run -it --rm --gpus all --shm-size={你的内存大小例如:32g} --ipc=host -e PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 -e CUDA_LAUNCH_BLOCKING=1 -p 5000:5000 -p 8080:8080 -v “$dataset_path”:/data crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v2.0

  3. 直接下载源码使用:

    step 1 :从百度云下载源码(仓库中仅有前端后端实现)

    百度网盘 请输入提取码

    step 2 : 安装依赖

    pip3 install -r requirements_docker.txt

    step 3 :运行脚本即可

    bash start_services.sh

注意事项:

  1. 当停止某项操作时(如停止训练)有时停止按钮可能会卡住无反应,这不是卡死了!这是后台正在尝试杀死进程中,几秒后再次点击停止即可退出!
  2. 部分日志输出为红色不一定是报错!进程是否因为报错结束请以训练状态标志为准!
  3. 除了模型导出的onnx会放在原pt模型路径下之外,其他所有运行的结果将保存在/app/logs下

版本介绍:

V1.0:

  1. 已支持所有模型的量化转换操作
  2. 已完成ModelZoo中YOLO全系列的训练与导出实现
  3. 即将支持ResNet系列模型、FCOS等模型(TODO V2.0)
  4. 即将实现PC端转换后模型推理检查(TODO V2.0)

V2.0:

  1. 已支持常见分类模型的量化转换操作
  2. 增加网页保持状态功能,切换页面不用担心状态丢失啦!
  3. 修复了部分BUG,优化了部分功能,也优化了部分丑陋的界面
  4. 新增了训练及导出部分模型尺寸的设置

地瓜机器人RDK模型一站式开发工具功能展示:

  • 工具总览:

indexindex

  • 模型训练:

train

  • 模型导出

exportexport

  • 模型量化检查

quarquar

  • 模型转换

convenconven

  • 反量化节点摘除

deletedelete

  • 模型输入输出情况及可视化检查

detectiondetection

新功能一览:

  • 页面保持:

5667aff9d17558122512ef421c04ac5

b7788f273295383c3f53058c931cf14

  • 模型在线测试:

87ea63e279fd7eaf29de7e93c40670a

  • UI优化:

12cf3ace9c6478561e6efb11ce6e6f6

  • 分类模型训练及导出支持:

dc7c71d57420af1e6c15117342eb492

2 个赞

你好,我在使用工具时,发现网页中不显示文件及文件夹

请问这个能在windowsdocker中使用吗

成功运行之后想导入pt文件时网页上文件显示不全和不显示怎么解决呢

Error message:vector::_M_range_check: __n (which is 2) >= this->size() (which is 2)-
这个错误是怎么回事

检测不到GPU是怎么回事

请问这个平台x3可以用吗

太赞了!!

X3可以使用哦

可以的

请问使用模型测试功能,使用后显示Method Not Allowed

The method is not allowed for the requested URL.是什么原因

模型训练不了诶 导出脚本和训练脚本都不存在 不知道为什么

请问你解决好了吗 我也是这个问题

您好,我拉取镜像后发现占用了大量内存,在删除镜像后,仅仅清理了大约10g的内存,请问如何清理其他文件

要挂载文件夹启动的亲,具体问gpt如何启动docker挂载文件夹