Environment requirement¶
MACE requires the following dependencies:
Required dependencies¶
| Software | Installation command | Tested version |
|---|---|---|
| Python | 2.7 or 3.6 | |
| CMake | Linux:apt-get install cmake Mac:brew install cmake |
>= 3.11.3 |
| Jinja2 | pip install jinja2==2.10 | 2.10 |
| PyYaml | pip install pyyaml==3.12 | 3.12.0 |
| sh | pip install sh==1.12.14 | 1.12.14 |
| Numpy | pip install numpy==1.14.0 | Required by model validation |
| six | pip install six==1.11.0 | Required for Python 2 and 3 compatibility |
For Bazel, install it following installation guide. For python dependencies,
pip install -U --user -r setup/requirements.txt
Optional dependencies¶
| Software | Installation command | Remark |
|---|---|---|
| Android NDK | NDK installation guide | Required by Android build, r15b or higher version for bazel users, r17b or higher version for cmake users. |
| Bazel | bazel installation guide | 0.13.0 |
| ADB | Linux:
apt-get install android-tools-adbMac:
brew cask install android-platform-tools |
Required by Android run, >= 1.0.32 |
| TensorFlow | pip install tensorflow==1.8.0 | Required by TensorFlow model |
| Docker | docker installation guide | Required by docker mode for Caffe model |
| Scipy | pip install scipy==1.0.0 | Required by model validation |
| FileLock | pip install filelock==3.0.0 | Required by run on Android |
| ONNX | pip install onnx==1.8.0 | Required by ONNX model |
For python dependencies,
pip install -U --user -r setup/optionals.txt
Note
- For Android build, ANDROID_NDK_HOME must be configured by using
export ANDROID_NDK_HOME=/path/to/ndk. - It will link
libc++instead ofgnustlifNDK version >= r17bandbazel version >= 0.13.0, please refer to NDK cpp-support. - For Mac, please install Homebrew at first before installing other dependencies. Set ANDROID_NDK_HOME in
/etc/bashrcand then runsource /etc/bashrc. This installation was tested with macOS Mojave(10.14).