当前位置:主页 > 书籍配套资源 > 深度学习配套资源
《深度学习实战:基于TensorFlow 2和Keras(原书第2版)》源代码

《深度学习实战:基于TensorFlow 2和Keras(原书第2版)》源代码

  • 更新:2021-12-06
  • 大小:5.82 MB
  • 类别:深度学习
  • 作者:安东尼奥·古利(Antonio、Gulli)、、[印]、阿米塔·卡普尔(Amita、Kapoor)、、[美]、苏吉特·帕尔(Sujit、Pal)
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

深度学习实战:基于TensorFlow 2和Keras(原书第2版)》简洁且全面地介绍了现代神经网络、人工智能和深度学习技术,专门为软件工程师和数据科学家设计。第1章逐步介绍神经网络的基础知识。第2章比较TensorFlow 1.x和TensorFlow 2.0编程模型。第3章重点介绍回归。第4章介绍卷积神经网络及其在图像处理中的应用。第5章讨论了CNN在图像、视频、音频和文本处理方面的高级应用。第6章重点介绍生成对抗网络。第7章介绍词嵌入。第8章介绍基本嵌入方法的各种扩展。第9章介绍自动编码器。第10章深入研究无监督学习模型。第11章重点介绍强化学习。第12章介绍AutoML。第13章介绍用于移动设备和物联网的TensorFlow的基础知识。第14章讨论了云环境以及如何利用它来训练和部署模型。第15章讨论了深度学习背后的数学。第16章介绍TPU。本书内容丰富,易于理解,示例具有代表性,是学习深度学习的绝佳指南。

