3.2.1. 运行demo¶
3.2.1.1. 获取bmodel和图片¶
在运行 demo 之前,我们需要下载 rensnet50 的 fp32_bmodel 和 int8_bmodel。 另外,也需要一张图片作为待处理的输入。 若您已经按照前述说明执行/workspace/examples/sail/sc5_tests/auto_test.sh,则相应的模型文件及测试图片应当已经下载完毕。 如果没有这些文件,可以使用 ”dowload.py“ 下载。
python3 download.py resnet50_fp32.bmodel --save_path ./data python3 download.py resnet50_int8.bmodel --save_path ./data python3 download.py cls.jpg --save_path ./data
注解
请从sdk/examples/sail/se5_tests/scripts/ 或 sdk/examples/sail/sc5_tests/目录下获取download.py。
3.2.1.2. 运行C++程序¶
请确保您已经按照前述说明执行/workspace/examples/sail/sc5_tests/auto_test.sh,该脚本将编译c++程序生成可执行文件。
For case 0:
# run fp32 bmodel ./build/bin/cls_resnet_0 \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg # run int8 bmodel ./build/bin/cls_resnet_0 \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpgFor case 1:
# run fp32 bmodel ./build/bin/cls_resnet_1 \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg \ --threads 2 # run int8 bmodel ./build/bin/cls_resnet_1 \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpg \ --threads 2For case 2:
# run fp32 bmodel and int8 bmodel in two threads ./build/bin/cls_resnet_2 \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpgFor case 3:
# run fp32 bmodel ./build/bin/cls_resnet_3 \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg \ --tpu_id 0 \ --tpu_id 1 # run int8 bmodel ./build/bin/cls_resnet_3 \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpg \ --tpu_id 0 \ --tpu_id 1
3.2.1.3. 运行python程序¶
For case 0:
# run fp32 bmodel python3 ./python/cls_resnet/cls_resnet_0.py \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg --loops 1 # run int8 bmodel python3 ./python/cls_resnet/cls_resnet_0.py \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpg --loops 1For case 1:
# run fp32 bmodel python3 ./python/cls_resnet/cls_resnet_1.py \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg --threads 2 # run int8 bmodel python3 ./python/cls_resnet/cls_resnet_1.py \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpg --threads 2For case 2:
# run fp32 bmodel and int8 bmodel in two threads python3 ./python/cls_resnet/cls_resnet_2.py \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpgFor case 3:
# run fp32 bmodel python3 ./python/cls_resnet/cls_resnet_3.py \ --bmodel ./data/resnet50_fp32_191115.bmodel \ --input ./data/cls.jpg \ --tpu_id 0 \ --tpu_id 1 # run int8 bmodel python3 ./python/cls_resnet/cls_resnet_3.py \ --bmodel ./data/resnet50_int8_191115.bmodel \ --input ./data/cls.jpg \ --tpu_id 0 \ --tpu_id 1