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
Linux:apt-get install android-tools-adb
Mac: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


  • For Android build, ANDROID_NDK_HOME must be configured by using export ANDROID_NDK_HOME=/path/to/ndk.
  • It will link libc++ instead of gnustl if NDK version >= r17b and bazel 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/bashrc and then run source /etc/bashrc. This installation was tested with macOS Mojave(10.14).