内容简介
《TensorFlow深度学习》书分为五个方面:基础知识、关键模块、算法模型、内核揭秘、生态发展。在前两个方面,从简单到深入介绍了TensorFlow平台在算法模型方面,采用TensorFlow来解释深度学习模型在内核揭示方面,主要分析了C内核中的通信原理、消息管理机制等最后,从生态发展的角度,我们讲解了一套以TensorFlow为中心的开源大数据分析解决方案。
目录
- 第1章深度学习入门1
- 1.1机器学习简介1
- 1.1.1监督学习2
- 1.1.2无监督学习2
- 1.1.3强化学习3
- 1.2深度学习定义3
- 1.2.1人脑的工作机制3
- 1.2.2深度学习历史4
- 1.2.3应用领域5
- 1.3神经网络5
- 1.3.1生物神经元5
- 1.3.2人工神经元6
- 1.4人工神经网络的学习方式8
- 1.4.1反向传播算法8
- 1.4.2权重优化8
- 1.4.3随机梯度下降法9
- 1.5神经网络架构10
- 1.5.1多层感知器10
- 1.5.2DNN架构11
- 1.5.3卷积神经网络12
- 1.5.4受限玻尔兹曼机12
- 1.6自编码器13
- 1.7循环神经网络14
- 1.8几种深度学习框架对比14
- 1.9小结16
- 第2章TensorFlow初探17
- 2.1总览17
- 2.1.1TensorFlow 1.x版本特性18
- 2.1.2使用上的改进18
- 2.1.3TensorFlow安装与入门19
- 2.2在Linux上安装TensorFlow19
- 2.3为TensorFlow启用NVIDIA GPU20
- 2.3.1第1步:安装NVIDIA CUDA20
- 2.3.2第2步:安装NVIDIA cuDNN v5.1+21
- 2.3.3第3步:确定GPU卡的CUDA计算能力为3.0+22
- 2.3.4第4步:安装libcupti-dev库22
- 2.3.5第5步:安装Python
- (或Python 3)22
- 2.3.6第6步:安装并升级PIP
- (或PIP3)22
- 2.3.7第7步:安装TensorFlow23
- 2.4如何安装TensorFlow23
- 2.4.1直接使用pip安装23
- 2.4.2使用virtualenv安装24
- 2.4.3从源代码安装26
- 2.5在Windows上安装TensorFlow27
- 2.5.1在虚拟机上安装TensorFlow27
- 2.5.2直接安装到Windows27
- 2.6测试安装是否成功28
- 2.7计算图28
- 2.8为何采用计算图29
- 2.9编程模型30
- 2.10数据模型33
- 2.10.1阶33
- 2.10.2形状33
- 2.10.3数据类型34
- 2.10.4变量36
- 2.10.5取回37
- 2.10.6注入38
- 2.11TensorBoard38
- 2.12实现一个单输入神经元39
- 2.13单输入神经元源代码43
- 2.14迁移到TensorFlow 1.x版本43
- 2.14.1如何用脚本升级44
- 2.14.2局限47
- 2.14.3手动升级代码47
- 2.14.4变量47
- 2.14.5汇总函数47
- 2.14.6简化的数学操作48
- 2.14.7其他事项49
- 2.15小结49
- 第3章用TensorFlow构建前馈
- 神经网络51
- 3.1前馈神经网络介绍51
- 3.1.1前馈和反向传播52
- 3.1.2权重和偏差53
- 3.1.3传递函数53
- 3.2手写数字分类54
- 3.3探究MNIST数据集55
- 3.4softmax分类器57
- 3.5TensorFlow模型的保存和还原63
- 3.5.1保存模型63
- 3.5.2还原模型63
- 3.5.3softmax源代码65
- 3.5.4softmax启动器源代码66
- 3.6实现一个五层神经网络67
- 3.6.1可视化69
- 3.6.2五层神经网络源代码70
- 3.7ReLU分类器72
- 3.8可视化73
- 3.9dropout优化76
- 3.10可视化78
- 3.11小结80
- 第4章TensorFlow与卷积神经网络82
- 4.1CNN简介82
- 4.2CNN架构84
- 4.3构建你的第一个CNN86
- 4.4CNN表情识别95
- 4.4.1表情分类器源代码104
- 4.4.2使用自己的图像测试模型107
- 4.4.3源代码109
- 4.5小结111
- 第5章优化TensorFlow自编码器112
- 5.1自编码器简介112
- 5.2实现一个自编码器113
- 5.3增强自编码器的鲁棒性119
- 5.4构建去噪自编码器120
- 5.5卷积自编码器127
- 5.5.1编码器127
- 5.5.2解码器128
- 5.5.3卷积自编码器源代码134
- 5.6小结138
- 第6章循环神经网络139
- 6.1RNN的基本概念139
- 6.2RNN的工作机制140
- 6.3RNN的展开140
- 6.4梯度消失问题141
- 6.5LSTM网络142
- 6.6RNN图像分类器143
- 6.7双向RNN149
- 6.8文本预测155
- 6.8.1数据集156
- 6.8.2困惑度156
- 6.8.3PTB模型156
- 6.8.4运行例程157
- 6.9小结158
- 第7章GPU计算160
- 7.1GPGPU计算160
- 7.2GPGPU的历史161
- 7.3CUDA架构161
- 7.4GPU编程模型162
- 7.5TensorFlow中GPU的设置163
- 7.6TensorFlow的GPU管理165
- 7.7GPU内存管理168
- 7.8在多GPU系统上分配单个GPU168
- 7.9使用多个GPU170
- 7.10小结171
- 第8章TensorFlow高级编程172
- 8.1Keras简介172
- 8.2构建深度学习模型174
- 8.3影评的情感分类175
- 8.4添加一个卷积层179
- 8.5Pretty Tensor181
- 8.6数字分类器182
- 8.7TFLearn187
- 8.8泰坦尼克号幸存者预测器188
- 8.9小结191
- 第9章TensorFlow高级多媒体编程193
- 9.1多媒体分析简介193
- 9.2基于深度学习的大型对象检测193
- 9.2.1瓶颈层195
- 9.2.2使用重训练的模型195
- 9.3加速线性代数197
- 9.3.1TensorFlow的核心优势197
- 9.3.2加速线性代数的准时编译197
- 9.4TensorFlow和Keras202
- 9.4.1Keras简介202
- 9.4.2拥有Keras的好处203
- 9.4.3视频问答系统203
- 9.5Android上的深度学习209
- 9.5.1TensorFlow演示程序209
- 9.5.2Android入门211
- 9.6小结214
- 第10章强化学习215
- 10.1强化学习基本概念216
- 10.2Q-learning算法217
- 10.3OpenAI Gym框架简介218
- 10.4FrozenLake-v0实现问题220
- 10.5使用TensorFlow实现Q-learning223
- 10.6小结227