安装tensorflow的c++接口(手动编译tensorflow)
本文亲测没有成功…
参考https://blog.csdn.net/seniusen/article/details/82972335
https://www.cnblogs.com/seniusen/p/9756481.html
安装tensorflow的c++接口需要从源码重新编译tensorflow,最重要的参考来自于官方文档。
https://blog.csdn.net/q199502092010/article/details/90289998
源码安装tf的时候,会用到Bazel,版本不对应,后面会引起好多麻烦。
https://www.cnblogs.com/carle-09/p/11675473.html
我的tensorflow_gpu版本为tensorflow_gpu-1.12.0
对应Bazel 0.15.0
安装这个对应是有问题的,要根据在tf文件夹下运行./configure报错提示选取
可以开始安装了
sudo dpkg -i bazel_0.17.2-linux-x86_64.deb
./bazel-0.24.0-installer-linux-x86_64.sh --bin=$HOME/bin --base=$HOME/.bazel
卸载
rm -rf ~/.bazel
rm -rf ~/bin
rm -rf /usr/bin/bazel
sudo dpkg -r bazel
最好是下载源码
下载地址
https://github.com/bazelbuild/bazel/releases?after=0.19.1
https://github.com/bazelbuild/bazel/releases/tag/0.24.0
关于tensorflow和protobuf的版本对应问题
https://www.cnblogs.com/walnuttree/p/11661190.html
tensorflow_gpu-1.12.0
对应protobuf 3.6
还有安装protobuf参考包中的readme.txt
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
然后使用which protoc 和 protoc --version查看版本
bazel编译
./configure
如果版本不对bazel,会提示你现在用的什么版本,最少需要什么版本
一堆提示,一直按确定
bazel build --config=opt --verbose_failures --define framework_shared_object=false tensorflow:libtensorflow_cc.so
漫长的等待
报java的错
but server didn't support it and referenced by '//tensorflow/compiler/xla/service/llvm_ir:llvm_util'
查看java版本并切换
sudo update-alternatives --config java
或者安装
sudo cp jdk-8u181-linux-x64.tar.gz /usr/
cd /usr/
sudo tar -xzvf jdk-8u181-linux-x64.tar.gz
update-alternatives --install "/usr/bin/java" "java" "/usr/jdk1.8.0_181/bin/java" 0
java -version
还是报错误
no such package '@llvm//': java.io.IOException: Error downloading [https://mirror.bazel.build/github.com/llvm-mirror/llvm/archive/cd248aacbf298f8a909256d959ca5ca25c97aa4c.tar.gz
解决方法
就是要手动下载,然后让其在本地服务器下
https://blog.csdn.net/qq_39567427/article/details/104877041
更多推荐

所有评论(0)