TensorFlow的安装
基于Anaconda 安装TensorFlow Linux-CPU版
环境要求:Centos7,Glibc2.16以上
centos7安装bzip2 :yum install bzip2
1、安装Anaconda(Python的运行环境)
下载Anaconda的地址:官网http://www.continuum.io/downloads/
也可以在https://repo.continuum.io/archive/ 选择相应的版本下载
这里下载Anaconda3-4.2.0-Linux-x86_64.sh
2、进入Anaconda的下载目录执行
bash Anaconda3-4.2.0-Linux-x86_64.sh
3、安装提示,直接回车下一步,选择License文档,按q键,最后yes确认
输入anaconda的安装路径,直接回车是默认路径
4、安装完成之后配置环境变量,然后安装Anaconda Python3.5环境
1)建立一个 conda 计算环境名字叫tensorflow:
$ conda create -n tensorflow python=3.5
2)激活tensorflow环境,然后使用其中的 pip 安装 TensorFlow
$ source activate tensorflow
$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0rc0-cp35-cp35m-linux_x86_64.whl
3)安装成功后,每次使用 TensorFlow 的时候需要激活 conda 环境
当你不用 TensorFlow 的时候,关闭环境:
$ source deactivate
再次使用的时候再激活:
$ source activate tensorflow
5、运行TensorFlow
打开一个python终端 :
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>
Windows版本安装:
1、安装anaconda
2、若是Anaconda3-4.2.0 则自带了python3.5 ,pip要求是9.0以上
3、直接执行pip install tensorflow 若是socket报错,则重试两次就好了
4、然后,就没有然后了,安装完成
==========================================
若是出现报错如下情况:
import tensorflow as tf 问题报错:
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found
(required by /root/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so)
1)检查了gcc版本:gcc --version ;
[root@hadoop-namenode-01 lib]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2)$ strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX 得到结果:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
3) $ find / -name libstdc++.so.6*
/root/anaconda3/lib/libstdc++.so.6
/root/anaconda3/lib/libstdc++.so.6.0.19
/root/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6
/root/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.13
可以看到,已经有libstdc++.so.6.0.19
4) $ ls -al /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 Feb 24 03:21 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
说明虽然gcc已经更新到最新版,但是连接还是旧版本,所以只需要修改连接就可以了
解决方案步骤:
1) cp /root/anaconda3/lib/libstdc++.so.6.0.19 /usr/lib64
2) rm -rf /usr/lib64/libstdc++.so.6
3) ln -s /usr/lib64/libstdc++.so.6.0.19 /usr/lib64/libstdc++.so.6
报错2:
ImportError: /lib64/libc.so.6: version `GLIBC_2.16' not found
(required by /root/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so)
归根结底问题:由于Linux内核不支持,版本太低!!!!