比特大陆/算能科技BM1684芯片环境配置
引子
国产AI芯片一直是备受大家关注的一个方面,刚好工作中使用过,在此,要做一个简单的总结和汇总,OK,让我们开始吧。
一、环境安装
1、下载镜像
2、下载sdk2.7
提取码:nzpx
3、解压sdk
tar zxvf bmnnsdk2-bm1684_v2.7.0
cd bmnnsdk2-bm1684_v2.7.0
4、验证驱动
lspci | grep 1684
正常输出如下:
01:00.0 Processing accelerators: Bitmain Technologies Inc. BM1684, Sophon Series Deep Learning Accelerator (rev 01)
5、启动docker
# 从宿主机SDK根目录下执行脚本进入docker环境
./docker_run_bmnnsdk.sh
6、配置环境
cd /workspace/scripts/
./install_lib.sh nntc
source envsetup_pcie.sh
export PYTHONPATH=$PYTHONPATH:/workspace/lib/opencv/x86/opencv-python
7、验证
cd /workspace/examples/SSD_object/cpp_cv_bmcv_bmrt/
make -f Makefile.pcie clean && make -f Makefile.pcie
不报错即为安装完成
二、跑通SSD官方例程C++
1、下载模型和数据
cd /workspace/examples/SSD_object/model
./download_ssd_model.sh
ps:
若您无法访问google网络硬盘,请从以下百度网盘链接下载后拷贝到该目录。
原始Caffe模型数据:models_VGGNet_VOC0712_SSD_300x300.tar.gz:
https://pan.baidu.com/s/1pLxeLaVoisqN7IVyfrNhag Password: i4x9
量化使用的图片集数据:VOC712.tgz:
https://pan.baidu.com/s/1o9e7uqKBFx0MODssm4JdiQ Password:nl7v
解压所需文件
# 切换到指定目录
cd ${BMNNSDK}/examples/SSD_object/model
# 解压数据集到data目录下,完成后应该能看到data.mdb lock.mdb
tar zxf VOC712.tgz全路径 -C ./data/
# 将下载的文件models_VGGNet_VOC0712_SSD_300x300.tar.gz放到examples/SSD_object/model目录下
./download_ssd_model.sh
2、生成fp32 bmodel
进入docker(同一中5、6步骤)
# 切换到指定目录
cd /workspace/examples/SSD_object/model
# 生成fp32 bmodel
./gen_bmodel.sh
# fp32模型转换完成之后,接着执行如下指令生成int8 bmodel
./gen_umodel_int8bmodel.sh
以上步骤正确执行后,会在out目录下生成fp32_ssd300.bmodel 、int8_ssd300.bmodel文件。
3、程序编译、运行
cd /workspace/examples/SSD_object/cpp_cv_bmcv_bmrt
make -f Makefile.pcie # for PCIE MODE
make -f Makefile.arm # for SoC MODE
PCIE模式下运行
./ssd300_cv_bmcv_bmrt.pcie image car.jpg ../model/out/fp32_ssd300.bmodel 1 0
运行后,会在当前目录创建results文件夹保存检测结果。
三、python版本例程
1、安装sophon python sdk
cd /workspace/lib/sail/python3/pcie/py37
pip3 install sophon-2.7.0-py3-none-any.whl
2、下载模型
cd /workspace/examples/sail/sc5_tests/
python3 ./download.py ssd_fp32.bmodel
3、运行模型
(1)ssd
mv ssd_fp32_191115.bmodel python/det_ssd/
cd python/det_ssd
python3 det_ssd_0.py --bmodel ./ssd_fp32_191115.bmodel --input ./car.jpg
(2)yolov5s
cd /workspace/examples/YOLOv5_object/python
python3 sail.py --img-name car.jpg