安装必要软件
sudo apt-get install -y openjdk-8-jdk
apt-get install -y curl
sudo apt-get install -y pkg-config
sudo apt-get install -y zip
sudo apt-get install -y g++
sudo apt-get install -y zlib1g-dev
sudo apt-get install -y unzip
sudo apt-get install -y python
sudo apt-get install -y python-enum34
sudo apt-get install -y python-pip
pip install numpy
sudo apt-get install -y python3-numpy
sudo apt-get install -y python3-dev
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-wheel
安装bazel(binary installer):
https://github.com/bazelbuild/bazel/releases
下载bazel-0.5.4-installer-linux-x86_64.sh
chmod +x bazel-0.5.4-installer-linux-x86_64.sh
安装bazel
./bazel-0.5.4-installer-linux-x86_64.sh --user
配置bazel
vi ~/.bashrc
{
export PATH="$PATH:$HOME/bin"
}
sudo apt-get install -y protobuf-c-compiler
sudo apt-get install -y protobuf-compiler
下载tensorflow源码
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git submodule update --recursive
简单配置
./configure
{
Extracting Bazel installation...
You have bazel 0.5.4 installed.
Please specify the location of python. [Default is /usr/bin/python]:
Found possible Python library paths:
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
Please input the desired Python library path to use. Default is [/usr/local/lib/python2.7/dist-packages]
Do you wish to build TensorFlow with jemalloc as malloc support? [Y/n]: n
No jemalloc as malloc support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Google Cloud Platform support? [Y/n]: n
No Google Cloud Platform support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Hadoop File System support? [Y/n]: n
No Hadoop File System support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Amazon S3 File System support? [Y/n]:
Amazon S3 File System support will be enabled for TensorFlow.
Do you wish to build TensorFlow with XLA JIT support? [y/N]:
No XLA JIT support will be enabled for TensorFlow.
Do you wish to build TensorFlow with GDR support? [y/N]:
No GDR support will be enabled for TensorFlow.
Do you wish to build TensorFlow with VERBS support? [y/N]:
No VERBS support will be enabled for TensorFlow.
Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]:
No OpenCL SYCL support will be enabled for TensorFlow.
Do you wish to build TensorFlow with CUDA support? [y/N]:
No CUDA support will be enabled for TensorFlow.
Do you wish to build TensorFlow with MPI support? [y/N]:
No MPI support will be enabled for TensorFlow.
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:
Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]:
Not configuring the WORKSPACE for Android builds.
Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See tools/bazel.rc for more details.
--config=mkl # Build with MKL support.
--config=monolithic # Config for mostly static monolithic build.
Configuration finished
}
编译C++库
bazel build --config=opt //tensorflow:libtensorflow_cc.so
编译C 库
bazel build --config=opt //tensorflow:libtensorflow.so
编译pip安装包
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
卸载Bazel:
$ sudo apt-get --purge remove bazel
$ sudo apt autoremove
参考资料:
https://blog.csdn.net/lovekkss/article/details/77102251
https://blog.csdn.net/jeryjeryjery/article/details/79827139
https://www.jianshu.com/p/d6d2b5ec5ceb
https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu
https://github.com/tensorflow/serving/issues/521