熊旗
Part.1开发者日记
Part.2开发者日记故事的开始:一个念头引发的技术挑战
“ 之前在使用的RDK X3的时候,看到过前辈关于新一代量化转换工具链使用教程,这个工具真的非常的方便!能非常快速的完成X3上模型的量化,不过针对X5的工具仍在开发......"
于是熊旗大胆决定“让我来!”
他决定仿照前辈的X3可视化工具链来制作一个适配X5的可视化量化转换工具链。
“我的初步构想便是这个可视化工具链能够逐步适配地瓜机器人ModelZoo里的所有模型,实现一站式从模型的训练到模型的转换最后到部署,使之能够更加轻松便捷的服务新拿到RDK的同学们。”
Part.3开发者日记领域展开:魔法的使用方法
于是在经过一段时间的研发后,熊旗的工具链初版完成。目前,模型的训练和导出已全面支持YOLO系列,实现了从训练到转换的完整流程,能有效帮助开发者更直观地理解和优化模型。
Docker使用(推荐)
# step 1 拉取docker镜像(阿里云仓库)docker pull crpi-0uog49363mcubexr.cn-hangzhou.personal.cr.aliyuncs.com/skyxz/rdk_toolchain:v1.3# step 2 创建文件夹映射mkdir ~/datasetexport 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:v1.3# 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:v1.3 手动构建docker镜像
手动构建docker镜像
# step 1 :从百度云下载源码(仓库中仅有前端后端实现)https://pan.baidu.com/s/1fz_DueWNr3uKDLO7KkNwZw?pwd=7jy3# step 2 解压并进入项目目录# step 3 构建dockerdocker build -t rdk_toolchain .# step 4 创建文件夹映射mkdir ~/datasetexport 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:v1.3# 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:v1.3
直接下载源码使用
# step 1 :从百度云下载源码(仓库中仅有前端后端实现)https://pan.baidu.com/s/1fz_DueWNr3uKDLO7KkNwZw?pwd=7jy3# step 2 : 安装依赖pip3 install -r requirements_docker.txt# step 3 :运行脚本即可bash start_services.sh
尽管其他模型如 ResNet、FCOS 仍在支持计划中,但由于模型量化和转换部分的高自由度,目前已能够覆盖绝大多数模型的转换需求。
Part.4开发者日记Dev前必看:避坑指南 Loading...
当前页面的任务正在进行的时候请不要切换至其他页面!切至其他页面后再切回本页面无法恢复原先内容!也无法结束进行中的进程了!
当停止某项操作时(如停止训练)有时停止按钮可能会卡住无反应,这不是卡死了!这是后台正在尝试杀死进程中,几秒后再次点击停止即可退出!
当遇到无法结束进程或是在任务进行中切换至其他页面时请停止Docker以结束后台正在运行中的进程!
部分日志输出为红色不一定是报错!进程是否因为报错结束请以训练状态标志为准!
除了模型导出的onnx会放在原pt模型路径下之外,其他所有运行的结果将保存在/app/logs下
版本进化论:可持续发展ing
已支持所有模型的量化转换操作
已完成ModelZoo中YOLO全系列的训练与导出实现
TODO V2.0
即将支持ResNet系列模型、FCOS等模型
即将实现PC端转换后模型推理检查
推文有没有让你意犹未尽?还有哪些没讲到的部分让你挠头?别急!熊旗已经准备好了——
RDK可视化工具还有哪些隐藏玩法? 开发过程中遇到的坑,怎么优雅避开? 关于模型适配、优化、扩展性……
你问,熊旗答!
一个人敲代码是孤独的,但一群人一起敲,就变成了一场狂欢——
3月4日晚上7:00,在深夜一个人debug前,不妨预约地瓜机器人视频号和Bilibili,和熊旗一起把代码聊出花
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com