随笔分类 - 001_机器学习
摘要:本文是PyTorch分布式的第8篇,工欲善其事,必先利其器,为了更好的分析代码,我们先来学习一下相关论文。
阅读全文
摘要:本文是 PyTorch 分布式系列的第七篇, 介绍 DistributedDataParallel 所依赖的进程组概念。
阅读全文
摘要:本文是 PyTorch 分布式系列的第六篇, 介绍 DistributedDataParallel 所依赖的初始化方法和Store这两个概念。
阅读全文
摘要:本文是 PyTorch 分布式系列的第五篇,以几篇官方文档的翻译为基础,带领大家进入DistributedDataParallel,在后续会用5~6篇左右做深入分析。
阅读全文
摘要:本文以 PyTorch 官方文档 https://pytorch.org/tutorials/intermediate/dist_tuto.html 为基础,对如何编写分布式进行了介绍,并且加上了自己的理解。
阅读全文
摘要:本文是 PyTorch 分布式的第三篇,继续上文,介绍 DataPrallel 的并行操作和反向传播。
阅读全文
摘要:从本文开始,我们介绍 PyTorch 的数据并行,本文是第一篇,介绍 DataPrallel,因为字数太多(1万两千多字,因此拆分成两篇文章发布)。
阅读全文
摘要:在 PyTorch DataParallel 训练过程中,其会在多个GPU之上复制模型副本,然后才开始训练。笔者在分析过程中,发现如果不把一些GPU相关基础知识整理出来,很难理解DataParallel的这个复制模型的过程,遂有此文。
阅读全文
摘要:本文主要在对PyTorch官方文档的翻译之上加入了自己的理解,希望给大家一个PyTorch分布式的历史脉络和基本概念,有兴趣的朋友可以仔细研究一下历史,看看一个机器学习系统如何一步一步进入分布式世界 / 完善其功能。
阅读全文
摘要:前文中我们介绍了反向传播引擎的动态逻辑,因为具体反向传播算法是在设备线程中完成的,所以我们单独用一章来讲解。
阅读全文
摘要:前文我们提到了 autograd 引擎的静态架构,本文开始我们从动态角度看看引擎是如何运作的。
阅读全文
摘要:前文最终我们提到了如下代码就是调用引擎来进行反向传播,本文我们首先从静态角度来看引擎,就是看看其数据结构和静态性质。
阅读全文
摘要:本系列将通过大概十篇左右文章来分析 PyTorch 的自动微分功能如何实现。本文是后向传播的第一篇,介绍调用流程:如何从 Python 代码进入到 C++ autograd 引擎。
阅读全文
摘要:本系列将通过大概十篇左右文章来分析 PyTorch 的自动微分功能如何实现。本文是前向传播的第三篇,介绍具体实现机制。
阅读全文
摘要:本系列将通过大概十篇左右文章来分析 PyTorch 的自动微分功能如何实现。本文是前向传播的第二篇,介绍自动微分(梯度计算)所涉及的部分 PyTorch 基础类。因为字数太多(1万两千字),所以拆分成上下两篇。
阅读全文
摘要:本系列将通过大概十篇左右文章来分析 PyTorch 的自动微分功能如何实现。本文是前向传播的第一篇,介绍自动微分(梯度计算)所涉及的部分 PyTorch 基础类。因为字数太多(1万两千字),所以拆分成上下两篇。
阅读全文
摘要:本文从 PyTorch 两篇官方文档开始为大家解读两个示例。本文不会逐句翻译,而是选取重点并且试图加入自己的理解。
阅读全文
摘要:本文和上文以 [Automatic Differentiation in Machine Learning: a Survey](https://arxiv.org/pdf/1502.05767.pdf )为基础,逐步分析自动微分这个机器学习的基础利器。
阅读全文
摘要:本文和下文以 Automatic Differentiation in Machine Learning: a Survey 这篇论文为基础,逐步分析自动微分这个机器学习的基础利器。
阅读全文
摘要:前几篇文章我们介绍了 PyTorch 流水线并行的基本知识,自动平衡机制和切分数据等,本文我们结合论文内容来看看如何实现流水线依赖,核心就是如何建立这些小批次之间的跨设备依赖关系。
阅读全文