0

我有一个仅包含卷积(甚至没有激活)的简单模型,我想在使用多核的 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 的构建命令、设置一些环境变量、一些二进制参数或其他东西?

4

1 回答 1

0

我不知道我需要在模型中设置引擎信息,如https://caffe2.ai/docs/mobile-integration.html中所述

通过以下方式更新预测网络后:

for op in predict_net.op:
  if op.type == 'Conv':
    op.engine = 'NNPACK'

开始使用更多核心

于 2019-02-08T17:56:06.683 回答