当前位置:主页 > 书籍配套资源 > 深度学习配套资源
《深度学习之TensorFlow:入门、原理与进阶实战》配套视频、源代码、素材与样本

《深度学习之TensorFlow:入门、原理与进阶实战》配套视频、源代码、素材与样本

  • 更新:2022-02-22
  • 大小:26.8 MB
  • 类别:深度学习
  • 作者:李金洪
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书针对TensorFlow 1.0以上版本编写,采用“理论+实践”的形式编写,通过大量的实例(共96个),全面而深入地讲解“深度学习神经网络原理”和“Tensorflow使用方法”两方面。书中的实例具有很强的实用,如对图片分类、制作一个简单的聊天机器人、进行图像识别等。书中的每章都配有一段教学视频,视频和图书具有一样的内容和结构,能帮助读者快速而全面地了解本章的内容。本书还免费提供了所有案例的源代码及数据样本,这些代码和样本不仅方便了读者学习,而且也能为以后的工作提供便利。

全书共分为3篇:第1篇“深度学习与TensorFlow基础”,包括快速了解人工智能与TensorFlow、搭建开发环境、TensorFlow基本开发步骤、TensorFlow编程基础、一个识别图中模糊的数字的案例;第2篇“深度学习基础——神经网络”介绍了神经网络的基础模型,包括单个神经元、多层神经网络、卷积神经网络、循环神经网络、自编码网络;第3篇“神经网络进阶”,是对基础网络模型的灵活运用与自由组合,是对前面知识的综合及拔高,包括深度神经网络、对抗神经网络。

本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合TensorFlow深度学习的初学者和进阶读者作为自学教程阅读。另外,本书也适合社会培训学校作为培训教材使用,还适合大中专院校的相关专业作为教学参考书。

封面图

