TensorFlow安装手册

    xiaoxiao2021-04-12  31

    TensorFlow安装手册

      

     

     

    1 TensorFlow简介

    TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

     

    2 准备

    2.1 环境说明

    1  Tensorflow安装版本是0.8.0

    2  Python版本是2.7.6,由默认的版本2.6.6升级而来。

    3  Tensorflow安装相关参考资源:

     

    序号

    标题

    地址

    1

    Centos 6.5将python 2.6 升级到 2.7

    http://www.91pen.net/centos6-5-upgrade-python-2-6-to-2-7.html

     

    2

    CentOS6.5安装Python2.7和Pip

     

    http://www.cnblogs.com/lzj0218/p/5753675.html

    3

    configure: error: no acceptable C compiler found in $PATH

    http://blog.sina.com.cn/s/blog_476c7f7201017pw1.html

     

    4

    Centos 6.4安装Python 2.7 python-pip

    http://www.cnblogs.com/balaamwe/p/3480430.html

     

    5

    使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法

    http://blog.csdn.net/levy_cui/article/details/51251095

     

     

    2.1.1虚拟机里Linux系统版本

    [root@localhost ranger-0.5.0-usersync]# cat /etc/issue | grep Linux

    Red Hat Enterprise Linux Server release 6.5 (Santiago)

     

    2.1.2 Python版本

    [root@localhost native]# python  -V

    Python 2.6.6

     

     

    3 升级Python至2.7.6

    3.1 配置系统源为阿里源

    首先确保当前环境可以上外网。这里系统是redhat,如果你是CentOS,需要先备份之前的

    cd /etc/yum.repos.d

    mv CentOS-Base.repoCentOS-Base.repo.backup

     

    #下载阿里的源

    wget-O /etc/yum.repos.d/CentOS-Base.repo    http://mirrors.aliyun.com/repo/Centos-6.repo

     

    #替换源里的默认配置,更新源

    sed-i  's/$releasever/6/g'/etc/yum.repos.d/CentOS-Base.repo    

    yumclean all

    yumlist

    3.2升级Python至2.7.6

     

    #安装Development Tools

    yum groupinstall -y'development tools'

     

    #安装所有需要的SSL、bz2、zlib

    yum install -y zlib-develbzip2-devel openssl-devel xz-libs zlib

     

    # 下载Python-2.7.6.taz并解压后进入

    cd /root/shenl

    wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz

    tar -zxvf Python-2.7.6.tgz

    cd Python-2.7.6

     

    # 安装

    ./configure  

    make all             

    make install  

    make clean  

    make distclean

     

    # 查看Python版本

    /usr/local/bin/python2.7 -V

    Python 2.7.6

     

    # 建立软连接,使系统默认的 python指向 python2.7

    mv /usr/bin/python /usr/bin/python2.6.6  

    ln -s /usr/local/bin/python2.7 /usr/bin/python

     

     

    #重新检验Python 版本

    python -V

    Python 2.7.6

     

    Python 软链接指向 Python2.7 版本后,yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本

    vim /usr/bin/yum

    修改头部的内容

    #!/usr/bin/python

    为:

    #!/usr/bin/python2.6.6

     

    相关问题:

    1、configure: error: no acceptable C compiler found in $PATH

    这个错误是因为gcc没安装,这里可以通过

    yum install gcc

     

     

     

    3.3 安装setuptools

    #下载setuptools-25.1.6.tar.gz

    wget --no-check-certificate https://pypi.python.org/packages/1f/7a/6b239a65d452b04ad8068193ae313b386e6fc745b92cd4584fccebecebf0/setuptools-25.1.6.tar.gz

     

     

    #解压setuptools-25.1.6

    tar -xvfsetuptools-25.1.6.tar.gz 

    cd setuptools-25.1.6

     

    #安装 setuptools

    python2.7 setup.py install

     

    注:

    安装时报:

      File"/opt/oracle/sor/install/setuptools-0.6c11/setuptools/command/bdist_egg.py",line 236, in run 

       dry_run=self.dry_run, mode=self.gen_header()) 

      File"/opt/oracle/sor/install/setuptools-0.6c11/setuptools/command/bdist_egg.py",line 527, in make_zipfile 

        z =zipfile.ZipFile(zip_filename, mode, compression=compression) 

      File"/usr/local/lib/python2.7/zipfile.py", line 681, in __init__ 

    "Compression requires the (missing) zlibmodule"

    这里是缺少zlib包,需要通过执行如下命令解决:

    yum install -y zlib-devel zlib

    如果按照上述步骤已经安装依赖,不会出现此错误。

     

    3.4 安装pip

    #安装pip

    curlhttps://bootstrap.pypa.io/get-pip.py | python2.7 -

     

    3.5 安装tensorflow依赖

    #安装python开发包

    yum install python-devel

    3.6 安装tensorflow

    #安装tensorflow

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

     

    注:

    如果下载速度较低,则可以在浏览器自行下载whl再pip install方式离线安装。以numpy为例:

    1)   浏览器里访问https://pypi.python.org/pypi

    2)   在搜索框里输入numpy

    3)   点开numpy 1.12.1

    4)   找到numpy-1.12.1-cp27-cp27m-manylinux1_x86_64.whl (md5pgp) 点击下载。

    5)   上传到服务器,通过pip install numpy-1.12.1-cp27-cp27m-manylinux1_x86_64.whl离线安装。

     

     

     

    4 验证

    4.1 测试tensorflow包是否能加载

    #启动python,引入tensorflow包验证

     

    python

    Python2.7.6 (default, Apr 13 2017, 11:38:40)

    [GCC4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2

    Type"help", "copyright", "credits" or"license" for more information.

    >>> 

     

    # python里输入import tensorflow as tf

    >>> importtensorflow as tf Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/__init__.py",line 23, in <module>     from tensorflow.python import *   File"/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/__init__.py",line 45, in <module>     from tensorflow.python import pywrap_tensorflow   File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py",line 28, in <module>     _pywrap_tensorflow = swig_import_helper()   File"/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py",line 24, in swig_import_helper     _mod = imp.load_module('_pywrap_tensorflow', fp, pathname,description) ImportError: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

     

    # 解决方法,安装glibc2.17:

     

    cd/root/shenl/

    wgethttp://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.xz xz -d glibc-2.17.tar.xz tar -xvf glibc-2.17.tar cd glibc-2.17 mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons--with-headers=/usr/include --with-binutils=/usr/bin   make && make install

     

    # 验证glibc是否已更新

    strings/lib64/libc.so.6|grep GLIBC

     

    # 结果应该是:

    GLIBC_2.2.5

    GLIBC_2.2.6

    GLIBC_2.3

    GLIBC_2.3.2

    GLIBC_2.3.3

    GLIBC_2.3.4

    GLIBC_2.4

    GLIBC_2.5

    GLIBC_2.6

    GLIBC_2.7

    GLIBC_2.8

    GLIBC_2.9

    GLIBC_2.10

    GLIBC_2.11

    GLIBC_2.12

    GLIBC_2.13

    GLIBC_2.14

    GLIBC_2.15

    GLIBC_2.16

    GLIBC_2.17

    GLIBC_PRIVATE

     

    再次在python里输入import tensorflow as tf

    >>> importtensorflow as tf

    >>>import tensorflow as tf Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File"/usr/local/python27/lib/python2.7/site-packages/tensorflow/__init__.py",line 23, in <module>     from tensorflow.python import *   File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/__init__.py",line 45, in <module>     from tensorflow.python import pywrap_tensorflow   File"/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py",line 28, in <module>     _pywrap_tensorflow = swig_import_helper()   File"/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py",line 24, in swig_import_helper     _mod = imp.load_module('_pywrap_tensorflow', fp, pathname,description) ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

     

    # 解决方法, 更新libstdc++.so.6.0.20:

    下载地址:

    http://download.csdn.net/detail/pomelover/7524227

     

    #应用libstdc++.so.6.0.20,将下载的libstdc++.so.6.0.20放置在/usr/lib64/目录下

     

    cd /usr/lib64/

    chmod+x libstdc++.so.6.0.20 rm libstdc++.so.6 ln -s libstdc++.so.6.0.20 libstdc++.so.6

     

    #验证GLIBCXX版本

    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_3.4.14

    GLIBCXX_3.4.15

    GLIBCXX_3.4.16

    GLIBCXX_3.4.17

    GLIBCXX_3.4.18

    GLIBCXX_3.4.19

    GLIBCXX_3.4.20

    GLIBCXX_FORCE_NEW

    GLIBCXX_DEBUG_MESSAGE_LENGTH

     

     

    #再一次在python里验证

     [root@nn shenl]# python

    Python2.7.6 (default, Apr 13 2017, 11:38:40)

    [GCC4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2

    Type"help", "copyright", "credits" or"license" for more information.

    >>>import tensorflow astf

    >>>matrix1 =tf.constant([[3., 3.]])

    >>>matrix2 = tf.constant([[2.],[2.]])

    >>>product =tf.matmul(matrix1, matrix2)

    >>>print product

    Tensor("MatMul:0",shape=(1, 1), dtype=float32)

    >>>sess = tf.Session()

    >>>result =sess.run(product)

    >>>print result

    [[12.]]

    5 使用

    5.1 Tensorflow基本功能

    待补充。

    6 总结

    仔细跟踪log,具体问题具体分析.

    转载请注明原文地址: https://ju.6miu.com/read-667987.html

    最新回复(0)