Install MNN deep learning framework on a Raspberry Pi 4.
Last updated: August 13, 2021
This page guides you through the installation of Alibaba's MNN framework on a Raspberry Pi 4. The given C ++ code examples are written in the Code::Blocks IDE for the Raspberry Pi 4. We only guide you through the basics, so in the end, you can build your application. For more information about the MNN library, see https://github.com/alibaba/MNN. Because the installation on a 32-bits operating system is identical to the one on a 64-bits OS, there is no need for sperate instructions. Perhaps unnecessarily, but the installation is the C ++ version. It is not suitable for Python.
The latest version of MNN (1.2.1) has some installation issues on a Raspberry Pi 4. You must update your code with pull request #1616 after downloading. As long as this pull request aren't granted, you could also download our fork instead of the official one.
git clone https://github.com/Qengineering/MNN.git
The MNN framework has a few dependencies. It requires protobuf. OpenCV is used for building the C++ examples and is not needed for MNN.
# check for updates
$ sudo apt-get update
$ sudo apt-get upgrade
# install dependencies
$ sudo apt-get install cmake wget
$ sudo apt-get install libprotobuf-dev protobuf-compiler
With the dependencies installed, the library and converter tools can be built.
# download MNN
$ git clone https://github.com/alibaba/MNN.git
# common preparation (installing the flatbuffers)
$ cd MNN
# install MNN
$ mkdir build
$ cd build
# generate build script
$ cmake -D CMAKE_BUILD_TYPE=Release \
-D MNN_BUILD_QUANTOOLS=ON \
-D MNN_BUILD_CONVERTER=ON \
-D MNN_BUILD_DEMO=ON \
-D MNN_BUILD_BENCHMARK=ON ..
The MNN building routines are capable of detecting the type of operating system used, as can be seen in the output.
Time to build the library and install it in the appropriate folders.
# build MNN (± 20 min)
$ make -j4
$ sudo make install
If everything went well, you have the following folders on your Raspberry Pi 4.
Please note also the folder with the examples.
If you like to download some example deep learning models, use the commands below.
# download some models
$ cd ~/MNN