本篇主要提供Python深度学习:基于PyTorch第2版电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
(1)作者经验丰富:核心作者在大数据和人工智能领域有着超过20年的工作经验,实战经验 丰富,其他几位作者也在大数据和人工智能领域颇有造诣。 (2)畅销书全面升级: 版销量和口碑俱佳,是深度学习领域的畅销书,第2版根据PyTorch新版本升级,技术性、实战性、针对性、易读性进一步提升。 (3)PyTorch领域事实标准:因为内容扎实、可读性强, 版被读者誉为PyTorch领域的标准著作,是读者的 。 (4)深度学习双子星:本书是《Python深度学习:基于TensorFlow(第2版)》的姊妹篇,这两本书均是深度学习领域的畅销书。 (5)精心谋划、通俗易懂:本书在内容的选择、安排和表现形式上精心谋划,目的是确保高质量内容的同时,让深度学习的学习门槛大大降低。
这是一本能指导读者快速掌握PyTorch和深度学习的著作,从PyTorch的原理到应用,从深度学习到强化学习,本书提供了全栈解决方案。<br /> 版上市后销量和口碑俱佳,是深度学习领域的畅销书,被誉为PyTorch领域的标准著作。第2版在 版的基础上,去芜存菁,与时具进,根据PyTorch新版本全面升级,技术性、实战性、针对性、丰富性、易读性均得到了进一步提升,必定能帮助读者 轻松、 高效地进入深度学习的世界。<br />全书一共19章,在结构上分为三大部分:<br /> 部分( ~4章) PyTorch基础<br />首先有针对性地讲解了Python和PyTorch的基石NumPy中的关键知识,然后详细讲解了PyTorch的基础知识、神经网络工具箱和数据处理工具箱等内容,帮助读者快速了解和掌握PyTorch。<br />第二部分(第5~10章) 深度学习基础<br />依次讲解了机器学习、视觉处理、自然语言处理、注意力机制、目标检测、语义分割、生成式深度学习等机器学习和深度学习的核心技术的原理和使用。<br />第三部分( 1~17章) 深度学习实践<br />通过实战案例的方式,详细讲解了PyTorch在人脸检测和识别、迁移学习、中英文互译、图像分类、语义分割、生成式网络、对抗攻击等领域的应用和解决方案。<br />第四部分( 8-19章) 强化学习<br />重点介绍了强化学习和深度强化学习的基础理论、常用算法及相关实例。<br /> 为重要的是,为了让本书通俗易懂,在内容安排和写作方式上也颇花了一番心思。内容选择上,广泛涉猎、重点突出、注重实战;内容安排上,实例切入、由浅入深、循序渐进;表达形式上,深度抽象、化繁为简、用图说话。<br />
吴茂贵 <br /> 大数据和人工智能技术专家,在BI、数据挖掘与分析、数据仓库、机器学习等领域工作超过20年。在基于Spark、TensorFlow、PyTorch等的机器学习和深度学习方面有大量的工程实践实践。著有《Python深度学习:基于TensorFlow》、《深度实践Spark机器学习》、《自己动手做大数据系统》、《深入浅出Embedding原理解析与应用实践》等畅销书。<br /><br />郁明敏 <br /> 商业分析师,从事互联网金融算法研究工作,专注于大数据、机器学习以及数据可视化的相关领域,擅长 Python、Hadoop、Spark 等技术,拥有丰富的实战经验。曾获“江苏省TI杯大学生电子竞技大赛”二等奖和“华为杯全国大学生数学建模大赛”二等奖。<br /><br />杨本法 <br /> 算法工程师,工业表面缺陷检测设备开发架构师,在机器学习、文本挖掘、可视化等领域有多年实践经验。做过大型电商的 系统,知名手机厂商外壳表面检测设备。熟悉Hadoop、Spark生态圈的相关技术,对Python有丰富的实战经验。<br /><br />李涛 <br /> AI技术工程师,任职于携程(上海)科技有限公司,负责酒店排序 相关项目的数据分析和算法开发,在计算机视觉技术和搜索 系统有深刻的理解和丰富的实践经验。<br /><br />张粤磊<br />国云大数据学院院长,飞谷云创始人,毕业于中国科技大学,原平安壹钱包大数据架构师。业内知名大数据专家,多部大数据畅销书作者。2016年以来每年都以 专家和咨询顾问身份深入参与大数据、人工智能技术在行业的落地应用。<br />
前言<br /> 版前言<br /> 部分 PyTorch基础<br />第1章 NumPy基础知识2<br />1.1 生成NumPy数组3<br />1.1.1 数组属性4<br />1.1.2 利用已有数据生成数组4<br />1.1.3 利用 random 模块生成数组5<br />1.1.4 生成特定形状的多维数组7<br />1.1.5 利用arange、linspace <br /> 函数生成数组8<br />1.2 读取数据9<br />1.3 NumPy的算术运算11<br />1.3.1 逐元素操作11<br />1.3.2 点积运算12<br />1.4 数组变形13<br />1.4.1 修改数组的形状13<br />1.4.2 合并数组16<br />1.5 批处理19<br />1.6 节省内存20<br />1.7 通用函数21<br />1.8 广播机制23<br />1.9 小结24<br />第2章 PyTorch基础知识25<br />2.1 为何选择PyTorch25<br />2.2 PyTorch的安装配置26<br />2.2.1 安装CPU版PyTorch26<br />2.2.2 安装GPU版PyTorch28<br />2.3 Jupyter Notebook环境配置30<br />2.4 NumPy与Tensor31<br />2.4.1 Tensor概述31<br />2.4.2 创建Tensor32<br />2.4.3 修改Tensor形状34<br />2.4.4 索引操作35<br />2.4.5 广播机制35<br />2.4.6 逐元素操作36<br />2.4.7 归并操作37<br />2.4.8 比较操作37<br />2.4.9 矩阵操作38<br />2.4.10 PyTorch与NumPy比较39<br />2.5 Tensor与autograd39<br />2.5.1 自动求导要点40<br />2.5.2 计算图40<br />2.5.3 标量反向传播41<br />2.5.4 非标量反向传播42<br />2.5.5 切断一些分支的反向传播45<br />2.6 使用NumPy实现机器学习任务47<br />2.7 使用Tensor及autograd实现机器<br /> 学习任务49<br />2.8 使用优化器及自动微分实现机器<br /> 学习任务51<br />2.9 把数据集转换为带批量处理功能的<br /> 迭代器52<br />2.10 使用TensorFlow 2实现机器<br /> 学习任务54<br />2.11 小结55<br />第3章 PyTorch神经网络工具箱56<br />3.1 神经网络核心组件56<br />3.2 构建神经网络的主要工具57<br />3.2.1 nn.Module57<br />3.2.2 nn.functional58<br />3.3 构建模型59<br />3.3.1 继承nn.Module基类构建模型59<br />3.3.2 使用nn.Sequential按层<br /> 顺序构建模型60<br />3.3.3 继承nn.Module基类并应用<br /> 模型容器来构建模型63<br />3.3.4 自定义网络模块66<br />3.4 训练模型68<br />3.5 实现神经网络实例69<br />3.5.1 背景说明69<br />3.5.2 准备数据70<br />3.5.3 可视化源数据71<br />3.5.4 构建模型72<br />3.5.5 训练模型72<br />3.6 小结74<br />第4章 PyTorch数据处理工具箱75<br />4.1 数据处理工具箱概述75<br />4.2 utils.data76<br />4.3 torchvision78<br />4.3.1 transforms78<br />4.3.2 ImageFolder79<br />4.4 可视化工具81<br />4.4.1 TensorBoard简介81<br />4.4.2 用TensorBoard可视化<br /> 神经网络82<br />4.4.3 用TensorBoard可视化损失值83<br />4.4.4 用TensorBoard可视化特征图84<br />4.5 小结85<br />第二部分 深度学习基础<br />第5 章 机器学习基础88<br />5.1 机器学习的基本任务88<br />5.1.1 监督学习89<br />5.1.2 无监督学习89<br />5.1.3 半监督学习90<br />5.1.4 强化学习90<br />5.2 机器学习的一般流程90<br />5.2.1 明确目标91<br />5.2.2 收集数据91<br />5.2.3 数据探索与预处理91<br />5.2.4 选择模型及损失函数91<br />5.2.5 评估及优化模型92<br />5.3 过拟合与欠拟合93<br />5.3.1 权重正则化93<br />5.3.2 dropout正则化94<br />5.3.3 批量归一化97<br />5.3.4 层归一化99<br />5.3.5 权重初始化99<br />5.4 选择合适的激活函数100<br />5.5 选择合适的损失函数101<br />5.6 选择合适的优化器103<br />5.6.1 传统梯度优化算法104<br />5.6.2 批量随机梯度下降法105<br />5.6.3 动量算法106<br />5.6.4 Nesterov动量算法108<br />5.6.5 AdaGrad算法109<br />5.6.6 RMSProp算法111<br />5.6.7 Adam算法112<br />5.6.8 Yogi算法113<br />5.6.9 使用优化算法实例114<br />5.7 GPU加速116<br />5.7.1 单GPU加速116<br />5.7.2 多GPU加速117<br />5.7.3 使用GPU时的注意事项120<br />5.8 小结121<br />第6章 视觉处理基础122<br />6.1 从全连接层到卷积层122<br />6.1.1 图像的两个特性123<br />6.1.2 卷积神经网络概述124<br />6.2 卷积层125<br />6.2.1 卷积核127<br />6.2.2 步幅129<br />6.2.3 填充130<br />6.2.4 多通道上的卷积131<br />6.2.5 激活函数134<br />6.2.6 卷积函数135<br />6.2.7 转置卷积136<br />6.2.8 特征图与感受野137<br />6.2.9 全卷积网络138<br />6.3 池化层139<br />6.3.1 局部池化140<br />6.3.2 全局池化140<br />6.4 现代经典网络142<br />6.4.1 LeNet-5模型142<br />6.4.2 AlexNet模型143<br />6.4.3 VGG模型143<br />6.4.4 GoogLeNet模型144<br />6.4.5 ResNet模型145<br />6.4.6 DenseNet模型146<br />6.4.7 CapsNet模型148<br />6.5 使用卷积神经网络实现CIFAR10<br /> 多分类149<br />6.5.1 数据集说明149<br />6.5.2 加载数据149<br />6.5.3 构建网络151<br />6.5.4 训练模型151<br />6.5.5 测试模型152<br />6.5.6 采用全局平均池化153<br />6.5.7 像Keras一样显示各层参数154<br />6.6 使用模型集成方法提升性能156<br />6.6.1 使用模型156<br />6.6.2 集成方法157<br />6.6.3 集成效果158<br />6.7 使用现代经典模型提升性能158<br />6.8 小结159<br />第7章 自然语言处理基础160<br />7.1 从语言模型到循环神经网络160<br />7.1.1 链式法则161<br />7.1.2 马可夫假设与N元语法模型161<br />7.1.3 从N元语法模型到隐含<br /> 状态表示161<br />7.1.4 从神经网络到有隐含状态的<br /> 循环神经网络162<br />7.1.5 使用循环神经网络构建<br /> 语言模型164<br />7.1.6 多层循环神经网络164<br />7.2 正向传播与随时间反向传播165<br />7.3 现代循环神经网络167<br />7.3.1 LSTM168<br />7.3.2 GRU169<br />7.3.3 Bi-RNN169<br />7.4 循环神经网络的PyTorch实现170<br />7.4.1 使用PyTorch实现RNN170<br />7.4.2 使用PyTorch实现LSTM172<br />7.4.3 使用PyTorch实现GRU174<br />7.5 文本数据处理175<br />7.6 词嵌入176<br />7.6.1 Word2Ve原理177<br />7.6.2 CBOW模型177<br />7.6.3 Skip-Gram模型178<br />7.7 使用PyTorch实现词性判别179<br />7.7.1 词性判别的主要步骤179<br />7.7.2 数据预处理180<br />7.7.3 构建网络180<br />7.7.4 训练网络181<br />7.7.5 测试模型182<br />7.8 用LSTM预测股票行情183<br />7.8.1 导入数据183<br />7.8.2 数据概览183<br />7.8.3 预处理数据184<br />7.8.4 定义模型185<br />7.8.5 训练模型185<br />7.8.6 测试模型186<br />7.9 几种特殊架构187<br />7.9.1 编码器-解码器架构187<br />7.9.2 Seq2Seq架构189<br />7.10 循环神经网络应用场景189<br />7.11 小结190<br />第8章 注意力机制191<br />8.1 注意力机制概述191<br />8.1.1 两种常见注意力机制192<br />8.1.2 来自生活的注意力192<br />8.1.3 注意力机制的本质192<br />8.2 带注意力机制的编码器-解码器架构194<br />8.2.1 引入注意力机制194<br />8.2.2 计算注意力分配概率分布值196<br />8.3 Transformer198<br />8.3.1 Transformer的顶层设计198<br />8.3.2 编码器与解码器的输入200<br />8.3.3 自注意力200<br />8.3.4 多头注意力203<br />8.3.5 自注意力与循环神经网络、<br /> 卷积神经网络的异同204<br />8.3.6 加深Transformer网络层的<br /> 几种方法205<br />8.3.7 如何进行自监督学习205<br />8.3.8 Vision Transformer207<br />8.3.9 Swin Transformer208<br />8.4 使用PyTorch实现Transformer213<br />8.4.1 Transformer背景介绍214<br />8.4.2 构建EncoderDecoder214<br />8.4.3 构建编码器215<br />8.4.4 构建解码器218<br />8.4.5 构建多头注意力219<br />8.4.6 构建前馈神经网络层221<br />8.4.7 预处理输入数据222<br />8.4.8 构建完整网络224<br />8.4.9 训练模型225<br />8.4.10 实现一个简单实例228<br />8.5 小结230<br />第9章 目标检测与语义分割231<br />9.1 目标检测及主要挑战231<br />9.1.1 边界框的表示232<br />9.1.2 手工标注图像的真实值233<br />9.1.3 主要挑战236<br />9.1.4 选择性搜索236<br />9.1.5 锚框237<br />9.1.6 RPN239<br />9.2 优化候选框的几种算法240<br />9.2.1 交并比240<br />9.2.2 非极大值抑制240<br />9.2.3 边框回归241<br />9.2.4 SPP-Net243<br />9.3 典型的目标检测算法244<br />9.3.1 R-CNN244<br />9.3.2 Fast R-CNN245<br />9.3.3 Faster R-CNN245<br />9.3.4 Mask R-CNN246<br />9.3.5 YOLO247<br />9.3.6 各种算法的性能比较248<br />9.4 语义分割249<br />9.5 小结250<br /> 0章 生成式深度学习251<br />10.1 用变分自编码器生成图像251<br />10.1.1 自编码器251<br />10.1.2 变分自编码器252<br />10.1.3 用变分自编码器生成图像实例253<br />10.2 GAN简介256<br />10.2.1 GAN的架构256<br />10.2.2 GAN的损失函数257<br />10.3 用GAN生成图像257<br />10.3.1 构建判别器258<br />10.3.2 构建生成器258<br />10.3.3 训练模型258<br />10.3.4 可视化结果259<br />10.4 VAE与GAN的异同260<br />10.5 CGAN260<br />10.5.1 CGAN的架构261<br />10.5.2 CGAN的生成器261<br />10.5.3 CGAN的判别器262<br />10.5.4 CGAN的损失函数262<br />10.5.5 CGAN的可视化262<br />10.5.6 查看 标签的数据263<br />10.5.7 可视化损失值263<br />10.6 DCGAN264<br />10.7 提升GAN训练效果的技巧265<br />10.8 小结266<br />第三部分 深度学习实战<br /> 1章 人脸检测与识别实例268<br />11.1 人脸检测与识别的一般流程268<br />11.2 人脸检测269<br />11.2.1 目标检测269<br />11.2.2 人脸定位269<br />11.2.3 人脸对齐270<br />11.2.4 MTCNN算法270<br />11.3 特征提取与人脸识别271<br />11.4 使用PyTorch实现人脸检测与识别276<br />11.4.1 验证检测代码277<br />11.4.2 检测图像277<br />11.4.3 检测后进行预处理278<br />11.4.4 查看检测后的图像278<br />11.4.5 人脸识别279<br />11.5 小结279<br /> 2章 迁移学习实例280<br />12.1 迁移学习简介280<br />12.2 特征提取281<br />12.2.1 PyTorch提供的预处理模块282<br />12.2.2 特征提取实例283<br />12.3 数据增强285<br />12.3.1 按比例缩放286<br />12.3.2 裁剪286<br />12.3.3 翻转287<br />12.3.4 改变颜色287<br />12.3.5 组合多种增强方法287<br />12.4 微调实例288<br />12.4.1 数据预处理288<br />12.4.2 加载预训练模型289<br />12.4.3 修改分类器289<br />12.4.4 选择损失函数及优化器289<br />12.4.5 训练及验证模型290<br />12.5 清除图像中的雾霾290<br />12.6 小结293<br /> 3章 神经网络机器翻译实例294<br />13.1 使用PyTorch实现带注意力的<br /> 解码器294<br />13.1.1 构建编码器294<br />13.1.2 构建解码器295<br />13.1.3 构建带注意力的解码器295<br />13.2 使用注意力机制实现中英文互译297<br />13.2.1 导入需要的模块297<br />13.2.2 数据预处理298<br />13.2.3 构建模型300<br />13.2.4 训练模型302<br />13.2.5 测试模型303<br />13.2.6 可视化注意力304<br />13.3 小结305<br /> 4章 使用ViT进行图像分类306<br />14.1 项目概述306<br />14.2 数据预处理306<br />14.3 生成输入数据308<br />14.4 构建编码器模型310<br />14.5 训练模型313<br />14.6 小结314<br /> 5章 语义分割实例315<br />15.1 数据概览315<br />15.2 数据预处理316<br />15.3 构建模型319<br />15.4 训练模型322<br />15.5 测试模型325<br />15.6 保存与恢复模型326<br />15.7 小结326<br /> 6章 生成模型实例327<br />16.1 Deep Dream模型327<br />16.1.1 Deep Dream原理327<br />16.1.2 Deep Dream算法的流程328<br />16.1.3 使用PyTorch实现<br /> Deep Dream329<br />16.2 风格迁移331<br />16.2.1 内容损失332<br />16.2.2 风格损失333<br />16.2.3 使用PyTorch实现神经<br /> 网络风格迁移335<br />16.3 使用PyTorch实现图像修复339<br />16.3.1 网络结构339<br />16.3.2 损失函数340<br />16.3.3 图像修复实例340<br />16.4 使用PyTorch实现DiscoGAN342<br />16.4.1 DiscoGAN架构343<br />16.4.2 损失函数344<br />16.4.3 DiscoGAN实现345<br />16.4.4 使用PyTorch实现<br /> DiscoGAN实例346<br />16.5 小结348<br /> 7章 AI新方向:对抗攻击349<br />17.1 对抗攻击简介349<br />17.1.1 白盒攻击与黑盒攻击350<br />17.1.2 无目标攻击与有目标攻击350<br />17.2 常见对抗样本生成方式350<br />17.2.1 快速梯度符号算法351<br />17.2.2 快速梯度算法351<br />17.3 使用PyTorch实现对抗攻击351<br />17.3.1 实现无目标攻击351<br />17.3.2 实现有目标攻击354<br />17.4 对抗攻击和防御方法355<br />17.4.1 对抗攻击355<br />17.4.2 常见防御方法分类355<br />17.5 小结356<br /> 8章 强化学习357<br />18.1 强化学习简介357<br />18.2 Q-Learning算法原理359<br />18.2.1 Q-Learning算法的主要流程359<br />18.2.2 Q函数360<br />18.2.3 贪婪策略360<br />18.3 使用PyTorch实现Q-Learning算法361<br />18.3.1 定义Q-Learning主函数361<br />18.3.2 运行Q-Learning算法362<br />18.4 SARSA 算法362<br />18.4.1 SARSA算法的主要步骤362<br />18.4.2 使用PyTorch实现SARSA<br /> 算法363<br />18.5 小结364<br /> 9章 深度强化学习365<br />19.1 DQN算法原理365<br />19.1.1 Q-Learning方法的局限性366<br />19.1.2 用深度学习处理强化学习<br /> 需要解决的问题366<br />19.1.3 用DQN算法解决问题366<br />19.1.4 定义损失函数366<br />19.1.5 DQN的经验回放机制367<br />19.1.6 目标网络367<br />19.1.7 网络模型367<br />19.1.8 DQN算法实现流程367<br />19.2 使用PyTorch实现 DQN算法368<br />19.3 小结371<br />附录A PyTorch 0.4版本变 372<br />附录B AI在各行业的 应用377<br />附录C einops及einsum简介383