从零开始机器学习-1 TensorFlow的环境搭建

由 沈庆阳 所有,转载请与作者取得联系!

什么是机器学习

机器学习,顾名思义,让机器去实现人类的学习行为。传统的编程中,如果需要解决一个问题,需要程序员来设计如何解决这个问题。而通过机器学习,我们可以使用各种机器学习的方法,使计算机程序具有不断获取新的知识的能力,从而适应解决各种问题。
而深度学习是机器学习中十分火热的一个话题,通过搭建神经网络的模型来实现机器学习。现阶段,有如Torch、Caffee和TensorFlow等深度学习的开源框架。

什么是Tensorflow

TensorFlow是Google的开源深度学习框架。其通过数据流图(Data Flow Graph)来描述张量(Tensor)十分直观,因此该深度学习框架也就命名为了TensorFlow。

关于TensorFlow的细节介绍和具体教程,参考官网:https://www.tensorflow.org

环境准备

在继续进行学习之前,需要做如下准备

硬件:台式机或笔记本
操作系统:Windows、Linux或MacOS
编程环境:Python

对于硬件要求,由于深度学习包含大量的学习过程,这个过程将会消耗大量的计算机硬件资源。如果你有一台强劲的计算机,那么最好不过了。如果你还没有达标的硬件环境,就只能忍受漫长的训练过程了。
对于拥有高配置英伟达(Nvidia)显卡的小伙伴来说,使用英伟达GPU推出的CUDA加速和cuDNN的深度学习工具可以省去大量的等待时间。以笔者跑过的一个Neural-Style的TensorFlow程序来计算,使用Intel Core i7-5930K CPU消耗了将近90分钟,而使用GeForce GTX Titan X GPU则只需要不到3分钟的时间。使用CUDA加速的效果由此可见一斑。
对于操作系统来说,我比较推荐使用Linux的系统,在这里笔者使用的是Ubuntu 16.4 LTS发行版。
最后,如果实在满足不了硬件的标准且不想忍受漫长的训练过程的话,还可以在网上购买AWS、阿里和谷歌的GPU服务器等。

环境搭建

Github上大部分的源码都是在Linux的环境中运行的。因此使用Linux系统作为深度学习的首选环境。鉴于大部分用户使用的是Windows的电脑,如果仅仅通过虚拟机来安装Linux的系统的话,则会是计算机性能大打折扣,进行深度学习训练的时候速度很慢。并且在虚拟机中想要安装英伟达的CUDA时会十分困难。因此保留Windows,安装Windows+Linux的双系统则是更好的选择。
至于如何安装双系统,此处不再赘述。

安装Python和Pip

对于Ubuntu等Linux的发型版,Python是在安装操作系统的时候就安装好了的。对于没有安装Python的时候,可以使用如下命令安装Python。

sudo apt-get install python

使用以上命令,默认安装的是Python2.7的版本,如果需要安装Python3的版本的话则需要使用如下命令

sudo apt-get install python3

pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,可以替代 easy_install 工具。使用Pip可以快速安装Python的各种包。对于不同版本的Python,有着不同的pip工具。如安装Python3上的TensorFlow则是使用的pip3工具。
pip的安装也十分简单,安装Python2.7版本的pip则使用如下命令

sudo apt-get install python-pip

如果对应的是Python3版本的pip则使用如下命令

sudo apt-get install python3-pip

安装Nvidia的CUDA和cuDNN工具(可选)

如果你想要安装GPU版本的TensorFlow的话,就必须安装CUDA和cuDNN工具。
首先登录Nvidia官网,下载CUDA工具(需要注册账号)
https://developer.nvidia.com/cuda-zone

NVIDIA CUDA开发者页面

点击Download Now进入下载页面
进入下载页面,截止撰写本篇文章的时间,默认的下载CUDA9.1Toolkit。目前Pip上的TensorFlowGPU包要求的是CUDA8.0和cuDNN6.0,因此我们选择网页最下方的Legacy Releases下载8.0的版本。
选择 Linux->x86_64->Ubuntu->16.04->deb(local)
下载CUDA Toolkit 8.0

下载完成之后,使用如下命令进行安装

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

然后来到cuDNN的下载页面下载cuDNN 6.0工具,同样使用dpkg命令进行安装。
cuDNN下载页面:https://developer.nvidia.com/cudnn
最后,配置CUDA 8.0和cuDNN6.0的环境变量。
使用vim或nano等文本编辑软件打开bashrc

sudo vim ~/.bashrc

在bashrc文件末尾加入环境变量

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/lib
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda-8.0/bin

使用pip命令安装TensorFlow-GPU(或安装TensorFlow-CPU)

使用如下命令安装GPU版本的TensorFlow

Python2版本的Pip命令:
sudo pip install tensorflow-gpu
Python3版本的Pip命令
sudo pip3 install tensorflow-gpu

安装完毕之后会有如下提示

Installing collected packages: tensorflow-gpu
Successfully installed tensorflow-gpu-1.4.1

此时我们来到python中进行测试

jack@jack-QTJ5:~$ python
Python 2.7.12 (default, Nov 20 2017, 18:23:56) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.4.1'

上述为控制台的输出,我们输入了import tensorflow和查询tensorflow版本的命令。至此TensorFlow安装已经完成。

下载TensorFlow训练的模型

Github中的https://github.com/tensorflow/models包含着众多已经使用Tensorflow训练好的模型。我们使用git来克隆下来这个仓库,并供下一节课使用这些模型。
新建一个名为tensorflow的文件夹,使用如下命令克隆上述的仓库

git clone https://github.com/tensorflow/models

克隆完成之后,在你的当前工作目录中会出现一个名为models的文件夹。
下一节中,我们将实现通过摄像头来捕捉画面,并使用TensorFlow的Object Detection API来实现常用物体的动态识别。

觉得写的不错的朋友可以点一个 喜欢♥ ~
谢谢你的支持!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345