在linux/ubuntu上安装Tensorflow

Posted happywu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux/ubuntu上安装Tensorflow相关的知识,希望对你有一定的参考价值。

tensorflow是一个深度学习的框架,有两个安装版本可以选择:

  1. Tensorflow with CPU support only 建议安装这个版本,因为容易安装而且很快(安装只要5-10分钟)。
  2. Tensorflow with GPU support 如果你有NVIDIA GPU就可以装这个版本。这个版本速度会快很多。不过也需要为了GPU安装一个library。

没有特别需求,故安装CPU版本。

安装方式有五种,选择官方推荐的virtualenv

1. virtualenv就是一个python的虚拟环境,可以很好的把不同python环境的项目隔离开。因为每个环境都会有自己的名字,要切换只用指定名字然后activate,很直观好用。
2. native pip就是假定你的电脑没有别的python项目,单纯就是为了tensorflow服务的,所以直接安装在电脑上。
3. docker会完全建立一个隔离的tensorflow环境,适用于已经在用docker的项目。
4. anaconda应该也是一个创建虚拟环境的工具。
5. 直接从源码安装。好处应该就是可以第一时间使用最新版。

安装tensorflow其实就是安装一个可以运行tensorflow的python环境,所以需要安装tensorflow依赖的库以及tensorflow本体。

用virtualenv的方式安装tensorflow的详细步骤:

  1. 安装pip和virtualenv
    先看一下自己的python版本:

    python --version

    然后根据版本安装:

    $ sudo apt-get install python-pip python-dev python-virtualenv # for Python 2.7
    $ sudo apt-get install python3-pip python3-dev python-virtualenv # for Python 3.n
  2. 为tensorflow创建一个virtualenv environment

    $ virtualenv --system-site-packages targetDirectory # for Python 2.7
    $ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n

    我放在了用户根目录下mkdir ~/tensorflow

  3. 激活刚刚创建的environment

    $ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh

    就进到了为tensorflow准备的环境。
    PS: 如果想退出就用deactivate

  4. 在tensorflow虚拟环境里安装tensorflow

    easy_install -U pip # upgrade pip version to make sure it is >= 8.1
    pip install --upgrade tensorflow # for Python 2.7, install latest tensorflow in virtualenv

    下载了以下文件(没用处,纯粹做个记录):
    一共安装了这些package:
    Installing collected packages: six, funcsigs, pbr, mock, html5lib, bleach, markdown, numpy, futures, protobuf, werkzeug, tensorflow-tensorboard, backports.weakref, tensorflow
    相关版本信息如下(log有删节):

    Collecting tensorflow
      Downloading tensorflow-1.4.1-cp27-cp27mu-manylinux1_x86_64.whl (40.7MB)
    Collecting mock>=2.0.0 (from tensorflow)
      Downloading mock-2.0.0-py2.py3-none-any.whl (56kB)
    Collecting tensorflow-tensorboard<0.5.0,>=0.4.0rc1 (from tensorflow)
      Downloading tensorflow_tensorboard-0.4.0rc3-py2-none-any.whl (1.7MB)
    Collecting numpy>=1.12.1 (from tensorflow)
      Downloading numpy-1.14.0-cp27-cp27mu-manylinux1_x86_64.whl (16.9MB)
    Collecting backports.weakref>=1.0rc1 (from tensorflow)
      Downloading backports.weakref-1.0.post1-py2.py3-none-any.whl
    Collecting six>=1.10.0 (from tensorflow)
      Downloading six-1.11.0-py2.py3-none-any.whl
    Collecting protobuf>=3.3.0 (from tensorflow)
      Downloading protobuf-3.5.1-cp27-cp27mu-manylinux1_x86_64.whl (6.4MB)
    Collecting funcsigs>=1; python_version < "3.3" (from mock>=2.0.0->tensorflow)
      Downloading funcsigs-1.0.2-py2.py3-none-any.whl
    Collecting pbr>=0.11 (from mock>=2.0.0->tensorflow)
      Downloading pbr-3.1.1-py2.py3-none-any.whl (99kB)
    Collecting bleach==1.5.0 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
      Downloading bleach-1.5.0-py2.py3-none-any.whl
    Collecting markdown>=2.6.8 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
      Downloading Markdown-2.6.11-py2.py3-none-any.whl (78kB)
    Collecting futures>=3.1.1; python_version < "3.2" (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
      Downloading futures-3.2.0-py2-none-any.whl
    Collecting html5lib==0.9999999 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
      Downloading html5lib-0.9999999.tar.gz (889kB)
    Collecting werkzeug>=0.11.10 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
      Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)

    PS:如果想要删除tensorflow,只需要把第二步的~/tensorflow目录整个删掉就可以了。

  5. 验证是不是装好了,跑一个hello world。

    import tensorflow as tf
    hello = tf.constant(‘Hello, TensorFlow!‘)
    sess = tf.Session()
    print(sess.run(hello))

其实蛮简单的,一步步来。
我安装的目的其实并不是实际工作要用,而是我发现根本看不懂关于tensorflow的各种概念,所以即使只是跑别人给的模型也觉得云里雾里。







以上是关于在linux/ubuntu上安装Tensorflow的主要内容,如果未能解决你的问题,请参考以下文章

在linux/ubuntu上安装Tensorflow

无法在 Linux Ubuntu 上安装 mysqlclient-python

如何在 Linux Ubuntu 16 上安装 luasql?

如何在 linux ubuntu 16.04 上安装 SDK 管理器?

MacOS+Ubuntu双系统,原来MacBook安装linux也简单!

linux/ubuntu 端口开放