|  | #!/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 |