Tensorflow安装 - RHEL 7.1

虚拟机配置

  • RHEL 7.1
  • NAT方式联网

安装过程

1 . 由于RHEL是企业版本,未注册不可以使用它自带的yum源,所以我们需要添加可用的yum源

  • local源
mkdir /mnt/cdrom
mount -o loop /dev/cdrom /mnt/cdrom
cd /etc/yum.repos.d/

vi local.repo

[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1

其中gpgcheck=0让其不用进行gpk检查,enabled=1让其可用

  • 163源
vi 163.repo

[163]
name=163
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
gpgcheck=0
enabled=1
  • 其他rpm源
rpm -vih http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

2 . 安装依赖包

  • python-devel
yum install python-devel
  • python-pip

==坑1==

yum install python-pip

在运行上述命令后会出现如下错误

--> Finished Dependency Resolution
Error: Package: python-pip-7.1.0-1.el6.noarch (epel)
           Requires: python(abi) = 2.6
           Installed: python-2.7.5-16.el7.x86_64 (@anaconda/7.1)

是因为RHEL7.1自带的python版本为2.7,并且TensorFlow也只支持2.7,但可用的yum源里只有支持python2.6版本的,所以会出现依赖问题

解决方案:自己安装pip =.=

tar -zvxf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install

此时便可以使用pip了

3 . 安装Tensorflow

==坑2==

  • 根据官方文档,执行pip命令
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

但执行后会报很长很长的错误,拉到最下面,看到

RuntimeError: Broken toolchain: cannot link a simple C program

经google后得知,这是在pip在安装numpy时发生的错误,而stackflow上给出的解决方案,比如

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy
Downloading/unpacking numpy

在我这还是会报同样的错误,然后在不起眼的角落看到了一个解决方案

pip install --upgrade pip

升级到9.0.1后执行

pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

然后...就神奇般的好了

==坑3==

当然...这里还是不要图省事看中文社区的文档了...中文文档还停留在0.5的版本,而到后来研究分布式部署时发现0.8版本以前的TensorFlow不支持分布式,只能卸了重新装

所以直接执行(用豆瓣镜像很快)

pip install -i https://pypi.doubanio.com/simple/ tensorflow

4.demo

>>>import tensorflow as tf
>>> hello = tf.constant('hello,tensorflow!')
>>> sess = tf.Session()
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 1
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 1
>>> print sess.run(hello)
hello,tensorflow!
>>> a = tf.constant(10)
>>> b=tf.constant(32)
>>> print sess.run(a+b)
42

to be continued..

你可能感兴趣的:(Tensorflow安装 - RHEL 7.1)