我有一个仅包含卷积(甚至之间没有激活)的简单模型,我想使用多核在ARM Android设备上的Caffe2中对其进行基准测试。
我跑步时
./speed_benchmark --init_net=model_for_inference-simplified-init-net.pb --net=model_for_inference-simplified-predict-net.pb --iter=1
它在单核上运行。
速度基准测试使用以下方法构建:
scripts/build_android.sh -DANDROID_ABI=arm64-v8a -DANDROID_TOOLCHAIN=clang -DBUILD_BINARY=ON
在X86上,它是通过
构建的mkdir build
cd build
cmake .. -DBUILD_BINARY=ON
并设置OMP_NUM_THREADS = 8会有所帮助,但在ARM上则无济于事
我是否需要更改arm的构建命令,设置一些环境变量,一些二进制参数或其他内容?
答案 0 :(得分:0)
我不知道需要像https://caffe2.ai/docs/mobile-integration.html所述在模型中设置引擎信息
通过以下方式更新预测网后:
for op in predict_net.op:
if op.type == 'Conv':
op.engine = 'NNPACK'
更多的内核开始使用