1. 编译tensorflow之前先要安装bazel;
sudo apt-get install openjdk-8-jdk
去https://github.com/bazelbuild/bazel/releases/tag/0.24.1下载需要的dbe,采用下面命令安装:
dpkg -i bazel_0.24.1-linux-x86_64.deb
2.编译tensorflow
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r1.14 # r1.9, r1.10, etc.(这里选用的r1.14)
./configure
configure时若出现会出现下面的错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
解决方案只需要去对应的源码中将'ascii'改成'utf-8'即可;
configure时的配置如下:
配置完成后利用bazel进行编译:
bazel build --config=opt //tensorflow:libtensorflow_cc.so # CPU版
bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so # GPU版
注意: 若在C++环境中需要使用opencv环境,建议使用以下指令编译:(若不使用该指令可能会遇到opencv imread图像失效问题,问题详情见https://github.com/tensorflow/tensorflow/issues/14267)
bazel build --config=monolithic //tensorflow:libtensorflow_cc.so
参考:https://tensorflow.google.cn/install/source
参考:Ubuntu16.04下Tensorflow C++编译并调用pb文件(一)