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开发者社区商店

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