MNN是一个轻量级的深度神经网络引擎,支持深度学习的推理与训练。适用于服务器/个人电脑/手机/嵌入式各类设备。目前,MNN已经在阿里巴巴的手机淘宝、手机天猫、优酷等30多个App中使用,覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景。
现在这时候的MNN,环境要求和编译情况如下:
-
环境要求
cmake >= 3.10
gcc >= 4.9
-
相关编译选项
MNN_ONEDNN 是否使用oneDNN库来加速卷积运算 MNN_AVX512 是否使用AVX512指令,需要gcc9以上版本编译 MNN_OPENCL 是否使用OpenCL后端,针对GPU设备 MNN_VULKAN 是否使用Vulkan后端,针对GPU设备 MNN_CUDA 是否使用CUDA后端,针对Nivida GPU设备 MNN_TENSORRT 是否使用TensorRT后端,针对Nivida GPU设备
-
具体步骤
-
准备工作 (可选,修改 MNN Schema 后需要)
cd /path/to/MNN ./schema/generate.sh ./tools/script/get_model.sh # 可选,模型仅demo工程需要
-
本地编译
mkdir build && cd build && cmake .. && make -j8
-
小伙伴们,可以试试上面这种方式!!!(等源码没问题了)
由于现在的MNN源码有问题,运行./schema/generate.sh时,报错:-bash: ./generate.sh: cannot execute: required file not found,这是因为源码中3rd_party/flatbuffers/下缺少tmp文件夹。
所以选了一个低版本的MNN进行编译,低版本的MNN,有的需要依赖protobuf库,见文档: