Ubuntu 下多种方式安装 TensorFlow 总结(未完待续。。。。)

前言

在本篇文章中,我们将介绍TensorFlow的安装,TensorFlow是Google公司在2015年11月9日开源的一个深度学习框架。

官网文档地址为:https://www.tensorflow.org/
官方GitHub仓库:https://github.com/tensorflow/tensorflow
TensorFlow目前支持4种开发语言,分别是Python(包括Python2和Python3)、Java、Go、C。笔者使用的环境如下:

开发语言:Python 3.6
使用操作系统:Ubuntu 16.04
硬件环境:CPU
基于这些环境,我们来安装TensorFlow吧。

Ubuntu下安装TensorFlow
在Ubuntu上我们分别在原生pip、Virtualenv 环境 、 Docker容器、Bazel环境以及Anaconda环境下安装。

一、原生pip安装TensorFlow

使用原生的pip安装时最简单的,直接安装使用一条命令就可以安装完成了。

首先确认Python环境,Ubuntu会自带Python环境的,不用我们自己安装,使用python3 -V可以查询安装的Python环境,输出如下:
Python 3.5.2

安装TensorFlow需要使用pip命令,默认是没有安装的,所以我们需要安装pip命令:

sudo apt-get install python3-pip python3-dev

这里笔者要说一下,默认的镜像源太慢了,笔者修改成阿里镜像源了,修改方式如下:

  • 备份源列表文件:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

  • 编辑源列表文件:

sudo vi /etc/apt/sources.list

  • 清空里面的内容,添加以下的的信息:

deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

  • 最后执行更新列表命令:

sudo apt update

安装完成pip命令之后,可以使用pip3 -V查看是否已经安装成功及安装的版本,输出如下,官方要求pip的版本要不小于8.1:

pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

  • 如果觉得版本太低,也可以升级,先要下载一个升级文件,命令如下:

wget https://bootstrap.pypa.io/get-pip.py

  • 下载完成之后,可以使用这个文件安装最新的pip了:

sudo python3 get-pip.py

一切多准备完成,那就可以开始安装TensorFlow了,只要使用以下一条命令就可以:

sudo pip3 install tensorflow
  • 如果使用上面安装比较慢的话,我们还可指定使用的镜像源,比如这里笔者使用的是阿里的镜像源,之后使用到pip安装的同样的操作:

sudo pip3 install -i https://mirrors.aliyun.com/pypi/simple/ tensorflow

安装完成之后,可以使用以下命令查看是否完成及安装的版本:

pip3 list

注意:如果在运行报以下错误,多数是电脑的CPU不支持AVX指令集:

非法指令 (核心已转储)

如何知道自己的电脑是不是支持AVX指令集呢,可以通用以下的命令查看,输出Yes就是支持,No就是不支持:

if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi

TensorFlow在1.6版本之后都会使用AVX指令集,如果读者的电脑不支持AVX指令集,就要安装低版本的,如下是安装1.5版本的:

pip3 install tensorflow==1.5

安装完成之后,可以进行测试,测试情阅读最后的测试部分。

二、Virtualenv安装TensorFlow

首先通过以下的命令来安装 pip 和 Virtualenv:

sudo apt-get install python3-pip python3-dev python-virtualenv

然后通过下面的命令来创建 Virtualenv 环境:

virtualenv --system-site-packages -p python3 ~/tensorflow

最后通过下面的命令激活 Virtualenv 环境:

source ~/tensorflow/bin/activate

这时会发现控制台已经发生了变化,变成如下状态,这表明已经进入了 Virtualenv 环境:

(tensorflow) yeyupiaoling@tensorflow:~$

接下来的操作都是在这个Virtualenv 环境下操作,比我们的pip命令也是在这里的,可以使用pip3 -V查看:

pip 10.0.1 from /home/yeyupiaoling/tensorflow/lib/python3.5/site-packages/pip (python 3.5)

我们在Virtualenv 环境里通过以下的命令即可完成安装TensorFlow:

pip3 install tensorflow

不支持AVX的请安装1.5版本:

pip3 install tensorflow==1.5

使用完成之后,可以通过以下命令退出Virtualenv 环境:

deactivate

三、Docker下安装TensorFlow

要使用Docker,就要先安装Docker,以下命令就是安装Docker的命令:

sudo apt-get install docker.io

