SSD300 Object Detect Demos
VOC0712
转换模型前需要进入docker环境,切换到sdk根目录,启动docker容器:
- 从宿主机SDK根目录下执行脚本进入docker环境
./docker_run_<***>sdk.sh
- 在docker容器内安装SDK及设置环境变量
# 在docker容器内执行
cd $REL_TOP/scripts
# 安装库
./install_lib.sh nntc
# 设置环境变量,注意此命令只对当前终端有效,重新进入需要重新执行
source envsetup_pcie.sh # for PCIE MODE
# source envsetup_cmodel.sh # for CMODEL MODE
可以使用scripts下脚本文件prepare.sh从nas网盘下载原始SSD模型和相关数据:
./scripts/prepare.sh
脚本将在下载完的ssd300.caffemodel和ssd300_deploy.prototxt放至data/models/下。这两个文件就是我们所需的原始Caffe模型文件。 同时会下载量化数据data.mdb至data/images/lmdb/文件夹。
模型转换的过程需要在x86下的docker开发环境中完成。以下操作均在x86下的docker开发环境中完成。
./scripts/gen_fp32bmodel.sh
执行成功后,会在data/models/fp32bmodel目录下生成ssd300_fp32_1b.bmodel、ssd300_fp32_4b.bmodel文件。
./scripts/gen_int8bmodel.sh
执行成功后,会在data/models/int8bmodel目录下生成ssd300_int8_1b.bmodel、ssd300_int8_4b.bmodel文件。
对于x86 PCIe平台,程序执行所需的环境变量执行source envsetup_pcie.sh
时已经配置完成。
对于arm SoC平台,内部已经集成了相应的SDK运行库包,位于/system目录下,只需设置环境变量即可。
# 设置环境变量
export PATH=$PATH:/system/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib/:/system/usr/lib/aarch64-linux-gnu
export PYTHONPATH=$PYTHONPATH:/system/lib
如果您使用的设备是Debian系统,您可能需要安装numpy包,以在Python中使用OpenCV和SAIL:
# 对于Debian9,请指定numpy版本为1.17.2
sudo apt update
sudo apt-get install python3-pip
sudo pip3 install numpy==1.17.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果您使用的设备是Ubuntu20.04系统,系统内已经集成了numpy环境,不需要进行额外的安装。
具体查看cpp目录下各例程的README.md
具体查看python目录下各例程的README.md