深度学习利器:TensorFlow程序设计

本书TensorFlow程序设计中的关键技术主要包括以下几个方面:TensorFlow编程基础及实践;TensorFlow系统架构及C/C++编程API;分布式TensorFlow技术;TensorFlow与卷积神经网络;TensorFlow与自然语言处理模型;TensorFlow在智能终端中的应用。
作者: 武维

作者 武维

2015 年 11 月 9 日谷歌开源了人工智能系统 TensorFlow,同时成为 2015 年最受关注的开源项目之一。到目前为止 TensorFlow 的 GitHub Star 排名为 72000+, Fork 排名已达 35000+,有 23000+ commits。并随着 TensorFlow 新版本的不断发布以及新特性的不断增加,TensorFlow 使用更加灵活,运行速度更快,使用方式更产品化,已成为目前主流的深度学习平台之一。目前除了谷歌在自己的产品线上使用 TensorFlow 外,国内的京东,小米等公司,以及国外的 ARM、eBay、UBER、Airbnb 等公司,都在尝试使用 TensorFlow。

在工业界,TensorFlow 比其他框架更具有优势。TensorFlow 支持异构设备的分布式计算,使得上千万、上亿数据量的模型能够有效地利用机器资源进行训练。TensorFlow 支持卷积神经网络、循环神经网络,这些都是在计算机视觉、语音识别、自然语言处理方面最流行的深度神经网络。TensorFlow 支持从研究团队快速迁移学习模型到生产团队,实现了研究团队发布模型,生产团队验证模型,构建起了模型研究到生产实践的桥梁。TensorFlow 支持直接面向终端用户的移动端(Android 系统)以及一些智能产品的嵌入式开发。另外,TensorFlow 有出色的版本管理和详细的官方文档。

本书 TensorFlow 程序设计中的关键技术主要包括以下几个方面。

  1. TensorFlow 编程基础及实践:主要包括 TensorFlow 变量、TensorFlow 应用架构、TensorFlow 可视化技术、GPU 使用、以及 HDFS 集成使用等。
  2. TensorFlow 系统架构及 C/C++ 编程 API:主要包括 Client,Master,Worker,Kernel 的相关系统组件及运行方式,以及采用 C++ API 去训练模型,提供更好的运算性能及更好地控制 GPU 内存的分配。
  3. 分布式 TensorFlow 技术:主要包括分布式 TensorFlow 编程 API;分布式 TensorFlow MNIST 模型;梯度向降法在分布式 TensorFlow 中的性能分析,包括 Async-SGD,Sync-SGD,Sync-SGDwith backups 算法。
  4. TensorFlow 与卷积神经网络:主要包括卷积神经网络的特征图、卷积核,池化操作等关键技术;使用 TensorFlowAPI 构建卷积神经网络;TensorFlow Cifar10,InceptionV3 及 Vgg19 模型的架构和代码。
  5. TensorFlow 与自然语言处理模型:主要包括 Word2Vec 数学原理;近义词模型;循环神经网络(RecurrentNeural Network, RNN)技术原理;长短期记忆网络(LongShort-Term Memory,LSTM)技术原理;TensorFlow 语言预测模型;TensorFlow 的机器翻译模型。
  6. TensorFlow 在智能终端中的应用:基于看花识名 APP,讲解了 TensorFlow 在 Android 智能终端中的应用。主要包括:模型训练;模型参数量化处理;TensorFlowAndroid 开发环境的构建及相关开发 API。

目录

TensorFlow 编程基础及实践

TensorFlow 系统架构及 C/C++ 编程 API

分布式 TensorFlow 技术

TensorFlow 与卷积神经网络

TensorFlow 与自然语言处理模型

TensorFlow 在智能终端中的应用