目录

  • 前言
  • 作者简介
  • 审校者简介
  • 第1章基于TensorFlow 2.0的神经网络基础1
  • 1.1TensorFlow是什么1
  • 1.2Keras是什么3
  • 1.3TensorFlow 2.0有哪些重要的改动3
  • 1.4神经网络概述4
  • 1.5感知器5
  • 1.6多层感知器—第一个神经网络示例6
  • 1.6.1感知器训练的问题及对策6
  • 1.6.2激活函数—sigmoid函数7
  • 1.6.3激活函数—tanh函数7
  • 1.6.4激活函数—ReLU函数8
  • 1.6.5两个拓展激活函数—ELU函数和LeakyReLU函数8
  • 1.6.6激活函数总结9
  • 1.6.7神经网络到底是什么9
  • 1.7示例—识别手写数字10
  • 1.7.1独热编码10
  • 1.7.2在TensorFlow 2.0中定义一个简单的神经网络10
  • 1.7.3运行一个简单的TensorFlow 2.0神经网络并建立测试基线14
  • 1.7.4使用隐藏层改进TensorFlow 2.0的简单神经网络15
  • 1.7.5利用随机失活进一步改进Ten-sor Flow 2.0的简单神经网络18
  • 1.7.6测试TensorFlow 2.0的不同优化器19
  • 1.7.7增加epoch数24
  • 1.7.8控制优化器学习率25
  • 1.7.9增加内部隐藏神经元的数量25
  • 1.7.10增加批量计算的大小26
  • 1.7.11手写图识别实验总结26
  • 1.8正则化27
  • 1.8.1采用正则化以避免过拟合27
  • 1.8.2理解批量归一化28
  • 1.9Google Colab—CPU、GPU和TPU29
  • 1.10情感分析31
  • 1.11超参数调谐和AutoML33
  • 1.12预测输出34
  • 1.13反向传播的实用概述34
  • 1.14我们学到了什么35
  • 1.15迈向深度学习方式35
  • 1.16参考文献36
  • 第2章TensorFlow 1.x与2.x37
  • 2.1理解TensorFlow 1.x37
  • 2.1.1TensorFlow 1.x计算图程序结构37
  • 2.1.2常量、变量和占位符的使用39
  • 2.1.3操作对象示例40
  • 2.1.4TensorFlow 2.x中的TensorFlow 1.x示例43
  • 2.2理解TensorFlow 2.x44
  • 2.2.1即刻执行44
  • 2.2.2AutoGraph45
  • 2.2.3Keras API的三种编程模型47
  • 2.2.4回调49
  • 2.2.5保存模型和权重50
  • 2.2.6使用tf.data.datasets训练50
  • 2.2.7tf.keras还是估算器53
  • 2.2.8不规则张量55
  • 2.2.9自定义训练55
  • 2.2.10TensorFlow 2.x中的分布式训练56
  • 2.2.11命名空间的改动59
  • 2.2.121.x至2.x的转换59
  • 2.2.13高效使用TensorFlow 2.x59
  • 2.3TensorFlow 2.x生态系统60
  • 2.4Keras还是tf.keras61
  • 2.5小结62
  • 第3章回归64
  • 3.1什么是回归64
  • 3.2使用线性回归进行预测65
  • 3.2.1简单线性回归65
  • 3.2.2多线性回归68
  • 3.2.3多元线性回归68
  • 3.3TensorFlow Estimator69
  • 3.3.1特征列69
  • 3.3.2输入函数70
  • 3.3.3使用TensorFlow EstimatorAPI的MNIST70
  • 3.4使用线性回归预测房价71
  • 3.5分类任务和决策边界75
  • 3.5.1logistic回归75
  • 3.5.2MNIST数据集上的logistic回归76
  • 3.6小结80
  • 3.7参考文献80
  • 第4章卷积神经网络81
  • 4.1深度卷积神经网络81
  • 4.1.1局部感受野82
  • 4.1.2共享权重和偏差82
  • 4.1.3数学示例83
  • 4.1.4TensorFlow 2.x中的ConvNets83
  • 4.1.5池化层84
  • 4.2DCNN的示例—LeNet85
  • 4.2.1TensorFlow 2.0中的LeNet代码85
  • 4.2.2理解深度学习的力量90
  • 4.3通过深度学习识别CIFAR-10图像91
  • 4.3.1用更深的网络提高CIFAR-10的性能93
  • 4.3.2用数据增强提高CIFAR-10的性能95
  • 4.3.3基于CIFAR-10预测97
  • 4.4用于大规模图像识别的超深度卷积网络98
  • 4.4.1基于VGG16神经网络识别猫100
  • 4.4.2使用tf.keras内置的VGG16 Net模块101
  • 4.4.3复用预建深度学习模型以提取特征102
  • 4.5小结103
  • 4.6参考文献103
  • 第5章高级卷积神经网络104
  • 5.1计算机视觉104
  • 5.1.1复杂任务的CNN组合104
  • 5.1.2用tf.keras-estimator模型对Fashion-MNIST分类111
  • 5.1.3在GPU上运行Fashion-MNISTtf.keras-estimator模型113
  • 5.1.4用于迁移学习的Deep Inception-v3 Net114
  • 5.1.5迁移学习:分类人和马117
  • 5.1.6基于tf.keras和TensorFlow Hub的Application Zoo120
  • 5.1.7其他CNN架构121
  • 5.1.8回答有关图像的问题124
  • 5.1.9风格迁移127
  • 5.1.10创建DeepDream网络129
  • 5.1.11查看深度网络学到的内容132
  • 5.2视频133
  • 5.3文本文件134
  • 5.4音频和音乐137
  • 5.5卷积运算小结141
  • 5.5.1基本卷积神经网络141
  • 5.5.2空洞卷积141
  • 5.5.3可分离卷积141
  • 5.5.4深度卷积142
  • 5.5.5深度可分离卷积142
  • 5.6胶囊网络142
  • 5.6.1CNN有什么问题142
  • 5.6.2Capsule网络有什么新功能143
  • 5.7小结144
  • 5.8参考文献144
  • 第6章生成对抗网络146
  • 6.1什么是GAN146
  • 6.2深度卷积GAN152
  • 6.3一些有趣的GAN架构161
  • 6.3.1SRGAN161
  • 6.3.2CycleGAN162
  • 6.3.3InfoGAN164
  • 6.4GAN的出色应用165
  • 6.5TensorFlow 2.0中的CycleGAN168
  • 6.6小结177
  • 6.7参考文献177
  • 第7章词嵌入178
  • 7.1词嵌入的起源和基本原理178
  • 7.2分布式表示179
  • 7.3静态嵌入180
  • 7.3.1Word2Vec181
  • 7.3.2GloVe183
  • 7.4使用gensim创建自己的嵌入184
  • 7.5使用gensim探索嵌入空间185
  • 7.6使用词嵌入检测垃圾短信188
  • 7.6.1获取数据188
  • 7.6.2准备待用数据189
  • 7.6.3构建嵌入矩阵190
  • 7.6.4定义垃圾短信分类器192
  • 7.6.5训练和评估模型193
  • 7.6.6运行垃圾短信检测器194
  • 7.7神经嵌入—不只是单词195
  • 7.7.1Item2Vec195
  • 7.7.2node2vec196
  • 7.8字符和子词嵌入201
  • 7.9动态嵌入201
  • 7.10句子和段落嵌入203
  • 7.11基于语言模型的嵌入205
  • 7.11.1使用BERT作为特征提取器207
  • 7.11.2微调BERT208
  • 7.11.3基于BERT命令行的分类209
  • 7.11.4把BERT作为自己网络的一部分210
  • 7.12小结213
  • 7.13参考文献214
  • 第8章循环神经网络217
  • 8.1基本的RNN单元218
  • 8.1.1时间反向传播219
  • 8.1.2梯度消失和梯度爆炸221
  • 8.2RNN单元变体221
  • 8.2.1长短期记忆网络221
  • 8.2.2门控循环单元223
  • 8.2.3peephole LSTM223
  • 8.3RNN变体224
  • 8.3.1双向RNN224
  • 8.3.2有状态RNN224
  • 8.4RNN拓扑结构225
  • 8.4.1一对多—学习生成文本226
  • 8.4.2多对一—情感分析232
  • 8.4.3多对多—POS标记238
  • 8.5编码器-解码器架构—seq2seq245
  • 8.6注意力机制255
  • 8.7Transformer架构261
  • 8.8小结264
  • 8.9参考文献265
  • 第9章自编码器267
  • 9.1自编码器简介267
  • 9.2香草自编码器269
  • 9.2.1TensorFlow Keras层—定义自定义层269
  • 9.2.2使用自编码器重构手写数字271
  • 9.3稀疏自编码器274
  • 9.4降噪自编码器276
  • 9.5堆栈自编码器279
  • 9.5.1用于去除图像噪声的卷积自编码器279
  • 9.5.2Keras自编码器示例—句子向量283
  • 9.6小结290
  • 9.7参考文献290
  • 第10章无监督学习292
  • 10.1主成分分析292
  • 10.1.1MNIST数据集上的PCA293
  • 10.1.2TensorFlow嵌入式API295
  • 10.1.3k-均值聚类296
  • 10.1.4TensorFlow 2.0中的k-均值297
  • 10.1.5k-均值的变体299
  • 10.2自组织图300
  • 10.3受限玻尔兹曼机306
  • 10.3.1使用RBM重建图像307
  • 10.3.2深度信念网络310
  • 10.4变分自编码器311
  • 10.5小结316
  • 10.6参考文献316
  • 第11章强化学习318
  • 11.1概述318
  • 11.1.1强化学习术语319
  • 11.1.2深度强化学习算法321
  • 11.1.3强化学习的成功案例324
  • 11.2OpenAI Gym概述324
  • 11.3深度Q网络328
  • 11.3.1CartPole的深度Q网络329
  • 11.3.2深度Q网络玩Atari游戏333
  • 11.3.3DQN变体336
  • 11.4深度确定性策略梯度339
  • 11.5小结340
  • 11.6参考文献340
  • 第12章TensorFlow和云服务342
  • 12.1云端深度学习342
  • 12.1.1微软Azure343
  • 12.1.2AWS344
  • 12.1.3谷歌云平台346
  • 12.1.4IBM云347
  • 12.2云端虚拟机348
  • 12.2.1亚马逊上的EC2348
  • 12.2.2谷歌云平台上的计算实例349
  • 12.2.3微软Azure上的虚拟机350
  • 12.3云端的Jupyter Notebook351
  • 12.3.1SageMaker351
  • 12.3.2Google Colaboratory351
  • 12.3.3微软Azure Notebook353
  • 12.4用于生产的TensorFlow Extended354
  • 12.4.1TFX管道354
  • 12.4.2TFX管道组件355
  • 12.4.3TFX库356
  • 12.5TensorFlow企业版357
  • 12.6小结357
  • 12.7参考文献357
  • 第13章用于移动设备和物联网的TensorFlow以及Tensor-Flow.js359
  • 13.1TensorFlow Mobile359
  • 13.2TensorFlow Lite359
  • 13.2.1量化360
  • 13.2.2FlatBuffer360
  • 13.2.3Mobile转换器361
  • 13.2.4移动优化解析器361
  • 13.2.5支持平台361
  • 13.2.6架构361
  • 13.2.7使用TensorFlow Lite362
  • 13.2.8应用程序的一个通用示例362
  • 13.2.9使用GPU和加速器363
  • 13.2.10应用程序示例363
  • 13.3TensorFlow Lite中的预训练模型365
  • 13.3.1图片分类366
  • 13.3.2物体检测367
  • 13.3.3姿势估计367
  • 13.3.4智能回复367
  • 13.3.5分割367
  • 13.3.6风格迁移367
  • 13.3.7文本分类367
  • 13.3.8问答368
  • 13.3.9使用移动GPU的注意事项368
  • 13.4边缘联合学习概述369
  • 13.5TensorFlow.js372
  • 13.5.1普通TensorFlow.js372
  • 13.5.2模型转换378
  • 13.5.3预训练模型378
  • 13.5.4Node.js379
  • 13.6小结380
  • 13.7参考文献380
  • 第14章AutoML简介382
  • 14.1什么是AutoML382
  • 14.2实现AutoML383
  • 14.3自动数据准备383
  • 14.4自动特征工程384
  • 14.5自动模型生成384
  • 14.6AutoKeras386
  • 14.7Google Cloud AutoML387
  • 14.7.1使用Cloud AutoML—Tables解决方案387
  • 14.7.2使用Cloud AutoML—Vision解决方案397
  • 14.7.3使用Cloud AutoML— Text Classfication解决方案405
  • 14.7.4使用Cloud AutoML—Translation解决方案408
  • 14.7.5使用Cloud AutoML—Video Intelligence Classifi-cation解决方案413
  • 14.7.6费用419
  • 14.8将Google AutoML集成到Kaggle419
  • 14.9小结420
  • 14.10参考文献420
  • 第15章深度学习相关的数学知识422
  • 15.1历史422
  • 15.2数学工具422
  • 15.2.1随处可见的导数和梯度423
  • 15.2.2梯度下降424
  • 15.2.3链式法则424
  • 15.2.4一些微分规则425
  • 15.2.5矩阵运算425
  • 15.3激活函数425
  • 15.3.1sigmoid函数的导数426
  • 15.3.2tanh函数的导数426
  • 15.3.3ReLU函数的导数427
  • 15.4反向传播427
  • 15.4.1前向步骤429
  • 15.4.2反向步骤429
  • 15.4.3反向传播的局限性434
  • 15.4.4交叉熵及其导数435
  • 15.4.5批量梯度下降、随机梯度下降和小批量436
  • 15.5关于反向传播和卷积的思考437
  • 15.6关于反向传播和RNN的思考438
  • 15.7关于TensorFlow和自动区分的说明440
  • 15.8小结440
  • 15.9参考文献441
  • 第16章张量处理单元442
  • 16.1CPU、GPU与TPU442
  • 16.1.1CPU和GPU442
  • 16.1.2TPU443
  • 16.2三代TPU和边缘TPU444
  • 16.2.1第一代TPU444
  • 16.2.2第二代TPU447
  • 16.2.3第三代TPU447
  • 16.2.4边缘TPU448
  • 16.3TPU性能448
  • 16.4如何在Colab中使用TPU449
  • 16.4.1检查TPU是否可用450
  • 16.4.2用tf.data加载数据450
  • 16.4.3建立模型并将其加载到TPU中451
  • 16.5使用预训练的TPU模型453
  • 16.6使用TensorFlow 2.1和夜间版455
  • 16.7小结456
  • 16.8参考文献457

资源下载

资源下载地址1:https://pan.baidu.com/s/1gS64Xyoak1uE9NIZo6DgSQ

相关资源

网友留言