安装依赖
用户需要安装、配置环境依赖和寒武纪CNToolkit安装包后使用CNStream。
环境依赖:
- OpenCV2.4.9+
- GFlags2.1.2
- GLog0.3.4
- CMake2.8.7+
- SDL2 2.0.4+
CNStream的使用依赖于寒武纪CNToolkit安装包中CNRT库和CNCodec库。CNToolkit安装包是寒武纪公司发布的基于寒武纪硬件产品的神经网络开发工具包。用户需要在使用CNStream之前安装寒武纪CNToolkit安装包。发送邮件到 barret.bi@wpi-group.com,联系工程师获得CNToolkit安装包和安装指南。
安装CNStream
执行下面命令,在Ubuntu环境下安装和配置环境依赖和依赖库:
- 运行下面指令从github仓库检出CNStream源码。${CNSTREAM_DIR} 代表CNStream源码目录。
git clone https://github.com/Cambricon/CNStream.git
若未安装CNToolkit安装包,参考《Cambricon-CNToolkit-Installation-And-Updation-Guide-CN-v1.7.3.pdf》
安装。(注意:安装CNToolkit之前,需要先安装MLU220对应版本的驱动)
- 运行下面指令安装环境依赖
用户可通过 ${CNSTREAM_DIR}/tools 下的 pre_required_helper.sh 脚本进行安装:
cd ${CNSTREAM_DIR}/tools
./pre_required_helper.sh
或者通过以下命令进行安装:
sudo apt-get install libopencv-dev libgflags-dev libgoogle-glog-dev cmake
sudo apt-get install libfreetype6 ttf-wqy-zenhei libsdl2-dev curl libcurl4-openssl-dev
- 编译CNStream
完成环境依赖的部署以及依赖库的安装后,执行下面步骤编译CNStream指令:
- 运行下面指令从github检出子仓easydk源码
cd CNStream && git submodule update --init
- 运行下面命令创建build 目录用来保存输出结果。
mkdir build
- 运行下面命令生成编译指令的脚本。CNSTREAM_DIR 为CNStream源码目录。
- cd build && cmake ${CNSTREAM_DIR}
如果想要运行寒武纪提供的CNStream示例:cmake -Dbuild_sample=ON ${CNSTREAM_DIR}
- 运行下面命令编译CNStream指令:
make
- 运行开发样例
编译后,执行样例中的.sh文件运行开发样例。
1)SSD目标检测样例
在PATH2/CNStream/samples/demo目录下,不能直接运行run.sh脚本,因为默认下载的是MLU270离线模型,而在MLU220上只能运行适合MLU220的模型。这里使用在MLU270上已经转换OK的yolov5s_int8_4b_1c_default.cambricon离线模型测试,和对应的label.txt一起放在PATH2/CNStream/data/models/yolov5目录下,然后修改PATH2/CNStream/samples/demo/detection_config.json文件中“model_path”和“label_path”两参数值,与这两文件所在路径及名称相对应。
执行下面命令运行SSD目标检测样例:
cd ${CNSTREAM_DIR}/samples/demo
vi files.list_video 添加需要使用到的视频文件
./run.sh
执行会在终端打印显示出performance统计结果
若希望在终端中显示检测效果,可以在detection_config.json中修改参数值,将line55中show值false改为true,然后执行./run.sh,结果显示如下图所示
2)YOLOv5网络目标检测样例
cd ~/workspace/CNStream/samples/demo/detection/mlu220 && ./run_yolov5_mlu220.sh
3)物体分类样例
cd ~/workspace/CNStream/samples/demo/classification/mlu220 && ./run_resnet18_mlu220.sh
4)物体追踪样例
cd ~/workspace/CNStream/samples/demo/track/mlu220
vi track_SORT_mlu220_config.json,添加displayer模块如下:
./run_track_SORT_mlu220.sh
参考文档
《Cambricon-CNStream-User-Guide-CN.pdf》
评论