Sigmstar Comake D1 AI开发 IPU ToolChain系列之快速开始
本文介绍了sigmastar 平台 IPU Toolchain StarShuttle快速入门的流程,包含教学视频,供大家参考
IPU Toolchain 快速开始培训视频
一. 开发环境准备¶
📝 IPU_Toolchain基于AVX2指令集编写,请使用支援AVX2的处理器运行。
推荐配置
🖥️💻 | ⚙️ |
---|---|
CPU | Intel® Xeon® Gold 6242 or Higher |
RAM | 256G or Higher |
最低配置
🖥️💻 | ⚙️ |
---|---|
CPU | Intel® CoreTM i7 |
RAM | 32G |
1 安装Docker开发环境¶
加载 SGS docker 镜像文件.
tar -Jxvf sgs_docker_v1.8.tar.xz
docker load < sgs_docker_v1.8.tar
运行 SGS docker.
./run_docker.sh
2 SGS_IPU_Toolchain工具链环境设置¶
进入SGS_IPU_Toolchain工具链目录设置环境。
cd ~/SGS_IPU_Toolchain
source cfg_env.sh
3 确定芯片平台
进入SGS_IPU_Toolchain工具链目录设置环境。使用如下的cmd 确定CHIP 实际使用哪一个,比如当前comake D1 平台,对应pcupid
cd ~/SGS_IPU_Toolchain
python3 ./DumpDebug/show_sdk_info.py
二. 快速开始
1 AI模型快速转换¶
onnx_yolov8s模型可在IPU_Toolchain同级目录的Quick_Start_Demo/onnx_yolov8s获取。
1.1 模型转换¶
初始化SGS_IPU_Toolchain
cd SGS_IPU_Toolchain
source cfg_env.sh
进入onnx_yolov8s目录
cd Quick_Start_Demo/onnx_yolov8s
运行如下命令转换
python3 SGS_IPU_Toolchain/Scripts/ConvertTool/SGS_converter.py onnx \
-i coco2017_calibration_set32 \
--model_file onnx_yolov8s.onnx \
--input_shape 1,3,640,640 \
--input_config input_config.ini \
-n onnx_yolov8s_preprocess.py
--output_file onnx_yolov8s_CHIP.img \
--export_models \
--soc_version CHIP
不同框架模型转化为IPU模型的使用方式详见原始模型到端侧模型转换指南。
1.2 模型仿真运行¶
1.2.1 PC端仿真运行yolov8s浮点模型¶
yolov8_simulator.py脚本可在IPU_Toolchain同级目录的Quick_Start_Demo/onnx_yolov8s获取。
进入onnx_yolov8s目录
cd Quick_Start_Demo/onnx_yolov8s
运行如下命令
python3 yolov8_simulator.py \
--image 000000562557.jpg \
--model onnx_yolov8s_float.sim \
-n onnx_yolov8s_preprocess.py \
--draw_result output \
--soc_version CHIP
关于calibrator_custom的simulator Python API用法请参考自定义simulator简介
绘制图片保存在output目录,float模型仿真推理output结果(截取前2个展示):
{"image_id": 562557, "category_id": 42, "bbox": [43.684708,187.861725,99.633865,204.318481], "score": 0.947503},
{"image_id": 562557, "category_id": 1, "bbox": [431.325500,144.585709,106.798584,319.920639], "score": 0.890941},
1.2.2 PC端仿真运行yolov8s定点模型¶
python3 yolov8_simulator.py \
--image 000000562557.jpg \
--model onnx_yolov8s_fixed.sim \
-n onnx_yolov8s_preprocess.py \
--draw_result output \
--soc_version CHIP
绘制图片保存在output目录,fixed模型仿真推理output结果(截取前2个展示):{"image_id": 562557, "category_id": 42, "bbox": [44.104973,189.841034,96.748329,201.353577], "score": 0.942028},
{"image_id": 562557, "category_id": 1, "bbox": [431.829865,145.265045,105.226593,319.568085], "score": 0.881899},
1.2.3 PC端仿真运行yolov8s离线模型¶
python3 yolov8_simulator.py \
--image 000000562557.jpg \
--model onnx_yolov8s_CHIP.img \
-n onnx_yolov8s_preprocess.py \
--draw_result output \
--soc_version CHIP
绘制图片保存在output目录,离线模型仿真推理output结果(截取前2个展示):{"image_id": 562557, "category_id": 42, "bbox": [44.104973,189.841034,96.748329,201.353577], "score": 0.942028},
{"image_id": 562557, "category_id": 1, "bbox": [431.829865,145.265045,105.226593,319.568085], "score": 0.881899},
1.2.4 开发板运行yolov8s离线模型¶
Linux SDK-alkaid已提供sdk/verify/release_feature/source/dla/ipu_server的app。
板端运行ipu_server开启RPC服务(PORT为设定的port号)
./prog_dla_ipu_server -p PORT
板端已运行prog_dla_ipu_server app 开启了RPC服务,PC端使用yolov8_simulator.py运行AI离线模型。
python3 yolov8_simulator.py \
--image 000000562557.jpg \
--model onnx_yolov8s_fixed.sim_sgsimg.img \
-n onnx_yolov8s_preprocess.py \
--draw_result output \
--soc_version CHIP \
--host 板端ip地址 \
--port PORT
绘制图片保存在output目录,offline模型板端推理output结果(截取前2个展示):{"image_id": 562557, "category_id": 42, "bbox": [44.104973,189.841034,96.748329,201.353577], "score": 0.942028},
{"image_id": 562557, "category_id": 1, "bbox": [431.829865,145.265045,105.226593,319.568085], "score": 0.881899},
参数解释如下:
--image
: 推理图片--model
: AI离线模型(offline.img)-n
: 前处理.py文件--draw_result
: 推理画框结果保存文件夹--port
: 板端ip地址--host
: 设定端口号
三. 立即开始
加入Comake开发者社区
主页地址: CoMake开发者社区
SDK下载: CoMake开发者社区
文档中心: CoMake开发者社区
马上购买 : 首页-Comake开发者社区商店
更多推荐
所有评论(0)