快使用TensorFlow,哼哼哈嘿

2018 年 3 月 16 日 图灵教育 图小鹿整理

(图片来自斯皮尔伯格电影《人工智能》)

早在 2015 年底,谷歌就开源了内部使用的深度学习框架 TensorFlow 。在众多开源框架中,TensorFlow 框架是目前最活跃的深度学习框架,几乎形成了一家独大的局面。目前 TensorFlow 在 GitHub 上的 Fork 和 Star 的人数是最多的。越来越多的行业也开始使用 TensorFlow。

在澳大利亚,海洋生物学家与来自昆士兰大学的计算机科学家合作,利用TensorFlow,使用探测器自动在数以万计的航拍照片中寻找海牛;

在日本,一位年轻人将 TensorFlow 运用到农业上,按照大小、形状、颜色以及其他特征来挑选黄瓜并对它们进行分类;

在医学领域,放射科的医生采用 TensorFlow,在医学扫描中能够识别帕金森病的迹象。

湾区的数据科学家在树莓派上使用 TensorFlow 来追踪记录加州火车的动态。

AlphaGo 开发团队 DeepMind 也已将 Torch 迁移到 TensorFlow 中。

这些无不印证了 TensorFlow 在业界的流行程度。

就是这样,很多人想去到深度学习的世界里看看,拓展一下未知的领域,说不定还能抓住下一波技术的浪潮,从此走上人生巅峰。不过也有一些人还在观望,并为此发愁,比如,有人会问:“深度学习入门是不是需要很多数学知识?” 零基础的人怎样入门深度学习?”

关于这两个问题,大家都可以直接阅读《谷歌机器学习速成课自学指南》。具体开始学习之前,参考我们前几天为大家精心准备的书单:谷歌机器学习速成课预备书单 。我们给出这个书单,并不是说要大家搞定六七本书才能入门深度学习,而是说关于各个方向的关键知识点,在开始学习前都要知道,并且可以在遇到问题的时候快速查阅相关图书或者资料。掌握数学和 Python 编程及库的相关知识之后,大家就可以开始学习 TensorFlow 了。那么,今天进一步详细地为大家推荐一下这本《TensorFlow入门与实战》。

首先,一起极简地看一下 TensorFlow。

什么是TensorFlow