目录

  • 配套学习资源
  • 前言
  • 第1篇 深度学习与TensorFlow基础
  • 第1章 快速了解人工智能与TensorFlow2
  • 1.1 什么是深度学习2
  • 1.2 TensorFlow是做什么的3
  • 1.3 TensorFlow的特点4
  • 1.4 其他深度学习框架特点及介绍5
  • 1.5 如何通过本书学好深度学习6
  • 1.5.1 深度学习怎么学6
  • 1.5.2 如何学习本书7
  • 第2章 搭建开发环境8
  • 2.1 下载及安装Anaconda开发工具8
  • 2.2 在Windows平台下载及安装TensorFlow11
  • 2.3 GPU版本的安装方法12
  • 2.3.1 安装CUDA软件包12
  • 2.3.2 安装cuDNN库13
  • 2.3.3 测试显卡14
  • 2.4 熟悉Anaconda 3开发工具15
  • 2.4.1 快速了解Spyder16
  • 2.4.2 快速了解Jupyter Notebook18
  • 第3章 TensorFlow基本开发步骤——以逻辑回归拟合二维数据为例19
  • 3.1 实例1:从一组看似混乱的数据中找出y≈2x的规律19
  • 3.1.1 准备数据20
  • 3.1.2 搭建模型21
  • 3.1.3 迭代训练模型23
  • 3.1.4 使用模型25
  • 3.2 模型是如何训练出来的25
  • 3.2.1 模型里的内容及意义25
  • 3.2.2 模型内部的数据流向26
  • 3.3 了解TensorFlow开发的基本步骤27
  • 3.3.1 定义输入节点的方法27
  • 3.3.2 实例2:通过字典类型定义输入节点28
  • 3.3.3 实例3:直接定义输入节点28
  • 3.3.4 定义“学习参数”的变量29
  • 3.3.5 实例4:通过字典类型定义“学习参数”29
  • 3.3.6 定义“运算”29
  • 3.3.7 优化函数,优化目标30
  • 3.3.8 初始化所有变量30
  • 3.3.9 迭代更新参数到最优解31
  • 3.3.10 测试模型31
  • 3.3.11 使用模型31
  • 第4章 TensorFlow编程基础32
  • 4.1 编程模型32
  • 4.1.1 了解模型的运行机制33
  • 4.1.2 实例5:编写hello world程序演示session的使用34
  • 4.1.3 实例6:演示with session的使用35
  • 4.1.4 实例7:演示注入机制35
  • 4.1.5 建立session的其他方法36
  • 4.1.6 实例8:使用注入机制获取节点36
  • 4.1.7 指定GPU运算37
  • 4.1.8 设置GPU使用资源37
  • 4.1.9 保存和载入模型的方法介绍38
  • 4.1.10 实例9:保存/载入线性回归模型38
  • 4.1.11 实例10:分析模型内容,演示模型的其他保存方法40
  • 4.1.12 检查点(Checkpoint)41
  • 4.1.13 实例11:为模型添加保存检查点41
  • 4.1.14 实例12:更简便地保存检查点44
  • 4.1.15 模型操作常用函数总结45
  • 4.1.16 TensorBoard可视化介绍45
  • 4.1.17 实例13:线性回归的TensorBoard可视化46
  • 4.2 TensorFlow基础类型定义及操作函数介绍48
  • 4.2.1 张量及操作49
  • 4.2.2 算术运算函数55
  • 4.2.3 矩阵相关的运算56
  • 4.2.4 复数操作函数58
  • 4.2.5 规约计算59
  • 4.2.6 分割60
  • 4.2.7 序列比较与索引提取61
  • 4.2.8 错误类62
  • 4.3 共享变量62
  • 4.3.1 共享变量用途62
  • 4.3.2 使用get-variable获取变量63
  • 4.3.3 实例14:演示get_variable和Variable的区别63
  • 4.3.4 实例15:在特定的作用域下获取变量65
  • 4.3.5 实例16:共享变量功能的实现66
  • 4.3.6 实例17:初始化共享变量的作用域67
  • 4.3.7 实例18:演示作用域与操作符的受限范围68
  • 4.4 实例19:图的基本操作70
  • 4.4.1 建立图70
  • 4.4.2 获取张量71
  • 4.4.3 获取节点操作72
  • 4.4.4 获取元素列表73
  • 4.4.5 获取对象73
  • 4.4.6 练习题74
  • 4.5 配置分布式TensorFlow74
  • 4.5.1 分布式TensorFlow的角色及原理74
  • 4.5.2 分布部署TensorFlow的具体方法75
  • 4.5.3 实例20:使用TensorFlow实现分布式部署训练75
  • 4.6 动态图(Eager)81
  • 4.7 数据集(tf.data)82
  • 第5章 识别图中模糊的手写数字(实例21)83
  • 5.1 导入图片数据集84
  • 5.1.1 MNIST数据集介绍84
  • 5.1.2 下载并安装MNIST数据集85
  • 5.2 分析图片的特点,定义变量87
  • 5.3 构建模型87
  • 5.3.1 定义学习参数87
  • 5.3.2 定义输出节点88
  • 5.3.3 定义反向传播的结构88
  • 5.4 训练模型并输出中间状态参数89
  • 5.5 测试模型90
  • 5.6 保存模型91
  • 5.7 读取模型92
  • 第2篇 深度学习基础——神经网络
  • 第6章 单个神经元96
  • 6.1 神经元的拟合原理96
  • 6.1.1 正向传播98
  • 6.1.2 反向传播98
  • 6.2 激活函数——加入非线性因素,解决线性模型缺陷99
  • 6.2.1 Sigmoid函数99
  • 6.2.2 Tanh函数100
  • 6.2.3 ReLU函数101
  • 6.2.4 Swish函数103
  • 6.2.5 激活函数总结103
  • 6.3 softmax算法——处理分类问题103
  • 6.3.1 什么是softmax104
  • 6.3.2 softmax原理104
  • 6.3.3 常用的分类函数105
  • 6.4 损失函数——用真实值与预测值的距离来指导模型的收敛方向105
  • 6.4.1 损失函数介绍105
  • 6.4.2 TensorFlow中常见的loss函数106
  • 6.5 softmax算法与损失函数的综合应用108
  • 6.5.1 实例22:交叉熵实验108
  • 6.5.2 实例23:one_hot实验109
  • 6.5.3 实例24:sparse交叉熵的使用110
  • 6.5.4 实例25:计算loss值110
  • 6.5.5 练习题111
  • 6.6 梯度下降——让模型逼近最小偏差111
  • 6.6.1 梯度下降的作用及分类111
  • 6.6.2 TensorFlow中的梯度下降函数112
  • 6.6.3 退化学习率——在训练的速度与精度之间找到平衡113
  • 6.6.4 实例26:退化学习率的用法举例114
  • 6.7 初始化学习参数115
  • 6.8 单个神经元的扩展——Maxout网络116
  • 6.8.1 Maxout介绍116
  • 6.8.2 实例27:用Maxout网络实现MNIST分类117
  • 6.9 练习题118
  • 第7章 多层神经网络——解决非线性问题119
  • 7.1 线性问题与非线性问题119
  • 7.1.1 实例28:用线性单分逻辑回归分析肿瘤是良性还是恶性的119
  • 7.1.2 实例29:用线性逻辑回归处理多分类问题123
  • 7.1.3 认识非线性问题129
  • 7.2 使用隐藏层解决非线性问题130
  • 7.2.1 实例30:使用带隐藏层的神经网络拟合异或操作130
  • 7.2.2 非线性网络的可视化及其意义133
  • 7.2.3 练习题135
  • 7.3 实例31:利用全连接网络将图片进行分类136
  • 7.4 全连接网络训练中的优化技巧137
  • 7.4.1 实例32:利用异或数据集演示过拟合问题138
  • 7.4.2 正则化143
  • 7.4.3 实例33:通过正则化改善过拟合情况144
  • 7.4.4 实例34:通过增大数据集改善过拟合145
  • 7.4.5 练习题146
  • 7.4.6 dropout——训练过程中,将部分神经单元暂时丢弃146
  • 7.4.7 实例35:为异或数据集模型添加dropout147
  • 7.4.8 实例36:基于退化学习率dropout技术来拟合异或数据集149
  • 7.4.9 全连接网络的深浅关系150
  • 7.5 练习题150
  • 第8章 卷积神经网络——解决参数太多问题151
  • 8.1 全连接网络的局限性151
  • 8.2 理解卷积神经网络152
  • 8.3 网络结构153
  • 8.3.1 网络结构描述153
  • 8.3.2 卷积操作155
  • 8.3.3 池化层157
  • 8.4 卷积神经网络的相关函数158
  • 8.4.1 卷积函数tf.nn.conv2d158
  • 8.4.2 padding规则介绍159
  • 8.4.3 实例37:卷积函数的使用160
  • 8.4.4 实例38:使用卷积提取图片的轮廓165
  • 8.4.5 池化函数tf.nn.max_pool(avg_pool)167
  • 8.4.6 实例39:池化函数的使用167
  • 8.5 使用卷积神经网络对图片分类170
  • 8.5.1 CIFAR介绍171
  • 8.5.2 下载CIFAR数据172
  • 8.5.3 实例40:导入并显示CIFAR数据集173
  • 8.5.4 实例41:显示CIFAR数据集的原始图片174
  • 8.5.5 cifar10_input的其他功能176
  • 8.5.6 在TensorFlow中使用queue176
  • 8.5.7 实例42:协调器的用法演示178
  • 8.5.8 实例43:为session中的队列加上协调器179
  • 8.5.9 实例44:建立一个带有全局平均池化层的卷积神经网络180
  • 8.5.10 练习题183
  • 8.6 反卷积神经网络183
  • 8.6.1 反卷积神经网络的应用场景184
  • 8.6.2 反卷积原理184
  • 8.6.3 实例45:演示反卷积的操作185
  • 8.6.4 反池化原理188
  • 8.6.5 实例46:演示反池化的操作189
  • 8.6.6 实例47:演示gradients基本用法192
  • 8.6.7 实例48:使用gradients对多个式子求多变量偏导192
  • 8.6.8 实例49:演示梯度停止的实现193
  • 8.7 实例50:用反卷积技术复原卷积网络各层图像195
  • 8.8 善用函数封装库198
  • 8.8.1 实例51:使用函数封装库重写CIFAR卷积网络198
  • 8.8.2 练习题201
  • 8.9 深度学习的模型训练技巧201
  • 8.9.1 实例52:优化卷积核技术的演示201
  • 8.9.2 实例53:多通道卷积技术的演示202
  • 8.9.3 批量归一化204
  • 8.9.4 实例54:为CIFAR图片分类模型添加BN207
  • 8.9.5 练习题209
  • 第9章 循环神经网络——具有记忆功能的网络210
  • 9.1 了解RNN的工作原理210
  • 9.1.1 了解人的记忆原理210
  • 9.1.2 RNN网络的应用领域212
  • 9.1.3 正向传播过程212
  • 9.1.4 随时间反向传播213
  • 9.2 简单RNN215
  • 9.2.1 实例55:简单循环神经网络实现——裸写一个退位减法器215
  • 9.2.2 实例56:使用RNN网络拟合回声信号序列220
  • 9.3 循环神经网络(RNN)的改进225
  • 9.3.1 LSTM网络介绍225
  • 9.3.2 窥视孔连接(Peephole)228
  • 9.3.3 带有映射输出的STMP230
  • 9.3.4 基于梯度剪辑的cell230
  • 9.3.5 GRU网络介绍230
  • 9.3.6 Bi-RNN网络介绍231
  • 9.3.7 基于神经网络的时序类分类CTC232
  • 9.4 TensorFlow实战RNN233
  • 9.4.1 TensorFlow中的cell类233
  • 9.4.2 通过cell类构建RNN234
  • 9.4.3 实例57:构建单层LSTM网络对MNIST数据集分类239
  • 9.4.4 实例58:构建单层GRU网络对MNIST数据集分类240
  • 9.4.5 实例59:创建动态单层RNN网络对MNIST数据集分类240
  • 9.4.6 实例60:静态多层LSTM对MNIST数据集分类241
  • 9.4.7 实例61:静态多层RNN-LSTM连接GRU对MNIST数据集分类242
  • 9.4.8 实例62:动态多层RNN对MNIST数据集分类242
  • 9.4.9 练习题243
  • 9.4.10 实例63:构建单层动态双向RNN对MNIST数据集分类243
  • 9.4.11 实例64:构建单层静态双向RNN对MNIST数据集分类244
  • 9.4.12 实例65:构建多层双向RNN对MNIST数据集分类246
  • 9.4.13 实例66:构建动态多层双向RNN对MNIST数据集分类247
  • 9.4.14 初始化RNN247
  • 9.4.15 优化RNN248
  • 9.4.16 实例67:在GRUCell中实现LN249
  • 9.4.17 CTC网络的loss——ctc_loss251
  • 9.4.18 CTCdecoder254
  • 9.5 实例68:利用BiRNN实现语音识别255
  • 9.5.1 语音识别背景255
  • 9.5.2 获取并整理样本256
  • 9.5.3 训练模型265
  • 9.5.4 练习题272
  • 9.6 实例69:利用RNN训练语言模型273
  • 9.6.1 准备样本273
  • 9.6.2 构建模型275
  • 9.7 语言模型的系统学习279
  • 9.7.1 统计语言模型279
  • 9.7.2 词向量279
  • 9.7.3 word2vec281
  • 9.7.4 实例70:用CBOW模型训练自己的word2vec283
  • 9.7.5 实例71:使用指定侯选采样本训练word2vec293
  • 9.7.6 练习题296
  • 9.8 处理Seq2Seq任务296
  • 9.8.1 Seq2Seq任务介绍296
  • 9.8.2 Encoder-Decoder框架297
  • 9.8.3 实例72:使用basic_rnn_seq2seq拟合曲线298
  • 9.8.4 实例73:预测当天的股票价格306
  • 9.8.5 基于注意力的Seq2Seq310
  • 9.8.6 实例74:基于Seq2Seq注意力模型实现中英文机器翻译313
  • 9.9 实例75:制作一个简单的聊天机器人339
  • 9.9.1 构建项目框架340
  • 9.9.2 准备聊天样本340
  • 9.9.3 预处理样本340
  • 9.9.4 训练样本341
  • 9.9.5 测试模型342
  • 9.10 时间序列的高级接口TFTS344
  • 第10章 自编码网络——能够自学习样本特征的网络346
  • 10.1 自编码网络介绍及应用346
  • 10.2 最简单的自编码网络347
  • 10.3 自编码网络的代码实现347
  • 10.3.1 实例76:提取图片的特征,并利用特征还原图片347
  • 10.3.2 线性解码器351
  • 10.3.3 实例77:提取图片的二维特征,并利用二维特征还原图片351
  • 10.3.4 实例78:实现卷积网络的自编码356
  • 10.3.5 练习题358
  • 10.4 去噪自编码359
  • 10.5 去噪自编码网络的代码实现359
  • 10.5.1 实例79:使用去噪自编码网络提取MNIST特征359
  • 10.5.2 练习题363
  • 10.6 栈式自编码364
  • 10.6.1 栈式自编码介绍364
  • 10.6.2 栈式自编码在深度学习中的意义365
  • 10.7 深度学习中自编码的常用方法366
  • 10.7.1 代替和级联366
  • 10.7.2 自编码的应用场景366
  • 10.8 去噪自编码与栈式自编码的综合实现366
  • 10.8.1 实例80:实现去噪自编码367
  • 10.8.2 实例81:添加模型存储支持分布训练375
  • 10.8.3 小心分布训练中的“坑”376
  • 10.8.4 练习题377
  • 10.9 变分自编码377
  • 10.9.1 什么是变分自编码377
  • 10.9.2 实例82:使用变分自编码模拟生成MNIST数据377
  • 10.9.3 练习题384
  • 10.10 条件变分自编码385
  • 10.10.1 什么是条件变分自编码385
  • 10.10.2 实例83:使用标签指导变分自编码网络生成MNIST数据385
  • 第3篇 深度学习进阶
  • 第11章 深度神经网络392
  • 11.1 深度神经网络介绍392
  • 11.1.1 深度神经网络起源392
  • 11.1.2 经典模型的特点介绍393
  • 11.2 GoogLeNet模型介绍394
  • 11.2.1 MLP卷积层394
  • 11.2.2 全局均值池化395
  • 11.2.3 Inception 原始模型396
  • 11.2.4 Inception v1模型396
  • 11.2.5 Inception v2模型397
  • 11.2.6 Inception v3模型397
  • 11.2.7 Inception v4模型399
  • 11.3 残差网络(ResNet)399
  • 11.3.1 残差网络结构399
  • 11.3.2 残差网络原理400
  • 11.4 Inception-ResNet-v2结构400
  • 11.5 TensorFlow中的图片分类模型库——slim400
  • 11.5.1 获取models中的slim模块代码401
  • 11.5.2 models中的Slim目录结构401
  • 11.5.3 slim中的数据集处理403
  • 11.5.4 实例84:利用slim读取TFRecord中的数据405
  • 11.5.5 在slim中训练模型407
  • 11.6 使用slim中的深度网络模型进行图像的识别与检测410
  • 11.6.1 实例85:调用Inception_ResNet_v2模型进行图像识别410
  • 11.6.2 实例86:调用VGG模型进行图像检测413
  • 11.7 实物检测模型库——Object Detection API417
  • 11.7.1 准备工作418
  • 11.7.2 实例87:调用Object Detection API进行实物检测421
  • 11.8 实物检测领域的相关模型425
  • 11.8.1 RCNN基于卷积神经网络特征的区域方法426
  • 11.8.2 SPP-Net:基于空间金字塔池化的优化RCNN方法426
  • 11.8.3 Fast-R-CNN快速的RCNN模型426
  • 11.8.4 YOLO:能够一次性预测多个位置和类别的模型427
  • 11.8.5 SSD:比YOLO更快更准的模型428
  • 11.8.6 YOLO2:YOLO的升级版模型428
  • 11.9 机器自己设计的模型(NASNet)428
  • 第12章 对抗神经网络(GAN)430
  • 12.1 GAN的理论知识430
  • 12.1.1 生成式模型的应用431
  • 12.1.2 GAN的训练方法431
  • 12.2 DCGAN——基于深度卷积的GAN432
  • 12.3 InfoGAN和ACGAN:指定类别生成模拟样本的GAN432
  • 12.3.1 InfoGAN:带有隐含信息的GAN432
  • 12.3.2 AC-GAN:带有辅助分类信息的GAN433
  • 12.3.3 实例88:构建InfoGAN生成MNIST模拟数据434
  • 12.3.4 练习题440
  • 12.4 AEGAN:基于自编码器的GAN441
  • 12.4.1 AEGAN原理及用途介绍441
  • 12.4.2 实例89:使用AEGAN对MNIST数据集压缩特征及重建442
  • 12.5 WGAN-GP:更容易训练的GAN447
  • 12.5.1 WGAN:基于推土机距离原理的GAN448
  • 12.5.2 WGAN-GP:带梯度惩罚项的WGAN449
  • 12.5.3 实例90:构建WGAN-GP生成MNIST数据集451
  • 12.5.4 练习题455
  • 12.6 LSGAN(最小乘二GAN):具有WGAN 同样效果的GAN455
  • 12.6.1 LSGAN介绍455
  • 12.6.2 实例91:构建LSGAN生成MNIST模拟数据456
  • 12.7 GAN-cls:具有匹配感知的判别器457
  • 12.7.1 GAN-cls的具体实现458
  • 12.7.2 实例92:使用GAN-cls技术实现生成标签匹配的模拟数据458
  • 12.8 SRGAN——适用于超分辨率重建的GAN461
  • 12.8.1 超分辨率技术461
  • 12.8.2 实例93:ESPCN实现MNIST数据集的超分辨率重建463
  • 12.8.3 实例94:ESPCN实现flowers数据集的超分辨率重建466
  • 12.8.4 实例95:使用残差网络的ESPCN472
  • 12.8.5 SRGAN的原理477
  • 12.8.6 实例96:使用SRGAN实现flowers数据集的超分辨率修复477
  • 12.9 GAN网络的高级接口TFGAN485
  • 12.10 总结486

资源下载

资源下载地址1:https://pan.baidu.com/s/1hjC-QCTL-yyC3jL3upUJ2A

相关资源

网友留言