Build Larq Compute Engine¶
The Larq Compute Engine (LCE) repository consists of two main components:
LCE Runtime: which is a collection of highly optimized TensorFlow Lite custom operators.
LCE Converter: which takes a Larq model and generates a TensorFlow Lite FlatBuffer file (
.tflite) compatible with LCE runtime.
Before proceeding with building LCE components, you need to setup the LCE build enviroment first.
Setup the build environment¶
1. Setup Docker container¶
First, download the docker image:
docker pull tensorflow/tensorflow:custom-op-ubuntu16
Clone the LCE repository in the host machine:
mkdir lce-volume git clone https://github.com/larq/compute-engine.git lce-volume
To start the container and map the
lce-volume directory to the
/tmp/lce-volume directory inside the container:
docker run -it -v $PWD/lce-volume:/tmp/lce-volume \ -w /tmp/lce-volume tensorflow/tensorflow:custom-op-ubuntu16 /bin/bash
Now, you will be able to build your targets inside the container and access the build artifacts directly from the host machine.
2. Install Bazelisk¶
Bazel is the primary build system for LCE. However, to avoid Bazel compatibility issues, you need to use Bazelisk as a launcher for Bazel. To install Bazelisk on Linux, run the following two commands (replace
v1.2.1 with your preferred bazelisk version):
sudo wget -O /usr/local/bin/bazel \ https://github.com/bazelbuild/bazelisk/releases/download/v1.2.1/bazelisk-linux-amd64 sudo chmod +x /usr/local/bin/bazel
3. Configure Bazel¶
./configure.sh script in the LCE root directory and answer "Yes" to the
manylinux2010 question if you want to build the LCE converter's PIP package inside the
tensorflow:custom-op-ubuntu16 container. This script generates the Bazel configuration file
.bazelrc in the LCE root directory.
Build LCE Runtime¶
LCE runtime has a diverse platform support, covering Android and ARM-based boards such as Raspberry Pi. To build/install/run LCE runtime on each of these platforms, please refer to the corresponding guide.
Build LCE Converter¶
pip install larq-compute-engine
You can also run the following commands, to build the LCE pip package yourself:
bazel build :build_pip_pkg bazel-bin/build_pip_pkg artifacts
The script stores the wheel file in the
artifacts/ directory located in the LCE root directory. To install the PIP package:
pip install artifacts/*.whl