TensorFlow 是一个采用数据流图(Data Flow Graphs),用于数值计算的开源软件库。节点(nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU)、服务器、移动设备等等。TensorFlow 最初由 Google 大脑小组(隶属于 Google 机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

什么是数据流图


数据流图用“结点”(nodes)和“线” (edges) 的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“TensorFlow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

TensorFlow的特点

  • 高度灵活性

  • 真正的可移植性

  • 多语言支持

  • 丰富的算法库

  • 完善的文档

  • 大量的开源项目

其他深度学习框架


  • Caffe 全称 Convolution Architecture For Feature Extraction,它是第一个在工业上得到广泛应用的开源深度学习框架,也是第一代深度学习框架里最受欢迎的框架。

  • MXNet 主要继承于 DMLC 的 CXXNet 和 Minerva 这两个项目。它采用 C++ 开发,支持的接口语言多达7种,包括Python、R、Julia、Scala、JavaScript、MATLAB 和 Go。

  • Torch 诞生10 年之久,一直以来主要用于在研究机构里进行机器学习算法相关的科学计算。它并没有跟随 Python 的潮流,它的操作语言是 Lua。Torch 被 Facebook 的人工智能实验室和之前英国的 DeepMind 团队广泛使用。

  • Theano 一个强大

  • 的数值计算库,大部分代码是使用 Cython 编写的。

  • CNTK 全称是 Microsoft Cognitive Toolkit,来源于微软开源的深度学习框架,基于 C++ 开发的跨多个平台的深度学习框架。

这些基础知识想必你已经了如指掌,如果还不是很了解,那一定要抽时间多看看。

接下来就来说说我们这本书。如果不小心买了一本很厚的书,可能还没啃完它就会被你压在显示器下五百年,永世不得翻身。或者买了书后发现里边实例比较少,理论过多,并不试用,最后也会被你丢弃。

这本书翻了一下,不厚,只有178页,没什么多余的废话,目的是不想把 TensorFlow 搞得那么神秘。就想让你用最简单方法入门 TensorFlow。

虽然是一本入门书,但是作者还是希望你有点数学基础,比如,你知道函数如何求导、两个二维矩阵相乘是如何计算的以及数学表达式等简单符号的含义。在编程方面,作者希望你知道数组、矩阵的概念,能够读懂最基本的 Python 程序。

不过,这本书才刚刚上市,它究竟表现如何还需要时间去考证,如果你对TensorFlow 感兴趣的话,那不妨来读一下。


作者:罗冬日
定价:49.00元

读这本书你能得到:

  • 一线开发人员的经验总结,作者罗冬日先后在平安科技、百度等公司从事深度学习相关工作,没有什么比一线开发经验更具有说服力。

  • 内容包含全连接网络、卷积神经网络和循环神经网络、分布式训练等。其中重点讲解深度神经网络的原理和推导过程,还有卷积神经网络和循环神经网络的原理和推导过程。

  • 指导你在大规模应用场景下,如何实现分布式深度学习训练。


本书基于 1.3 版本,

首先介绍了 TensorFlow 的安装和基本用法;

然后讨论了深度学习的基本概念,包括神经网络前向计算、损失函数、反向传播计算和优化函数等;

接着介绍了卷积神经网络和循环神经网络;

最后介绍了在大规模应用的场景下,如何实现分布式的深度学习训练。


作者简介


罗冬日,毕业于中科院研究生院。先后在百度、平安科技从事数据挖掘、机器学习、深度学习相关领域的研究工作。目前就职于腾讯。

内容概括


第1章主要介绍了 TensorFlow 的特点以及目前流行的其他深度学习框架。

第2章主要介绍了 TensorFlow 在 Linux、Windows 等平台上的安装,以及与 GPU 相关的 CUDA 和 cuDNN 驱动安装。

第3章主要介绍了 TensorFlow 程序的基本结构、运行逻辑、保存和读取模型等基本操作,以及如何读取不同格式的数据、共享变量的使用等基础知识。

第4章介绍了深度学习的基本概念,包括神经网络前向计算、损失函数、反向传播计算和优化函数等,这一章主要是让没有接触过深度学习的读者从理论上入门,知道神经网络的数学原理以及推导规则。

第5章介绍了卷积神经网络,内容涉及前向计算和反向传播推导,如何用TensorFlow 实现一个卷积神经网络,最后结合一个简单的例子介绍数据在卷积神经网络中的每一层是如何计算的。

第6章介绍了循环神经网络,内容涉及各种循环神经网络的变种和特点,以及如何用 RNN 实现简单的语音识别任务和自然语言处理中的中文分词任务。

第7章介绍在大规模应用的场景下,如何实现分布式的深度学习训练。



目录

第1章 初识 TensorFlow  1

1.1 TensorFlow 特点  1

1.2 其他深度学习框架  3

第2章 TensorFlow 环境搭建  6

2.1 安装环境介绍  6

2.2 安装 TensorFlow  8

2.3 NVIDIA 驱动安装  11

2.4 安装 CUDA 和 cuDNN  12

2.5 安装测试  15

第3章 TensorFlow 基础  16

3.1 基本概念  16

3.2 变量  24

3.3 模型的保存和载入  33

3.4 使用 GPU   34

3.5 数据读取  36

3.6 利用 TensorBoard 进行数据可视化  49

第4章 深度神经网络基础  58

4.1 神经元  58

4.2 简单神经网络  59

4.3 深度神经网络  62

4.4 损失函数  63

4.5 梯度下降  64

4.6 反向传播  66

4.7 优化函数  72

4.8 一个简单的例子  77

第5章 卷积神经网络  83

5.1 简介  83

5.2 什么是卷积  84

5.3 卷积神经网络基础  88

5.4 卷积神经网络的训练  94

5.5 TensorFlow 中的卷积神经网络  101

5.6 用 TensorFlow 实现 0 和 1 数字识别  104

5.7 几种经典的卷积神经网络  117

第6章 循环神经网络  123

6.1 普通 RNN  123

6.2 LSTM 单元  126

6.3 TensorFlow 中的 RNN  132

6.4 用 LSTM+CTC 实现语音识别  136

6.5 在 NLP 中的应用  144

6.6 小结  159

第7章 TensorFlow分布式  160

7.1 单机多 GPU 训练  160

7.2 多机多 GPU 分布式训练  163


扫一扫,京东购



文末福利
本期送出 5 本《TensorFlow入门与实战》,正在坑里的伙伴们来给想入门的伙伴们提点建议吧!说说学习深度学习需要注意点什么?坑外的小伙伴来说说你对 TensorFlow 的哪个方面比较感兴趣。截止2018年3月19日12:00。

点击【 阅读原文 】查看谷歌机器学习预备书单
登录查看更多
5

相关内容

Google发布的第二代深度学习系统TensorFlow
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
TF Boys必看!一文搞懂TensorFlow 2.0新架构!
引力空间站
18+阅读 · 2019年1月16日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
TensorFlow 资源大全中文版
数据库开发
63+阅读 · 2018年1月11日
【下载】 TensorFlow:实战Google深度学习框架
专知
16+阅读 · 2017年12月23日
TensorFlow神经网络教程
Python程序员
4+阅读 · 2017年12月4日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
手把手教你由TensorFlow上手PyTorch(附代码)
数据派THU
5+阅读 · 2017年10月1日
Tutorial on NLP-Inspired Network Embedding
Arxiv
7+阅读 · 2019年10月16日
Arxiv
17+阅读 · 2018年4月2日
Arxiv
4+阅读 · 2018年3月30日
VIP会员
相关VIP内容
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
相关资讯
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
TF Boys必看!一文搞懂TensorFlow 2.0新架构!
引力空间站
18+阅读 · 2019年1月16日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
TensorFlow 资源大全中文版
数据库开发
63+阅读 · 2018年1月11日
【下载】 TensorFlow:实战Google深度学习框架
专知
16+阅读 · 2017年12月23日
TensorFlow神经网络教程
Python程序员
4+阅读 · 2017年12月4日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
手把手教你由TensorFlow上手PyTorch(附代码)
数据派THU
5+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员