在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
  1. 为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

  1. 激活刚刚创建的environment
$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh

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

  1. 在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目录整个删掉就可以了。

  1. 验证是不是装好了,跑一个hello world。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

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

posted @ 2018-01-17 18:31  dfghjkloiuy  阅读(399)  评论(0编辑  收藏  举报