【DL】云平台下运行 tensorflow 的配置步骤

原因

TensorFlow 既可以在 CPU 上面运行,也可以在 GPU 上面运行,在GPU上面运行的速度是CPU上的5-10倍,甚至几十倍,但是GPU价格比较昂贵。

《python深度学习》中作者这样建议:

在开始开发深度学习应用之前,你需要建立自己的深度学习工作站。虽然并非绝对必要, 但强烈推荐你在现代 NVIDIA GPU 上运行深度学习实验。某些应用,特别是卷积神经网络的图 像处理和循环神经网络的序列处理,在 CPU 上的速度非常之慢,即使是高速多核 CPU 也是如此。 即使是可以在 CPU 上运行的深度学习应用,使用现代GPU通常也可以将速度提高 5 倍或 10 倍。 如果你不想在计算机上安装 GPU,也可以考虑在AWS EC2 GPU实例或 Google 云平台上运行深
度学习实验。但请注意,时间一长,云端GPU实例可能会变得非常昂贵
截至 2017 年年中,我们推荐 NVIDIA TITAN Xp 为市场上用于深度学习的最佳显卡。如果 预算较少,你也可以考虑 GTX 1060。如果你读到本节的时间是在 2018 年或更晚,请花点时间
在网上查找最新的推荐,因为每年都会推出新的模型。

可是我在天猫上搜索到的性价比比较高的一款:GTX1080Ti 11G 报价是9299元,已然十分昂贵,而在云上使用GPU,价格也不便宜,于是想了一个权宜之计,现在正好腾讯云做活动,于是买了一年的腾讯云,虽然是CPU,但是好在24h开机,我可以把文件传上云,让云在不停的运算, 然后攒钱买GPU,等到这一年腾讯云结束了,应该能攒够GPU的资金,而且,假如GPU速度是腾讯云CPU的24倍,我在腾讯云上面跑一天24小时,也就相当于GPU跑了一小时了。

配置腾讯云

安装ubuntu 16.0* 的服务器

本来是安装的centos 7 但是,我在配置TensorFlow时,出来一些意外,看来TensorFlow 官网 和 其他的书籍多是以ubuntu为主,于是把腾讯云上面的配置改成了ubuntu。

安装 python3

常用命令: ctrl + D 退出 python 命令行

前期看一下python版本:

ubuntu@VM-0-13-ubuntu:~$ python --version
Python 2.7.12       // 系统自带的python版本
ubuntu@VM-0-13-ubuntu:~$ apt-get install python3  // 尝试安装

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? // 发现错误,无权限打开,需用root

第一步 获取python3

ubuntu@VM-0-13-ubuntu:~$ sudo add-apt-repository ppa:jonathonf/python-3.6

提示:

A plain backport of just Python 3.6. System extensions/Python
libraries may or may not work.

Don’t remove Python 3.5 from your system - it will break. More info:
https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 Press
[ENTER] to continue or ctrl-c to cancel adding it
// 点 enter
gpg: keyring /tmp/tmppq1osu8m/secring.gpg' created gpg: keyring/tmp/tmppq1osu8m/pubring.gpg’ created gpg: requesting key F06FC659
from hkp server keyserver.ubuntu.com gpg:
/tmp/tmppq1osu8m/trustdb.gpg: trustdb created gpg: key F06FC659:
public key “Launchpad PPA for J Fernyhough” imported gpg: Total number
processed: 1 gpg: imported: 1 (RSA: 1) OK

说明:

如果出现错误:sudo: add-apt-repository: command not found ,参考下面这篇博客
实际上add-apt-repository是由python-software-properties这个工具包提供的,所以要先去安装一下python-software-properties:sudo apt-get install python-software-properties
可以把add-apt-repository理解成一个软件超市,可以直接使用软件名字,从超市中拿出软件直接安装,比如Vim:sudo add-apt-repository ppa:jonathonf/vim

第二步 更新

ubuntu@VM-0-13-ubuntu:~$ sudo apt-get update
// 更新一下

Hit:1 http://mirrors.tencentyun.com/ubuntu xenial InRelease
Hit:2 http://mirrors.tencentyun.com/ubuntu xenial-security InRelease
Hit:3 http://mirrors.tencentyun.com/ubuntu xenial-updates InRelease
Get:4 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial InRelease
[18.0 kB] Get:5 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64
Pac kages [4,732 B] Get:6 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main i386
Pack ages [4,724 B] Get:7 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main
Translati on-en [2,128 B] Fetched 29.6 kB in 1s (15.2 kB/s)
Reading package lists… Done

第三步 安装

ubuntu@VM-0-13-ubuntu:~$ sudo apt-get install python3.6
// 选择 y 同意 

第四步 选择使用的版本:

ubuntu@VM-0-13-ubuntu:~$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
ubuntu@VM-0-13-ubuntu:~$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

1. update-akternatives 详解
2. 这个简书版的讲的不错
在ubuntu系统中,update-alternatives是专门维护系统命令链接符的工具,其可以对某个工具的多个软件版本进行管理,通过它可以很方便的设置系统默认使用哪个命令的哪个软件版本,方法是通过两个软连接。
命令:update-alternatives --install [--slave link name path]...

第五步 将默认的python 设置为python3.6

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

检查一下:

ubuntu@VM-0-13-ubuntu:~$ python
Python 3.6.7 (default, Oct 25 2018, 09:16:13)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>  成功切换 ok

安装TensorFlow

此安装方法官网已有详细介绍:这儿
这里简单重复一遍:

第一步 检查

python3 --version
pip3 --version    // 此处会出现错误,需要安装pip3
virtualenv --version

安装 pip3

ubuntu@VM-0-13-ubuntu:~$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

curl
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具

ubuntu@VM-0-13-ubuntu:~$ python get-pip.py 
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/pip-19.0.1.dist-info'
Consider using the `--user` option or check the permissions. //若出现错误就换成下面的

ubuntu@VM-0-13-ubuntu:~$ python get-pip.py --user

ubuntu@VM-0-13-ubuntu:~$ pip3 --version
pip 19.0.1 from /home/ubuntu/.local/lib/python3.6/site-packages/pip (python 3.6)

安装python虚拟环境virtualenv

同一台服务器上部署多个项目时,项目可能使用不同版本的django或者其它不同的python库,这种情况下可以使用virtualenv来创建独立的python运行环境,将不同项目的运行环境隔离出来。
virtualenv可以创建一个拥有自己安装目录的环境, 能够方便的管理python版本和管理python库。
https://virtualenv.pypa.io/en/stable/ 这个是官网的链接,十分详尽
https://www.jb51.net/article/124212.htm

ubuntu@VM-0-13-ubuntu:~$ pip3 install virtualenv

Looking in indexes: http://mirrors.tencentyun.com/pypi/simple
Collecting virtualenv Downloading
http://mirrors.tencentyun.com/pypi/packages/8f/f1/c0b069ca6cb44f9681715232e6d3d65c75866dd231c5e4a88e80a46634bb/virtualenv-16.3.0-py2.py3-none-any.whl
(2.0MB)
100% |████████████████████████████████| 2.0MB 13.7MB/s Requirement already satisfied: setuptools>=18.0.0 in
./.local/lib/python3.6/site-packages (from virtualenv) (40.7.2)
Installing collected packages: virtualenv Could not install packages
due to an EnvironmentError: [Errno 13] Permission denied:
‘/usr/local/lib/python3.6/dist-packages/virtualenv.py’ Consider using
the --user option or check the permissions.

    ubuntu@VM-0-13-ubuntu:~$ pip3 install virtualenv --user

之后

 	sudo apt update
    sudo apt install python3-dev python3-pip
    sudo pip3 install -U virtualenv  # system-wide install

第二步 创建虚拟环境
创建一个新的虚拟环境,方法是选择 Python 解释器并创建一个 ./venv 目录来存放它: 下面是官网截图:
【DL】云平台下运行 tensorflow 的配置步骤_第1张图片
【DL】云平台下运行 tensorflow 的配置步骤_第2张图片

第四步 测试

(venv) ubuntu@VM-0-13-ubuntu:~$ python
Python 3.6.7 (default, Oct 25 2018, 09:16:13)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> a = tf.constant([1.0,2.0],name="a")
>>> b = tf.constant([2.0,3.0],name="b")
>>> result = a +b
>>> print("result")
result
>>> print(result)
Tensor("add:0", shape=(2,), dtype=float32)
>>> sess = tf.Session()
2019-02-06 12:38:40.209766: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU is TensorFlow binary was not compiled to use: AVX2 FMA
>>> sess.run(result)
array([3., 5.], dtype=float32)
// 安装tensorflow成功

上传文件到 ubuntu 系统

参考:https://blog.csdn.net/kaluman/article/details/79500174

现在ubuntu上面安装rz rs

sudo apt-get install lrzsz
// rz(上传)、sz(下载)

设置下载地址以及上传文件:

ubuntu@VM-0-13-ubuntu:~/venv/winToLinuxFile$ rz
ubuntu@VM-0-13-ubuntu:~/venv/winToLinuxFile$ ls
001.py
ubuntu@VM-0-13-ubuntu:~/venv/winToLinuxFile$ python 001.py
2019-02-06 16:31:09.917815: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
b'Hello,TensorFlow!'
42

成功,可以直接使用服务器运行程序了



PS:其他安装方法:
出自:《深度学习算法实践》
【DL】云平台下运行 tensorflow 的配置步骤_第3张图片
【DL】云平台下运行 tensorflow 的配置步骤_第4张图片


补充:
云上的GPU
下图来自《深度学习技术-图像处理入门》杨培文,胡博强著,这本书,这本书是全彩印刷,十分精美,非常,非常建议买来一本看,真是赏心悦目!!!
【DL】云平台下运行 tensorflow 的配置步骤_第5张图片
【DL】云平台下运行 tensorflow 的配置步骤_第6张图片
【DL】云平台下运行 tensorflow 的配置步骤_第7张图片
【DL】云平台下运行 tensorflow 的配置步骤_第8张图片
【DL】云平台下运行 tensorflow 的配置步骤_第9张图片
【DL】云平台下运行 tensorflow 的配置步骤_第10张图片
【DL】云平台下运行 tensorflow 的配置步骤_第11张图片
图来自《深度学习技术-图像处理入门》杨培文,胡博强著,这本书,这本书是全彩印刷,十分精美,非常,非常建议买来一本看,真是赏心悦目!!!

你可能感兴趣的:(Maching,Learning)