MNN編譯android


MNN下交叉編譯
android

參考:https://blog.csdn.net/Simplify_boy/article/details/105410235vim

https://blog.csdn.net/qq_37643960/article/details/99775939bash

 

Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)session

 

MNN CMakeLists.txt
CMakelist.txt 設置MNN_ARM82爲ON (低精度須要的動態庫)
ui

ndk
vim ~/.bashrc
添加android-NDK
export ANDROID_NDK=/$(path)/android-ndk-r21 
$(path)爲本身的路徑
source ~/.bashrc`

編譯
cd /path/to/MNN
./schema/generate.sh
 cd MNN/project/android
mkdir build_64 && cd build_64 && ../build_64.sh
make -j4

使用動態庫
代碼設置
// 建立session須要的配置
MNN::ScheduleConfig config;
// 選擇Backend
config.type = MNN_FORWARD_CPU;
// 線程數
config.numThread = 2;
// 配置相應的Backend
BackendConfig backendConfig;
// 選擇低精度/通常配置計算
backendConfig.precision = BackendConfig::Precision_Low;
// 或者
// backendConfig.precision = BackendConfig::Precision_Normal;
config.backendConfig    = &backendConfig;

android添加庫
public class MNNNetNative { // load libraries 
    static { 
    System.loadLibrary("MNN"); 
    System.loadLibrary("MNN_Arm82"); 
    System.loadLibrary("mnncore"); 
    }
}




































.net

相關文章
相關標籤/搜索