| #!/bin/bash | 
 | ############################################################################## | 
 | # Example command to build the Raspbian target. | 
 | ############################################################################## | 
 | # | 
 | # This script shows how one can build a Caffe2 binary for raspbian. The build | 
 | # is essentially much similar to a host build, with one additional change | 
 | # which is to specify -mfpu=neon for optimized speed. | 
 |  | 
 | CAFFE2_ROOT="$( cd "$(dirname -- "$0")"/.. ; pwd -P)" | 
 | echo "Caffe2 codebase root is: $CAFFE2_ROOT" | 
 | BUILD_ROOT=${BUILD_ROOT:-"$CAFFE2_ROOT/build"} | 
 | mkdir -p $BUILD_ROOT | 
 | echo "Build Caffe2 raspbian into: $BUILD_ROOT" | 
 |  | 
 | # obtain dependencies. | 
 | echo "Installing dependencies." | 
 | sudo apt-get install \ | 
 |   cmake \ | 
 |   libgflags-dev \ | 
 |   libgoogle-glog-dev \ | 
 |   libprotobuf-dev \ | 
 |   libpython-dev \ | 
 |   python-pip \ | 
 |   python-numpy \ | 
 |   protobuf-compiler \ | 
 |   python-protobuf | 
 | # python dependencies | 
 | sudo pip install hypothesis | 
 |  | 
 | # Now, actually build the raspbian target. | 
 | echo "Building caffe2" | 
 | cd $BUILD_ROOT | 
 |  | 
 | # Note: you can add more dependencies above if you need libraries such as | 
 | # leveldb, lmdb, etc. | 
 | cmake "$CAFFE2_ROOT" \ | 
 |     -DCMAKE_VERBOSE_MAKEFILE=1 \ | 
 |     -DCAFFE2_CPU_FLAGS="-mfpu=neon -mfloat-abi=hard" \ | 
 |     || exit 1 | 
 |  | 
 | # Note: while Raspberry pi has 4 cores, running too many builds in parallel may | 
 | # cause out of memory errors so we will simply run -j 2 only. | 
 | make -j 2 || exit 1 |