在Linux 之redhat/debian两类系统上源码成功安装tensorflow填坑记录

本文详细记录了在Redhat/Debian系统上源码安装TensorFlow的过程,包括预备工作如安装依赖、选择合适的bazel和tensorflow分支,以及在编译和安装过程中遇到的问题和解决方案,如修改BUILD文件、解决网络下载问题和pip安装路径问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux 之redhat/debian两类系统上源码成功安装tensorflow填坑记录




1. 预备工作:
1.1 各类依赖
无论是redhat系/centos还是debian系/ubuntu,都需要安装各类依赖库


不能使用openjdk,必须使用oracle官方的jdk1.8.0
centos上yum或者rpm安装如下各类以来


yum -y install gcc
yum -y install gcc-c++
yum -y install numpy swig Python-devel python-wheel 
//python-wheel 用的是rpm包,如上命令无法搜到wheel库源
yum -y install zlib zlib-devel
安装pip 用的是rpm包


1.2可用分支选择


bazel用的是master分支。也可以采用0.3.2/0.4.0. 
tensorflow用的是r0.10分支。 r0.11/master分支有很多问题,主要是./configure 有一些包的地址无法下载成功。


2. bazel 安装
源码安装bazel,使用./compile.sh 安装即可。 各类依赖安装完成的情况下,centos和ubuntu上都没有遇到编译问题。


3. tensorflow build及install过程


3.1 r0.11需要修复如下两个问题,解决testonly报错和jpegsrc.v9a.tar.gz下载失败问题。


diff --git a/tensorflow/python/BUILD b/tensorflow/python/BUILD
index 5e2621c..b28260e 100644
--- a/tensorflow/python/BUILD
+++ b/tensorflow/python/BUILD
@@ -1190,7 +1190,7 @@ py_library(
 # Just used by tests.
 tf_cuda_library(
     name = "construction_fails_op",
-    testonly = 1,
+   #testonly = 1,
     srcs = ["client/test_construction_fails_op.cc"],
     deps = [
         "//tensorflow/core",
diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
index d917562..1ddce3c 100644
--- a/tensorflow/workspace.bzl
+++ b/tensorflow/workspace.bzl
@@ -54,8 +54,9 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
 
   native.new_http_archive(
     name = "jpeg_archive",
-    url = "http://www.ijg.org/files/jpegsrc.v9a.tar.gz",
-    sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7",
+    #url = "http://www.ijg.org/files/jpegsrc.v9a.tar.gz",
+     url = "http://www.imagemagick.org/download/delegates/jpegsrc.v9a.tar.gz",
+       sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7",
     build_file = path_prefix + "jpeg.BUILD",




3.2 build过程
网速是影响build的关键因素,build脚本不会长时间等待各类包的下载重新连接过错。
反复尝试几次编译,解决了three.js-r77.tar.gz下载问题。主要是境外网站源的网速不好把握,换个时段会表现较好。


//在ubuntu上,按照默认的job数目200进行build发生了卡死现象。 在centos上docker编译没有遇到此问题。
$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package


//指定job数目为1,问题解决。
$ bazel build -c opt --job 1 //tensorflow/tools/pip_package:build_pip_package


pip打包whl
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
//pip 安装如下
# The name of the .whl file will depend on your platform.
$ sudo pip install /tmp/tensorflow_pkg/tensorflow-0.11.0-py2-none-any.whl


//python tensorflow/models/image/mnist/convolutional.py, 报错如下。 在centos上docker编译没有遇到此问题。
  import tensorflow as tf ImportError: No module named tensorflow
//制定pip安装的绝对路径,让python能够包含进tensorflow库,问题解决。
python -m pip install /path/to/tensorflow-version-platform.whl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值