第1章 初识TensorFlow 1
1.1 TensorFlow特点 1
1.2 其他深度学习框架 3
1.2.1 Caffe 3
1.2.2 MXNet 3
1.2.3 Torch 4
1.2.4 Theano 4
1.2.5 CNTK 5
第2章 TensorFlow环境搭建 6
2.1 安装环境介绍 6
2.1.1 CUDA简介 6
2.1.2 cuDNN简介 6
2.1.3 查看机器的GPU信息 7
2.2 安装TensorFlow 8
2.2.1 安装pip 9
2.2.2 通过pip安装TensorFlow 9
2.2.3 源码编译安装TensorFlow 10
2.3 NVIDIA驱动安装 11
2.4 安装CUDA和cuDNN 12
2.4.1 Linux下安装CUDA 12
2.4.2 Linux下安装cuDNN 13
2.4.3 Windows和Mac系统下安装CUDA 14
2.4.4 Windows和Mac系统下安装cuDNN 14
2.5 安装测试 15
第3章 TensorFlow基础 16
3.1 基本概念 16
3.1.1 张量 16
3.1.2 图 17
3.1.3 操作 18
3.1.4 会话 19
3.2 变量 24
3.2.1 变量的初始化 24
3.2.2 变量的变形 25
3.2.3 数据类型和维度 26
3.2.4 共享变量和变量命名空间 27
3.3 模型的保存和载入 33
3.3.1 模型的保存 33
3.3.2 模型的载入 34
3.4 使用GPU 34
3.4.1 指定GPU设备 35
3.4.2 指定GPU显存占用 36
3.5 数据读取 36
3.5.1 使用placeholder填充方式读取数据 37
3.5.2 从文件读入数据的方式 37
3.5.3 预先读入内存的方式 48
3.6 利用TensorBoard进行数据可视化 49
3.6.1 在TensorBoard中查看图结构 49
3.6.2 训练过程中单一数据变化趋势 51
3.6.3 训练过程中数据分布可视化 53
3.6.4 其他使用技巧 56
第4章 深度神经网络基础 58
4.1 神经元 58
4.2 简单神经网络 59
4.3 深度神经网络 62
4.4 损失函数 63
4.5 梯度下降 64
4.6 反向传播 66
4.6.1 求导链式法则 66
4.6.2 反向传播算法思路 67
4.6.3 反向传播算法的计算过程 68
4.7 优化函数 72
4.7.1 随机梯度下降优化算法 72
4.7.2 基于冲量的优化算法 73
4.7.3 Adagrad优化算法 74
4.7.4 Adadelta优化算法 75
4.7.5 Adam优化算法 75
4.7.6 TensorFlow中的优化算法API 76
4.8 一个简单的例子 77
第5章 卷积神经网络 83
5.1 简介 83
5.2 什么是卷积 84
5.3 卷积神经网络基础 88
5.3.1 局部感知野 88
5.3.2 参数共享 89
5.3.3 多卷积核 91
5.3.4 池化 92
5.3.5 多层卷积 93
5.4 卷积神经网络的训练 94
5.4.1 池化层反向传播 95
5.4.2 卷积层反向传播 96
5.5 TensorFlow中的卷积神经网络 101
5.5.1 TensorFlow的卷积操作 101
5.5.2 TensorFlow的池化操作 103
5.6 用TensorFlow实现0和1数字识别 104
5.6.1 由图片生成TFRecord文件 104
5.6.2 构建卷积网络结构 106
5.6.3 训练过程 110
5.6.4 卷积过程数据的变化 114
5.7 几种经典的卷积神经网络 117
5.7.1 AlexNet 117
5.7.2 VGGNet 118
5.7.3 Inception Net 120
5.7.4 ResNet 121
第6章 循环神经网络 123
6.1 普通RNN 123
6.1.1 普通RNN结构 123
6.1.2 普通RNN的不足 125
6.2 LSTM单元 126
6.2.1 LSTM单元基本结构 127
6.2.2 增加peephole的LSTM单元 131
6.2.3 GRU单元 132
6.3 TensorFlow中的RNN 132
6.4 用LSTM+CTC实现语音识别 136
6.4.1 语音特征介绍 136
6.4.2 计算流程描述 137
6.4.3 TensorFlow实现 139
6.5 在NLP中的应用 144
6.5.1 语言模型 144
6.5.2 词向量 147
6.5.3 中文分词 148
6.6 小结 159
第7章 TensorFlow分布式 160
7.1 单机多GPU训练 160
7.2 多机多GPU分布式训练 163
7.2.1 参数服务器 163
7.2.2 in-graph和between-graph
模式 164
7.2.3 同步更新和异步更新 165
7.2.4 异步更新分布式示例 165