SSD300 Object Detect Demos
VOC0712
您需要准备用于测试的数据集,如果量化模型,还要准备用于量化的数据集。
本例程在scripts
目录下提供了相关模型和数据集的下载脚本download.sh
,您也可以自己准备模型和数据集,并参考4. 模型转换进行模型转换。
pip3 install pycocotools #mAP测试使用pycocotools
sudo apt install unzip
chmod -R +x scripts/
./scripts/download.sh
执行后,模型保存在data/models
,数据集在data/
下载的模型包括:
BM1684/ssd300_fp32_1b.bmodel: 用于BM1684的FP32 BModel,batch_size=1
BM1684/ssd300_fp32_4b.bmodel: 用于BM1684的FP32 BModel,batch_size=4
BM1684/ssd300_int8_1b.bmodel: 用于BM1684的INT8 BModel,batch_size=1
BM1684/ssd300_int8_4b.bmodel: 用于BM1684的INT8 BModel,batch_size=4
BM1684X/ssd300_fp32_1b.bmodel: 用于BM1684X的FP32 BModel,batch_size=1
BM1684X/ssd300_fp32_4b.bmodel: 用于BM1684X的FP32 BModel,batch_size=4
BM1684X/ssd300_int8_1b.bmodel: 用于BM1684X的INT8 BModel,batch_size=1
BM1684X/ssd300_int8_4b.bmodel: 用于BM1684X的INT8 BModel,batch_size=4
下载的数据集包括:
images/lmdb: 用于量化的lmdb数据集
video.mp4: 测试视频
VOC2007-test-images: VOC2007测试集
pascal_test2007.json: VOC2007测试集的ground truth
模型编译前需要安装tpu-nntc,具体可参考tpu-nntc环境搭建。
caffe模型编译为FP32 BModel,具体方法可参考BMNETC 使用。
本例程在scripts
目录下提供了编译FP32 BModel的脚本。请注意修改gen_fp32bmodel.sh
中的模型路径、生成模型目录和输入大小shapes等参数,并在执行时指定BModel运行的目标平台(支持BM1684和BM1684X),如:
./scripts/gen_fp32bmodel.sh BM1684X
执行上述命令会在data/models/BM1684X/
下生成ssd300_fp32_1b.bmodel、ssd300_fp32_4b.bmodel、
文件,即转换好的FP32 BModel。
不量化模型可跳过本节。
模型的量化方法可参考Quantization-Tools User Guide
本例程在scripts
目录下提供了编译INT8 BModel的脚本。请注意修改gen_int8bmodel.sh
中的模型路径、生成模型目录和输入大小shapes等参数,并在执行时指定BModel运行的目标平台(支持BM1684和BM1684X),如:
./scripts/gen_int8bmodel.sh BM1684X
执行上述命令会在data/models/BM1684X/
下生成ssd300_int8_1b.bmodel、ssd300_int8_4b.bmodel、
文件,即转换好的INT8 BModel。