centos7源码编译tensorflow2.10.0
centos7源码编译tensorflow2.10.0
- 1.准备工作
- 1.1 下载tensorflow的zip包
- 1.2 安装gcc7.3.1(官方推荐)
- 1.3 安装bazel 5.3.0
- 1.4 确保有网络连接
- 1.5 安装tensorflow依赖包
- 2.开始编译tensorflow
- 2.1 配置编译选项。
- 2.2 执行编译命令。
- 2.3 安装tensorflow及测试
1.准备工作
1.1 下载tensorflow的zip包
从https://github.com/tensorflow/tensorflow/releases下载对应版本的tensorflow的zip包,上传到服务器
1.2 安装gcc7.3.1(官方推荐)
参考http://www.tooool.cn/post/2497.html 链接: link
yum install centos-release-scl
yum install devtoolset-7
scl enable devtoolset-7 bash
gcc --version
1.3 安装bazel 5.3.0
参考 https://zhuanlan.zhihu.com/p/590172962 链接: link
经过多个版本的试验,bazel 5.3.0能把tensorflow2.10.0编译成功,bazel版本太高太低都有问题,这个版本需要openjdk11。
如何安装openjdk:参考https://www.finclip.com/news/f/39334.html
如何覆盖自带的openjdk:参考https://www.codenong.com/cs106116215/
1.4 确保有网络连接
编译过程中bazel会自动下载一些依赖包
1.5 安装tensorflow依赖包
tensorflow依赖大量的诸如numpy、keras_preprocessing、protobuf等第三方库,编译tensorflow的时候需要提前将其准备好
2.开始编译tensorflow
2.1 配置编译选项。
该项主要是设置tensorflow编译时所需要的python、cuda等路径以及提示编译选项,如果只需要cpu版本,选择题可以全部选n,其他按回车键。
进入解压完的tensorflow根目录
./configure
2.2 执行编译命令。
执行下面的编译命令开始编译tf,大约需要1-2个小时,时间略长,编译成功会有build completely successfully的提示,如若失败大概率是网络问题,或者bazel版本不正确。
bazel build //tensorflow/tools/pip_package:build_pip_package
2.3 安装tensorflow及测试
编译成功后会生成一个名为build_pip_package的可执行文件,执行它来生成安装tf所需要的.whl安装包
#生成.whl文件,位置在/tmp/tensorflow_pkg下面
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
#用pip安装所生成的.whl文件,就像安装官方版本一样,pip install即可
pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl
验证时在python命令行中输入import tensorflow