在Linux 之redhat/debian两类系统上源码成功安装tensorflow填坑记录
2016-11-12 11:26
471 查看
在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
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
相关文章推荐
- redhat6.5安装R-3.3.2.tar.gz 源码build安装成功记录
- RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程(64bit 成功案例及修改)
- redhat6.5安装R-3.3.2.tar.gz 源码build安装成功记录
- RedHat Enterprise Linux 5 在Microsoft VItural PC下安装花屏,VMWare安装成功
- 记录安装自己Linux系统
- Modelsim 6.5e linux debian系统上的安装、破解
- 【转】Linux系统源码安装过程中的prefix选项
- 远程网络安装RedHat Linux系统的方法
- linux下如何安装系统源码
- RedHat.Enterprise.Linux.5.5 x64 oracle10g R2安装记录
- Linux系统管理.源码安装Samba,用swat图形工具远程管理
- 在 Linux 系统上源码安装 GTK+ 2.0(转)
- 致想要装Fedora Linux系统的同学。。 利用U盘安装Fedora 14 亲测成功,安装方法
- linux系统的安装(redhat7.2)+jsp环境+mysql+安全设置
- 安装Debian Linux 3.0r1系统
- 在RedHat Enterprise Linux AS 4 安装成功小企鹅输入法fcitx
- 利用虚拟机安装并配置Debian Linux系统的总结
- linux下如何安装系统源码
- [记录]在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法
- RedHat Enterprise Linux 5 最小系统安装