安装完成之后,可以使用docker --version查看Docker的版本,如果有显示,就证明安装成功了。

然后我们可以通过以下的命令拉取TensorFlow的镜像,我们也可以通过dockerhub获取更多Docker镜像:

docker pull tensorflow/tensorflow:1.8.0-py3

如果电脑不支持AVX指令集的,请安装低版本的TensorFlow镜像:

docker pull tensorflow/tensorflow:1.5.1-py3

拉取完成镜像,就可以使用docker images查看已经安装的镜像:

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
tensorflow/tensorflow               1.8.0-py3           a83a3dd79ff9        2 months ago        1.33 GB

使用TensorFlow的Docker镜像有个好处就是自带了jupyter notebook,启动镜像之后可以直接使用jupyter。

sudo docker run -it -p 80:8888 tensorflow/tensorflow:1.8.0-py3

然后终端会输出以下信息,要注意输出的token:

[I 07:08:38.160 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 07:08:38.177 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 07:08:38.186 NotebookApp] Serving notebooks from local directory: /notebooks
[I 07:08:38.186 NotebookApp] 0 active kernels
[I 07:08:38.187 NotebookApp] The Jupyter Notebook is running at:
[I 07:08:38.187 NotebookApp] http://[all ip addresses on your system]:8888/?token=ab489f0445846cb7f9d5c9613edcf7b9537cd245dbecf2a6
[I 07:08:38.187 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 07:08:38.187 NotebookApp] 

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=ab489f0445846cb7f9d5c9613edcf7b9537cd245dbecf2a6

然后我们在浏览器上输入IP地址,如何是在本地,那就就输入localhost,得到的页面如下,输入终端输出的token和新密码就可以登录使用jupyter了: 

è¿éåå¾çæè¿°

得到的jupyter网页如下: 

è¿éåå¾çæè¿°

如果停止运行镜像了,可以使用以下的命令找到之前使用这个进行run生成的一个容器:

sudo docker ps -a

会得到以下信息,其中最重要的是CONTAINER ID:

CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS                      PORTS               NAMES
44aa680ac51f        tensorflow/tensorflow:1.8.0-py3   "/run_jupyter.sh -..."   14 minutes ago      Exited (0) 21 seconds ago                       cranky_elion

通过这个CONTAINER ID可以再次启动这个容器,这样就不用每次都run一个容器出来,占用磁盘容量,同时也可以保存原来的环境,可以使用以下的命令启动容器:

sudo docker start 44aa680ac51f

启动之后是在后台运行的,那么如何让容器有信息输入的同时会输出到控制台呢,可以用使用以下的命令实现:

sudo docker attach 44aa680ac51f

如果要以终端的方式进入到容器中,可以使用以下的命令:

sudo docker exec -it 44aa680ac51f /bin/bash

安装完成之后,可以进行测试,测试情阅读最后的测试部分。

四、Bazel下安装TensorFlow

 

 

 

五、Anaconda下安装TensorFlow

 

 

测试

安装完成之后,我们要测试一下环境是不是已经成功安装并且可以正常使用了。

首先编译一个测试test1.py文件:

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))

然后我们执行这个文件python3 test1.py就可以运行它了,正常情况下会输出以下内容:

2018-07-08 15:11:05.240607: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
b'Hello, TensorFlow!'

以上是在终端上操作的,那么使用Docker应该如何执行这些文件呢。有两种方法,一种就是以命令终端的方式进入到TensorFlow镜像中,之后的操作就跟在Ubuntu操作差不多了:

docker run -it -v $PWD:/work tensorflow/tensorflow:1.8.0-py3 /bin/bash

另一种就是挂载目录到镜像上,然后直接通过命令执行代码文件:

docker run -it -v $PWD:/work -w /work tensorflow/tensorflow:1.8.0-py3 python3 /work/test1.py

参考资料

https://opsx.alibaba.com/mirror
https://www.tensorflow.org/install/install_linux
https://www.tensorflow.org/install/install_windows
https://www.tensorflow.org/install/install_sources
https://blog.csdn.net/u014132659/article/details/51544754
http://www.tensorfly.cn/tfdoc/get_started/introduction.html
https://blog.csdn.net/u010099080/article/details/53418159
https://blog.csdn.net/u010397369/article/details/41045251
https://github.com/tensorflow/models/tree/master/research/slim#pre-trained-models
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值