现代的机器学习系统均利用大量的数据,利用梯度下降算法或者相关的变体进行训练。传统上,最早出现的优化算法是SGD,之后又陆续出现了AdaGrad、RMSprop、ADAM等变体,那么这些算法之间又有哪些区别和联系呢?本文试图对比的介绍目前常用的基于一阶梯度的优化算法,并给出它们的(PyTorch)实现。SGD算法描述随机梯度下降法(Stochastic Gradient Descent,SGD)是对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 16:15:13
                            
                                188阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、Pytorch介绍Pytorch 是Torch在Python上的衍生物和Tensorflow相比:Pytorch建立的神经网络是动态的,而Tensorflow建立的神经网络是静态的Tensorflow的高度工业化,它的底层代码很难看懂Pytorch主要有两个模块:一个是torch,一个是torchvision,torch是主模块,用来搭建神经网络。torchvision是辅模块,有数据库,还有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-06 17:36:08
                            
                                211阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Pytorch在1.9.0引入了torchrun,用其替代1.9.0以前版本的torch.distributed.launch。torchrun在torch.distributed.launch 功能的基础上主要新增了两个功能:Failover: 当worker训练失败时,会自动重新启动所有worker继续进行训练;Elastic: 可以动态增加或或删除node节点;弹性训练代码同DDP代码编写的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-23 13:28:46
                            
                                460阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录    几种常见的normalization方法         基本知识         数学原理         Batch Normalizati            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-09 09:31:53
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录1.前言2. __setattr__魔法方法3. 遍历Module4.遍历parameter5. 遍历Module并进行某种操作(apply)6. 遍历parameter并进行某种操作(_apply)总结1.前言虽然说是源码分析,但其实主要还是分析Module的的数据结构,即一些比较重要的成员变量和成员函数。同时也不会涉及Pytorch的C++部分。Module是Pytorch中一个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-13 22:37:08
                            
                                117阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # PyTorch DDP 原理解析
在深度学习中,数据并行性是提升模型训练速度的一个关键方法。PyTorch 的分布式训练功能为使用多个 GPU 或多个机器来训练模型提供了一个有效的解决方案,其中最重要的一个工具就是 Distributed Data Parallel (DDP)。在这篇文章中,我们将深入探讨 DDP 的原理和实现步骤。
## 整体流程
以下是使用 PyTorch DDP            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-10 05:57:55
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现"pytorch resize"原理
## 一、流程概述
在PyTorch中,resize操作用于调整张量的大小。下面是实现"pytorch resize"的流程表格:
```mermaid
pie
    title PyTorch Resize实现流程
    "理解resize原理" : 30
    "查阅PyTorch文档" : 20
    "编写代码实现" : 40            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-01 05:38:57
                            
                                161阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             文章目录优化问题梯度下降随机梯度下降 在线性模型训练的时候,一开始并不知道w的最优值是什么,可以使用一个随机值来作为w的初始值,使用一定的算法来对w进行更新优化问题寻找使得目标函数最优的权重组合的问题就是优化问题梯度下降通俗的讲,梯度下降就是使得梯度往下降的方向,也就是负方向走。一般来说,梯度往正方向走,表示梯度大于0,,表示函数是往递增方向走,而这里需要的是找最低点,最低点一定是在往下走,所以            
                
         
            
            
            
            # PyTorch Shuffle原理解析
在深度学习和图像处理领域,数据的随机化处理是非常重要的一步,这不仅可以增强模型的泛化能力,还可以帮助模型更好地学习特征。在PyTorch中,我们常常使用`torch.utils.data.DataLoader`类来实现数据的批量读取,而在读取数据时,设置`shuffle=True`可以实现数据的随机化。本文将深入探讨PyTorch中的数据洗牌原理,并提            
                
         
            
            
            
            PyTorch 是一个流行的深度学习框架,广泛应用于计算机视觉、自然语言处理等领域。在训练出高效的模型后,推理(Inference)阶段是将这些模型投入实际应用的关键环节。本文将围绕 **PyTorch 推理原理** 进行详细解析,包括背景、技术原理、架构解析、源码分析、性能优化和应用场景。
> **背景:**
> 随着人工智能技术的发展,深度学习模型在各个领域得到了广泛应用,尤其是图像识别、语            
                
         
            
            
            
            PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解Nvidia 在 Volta 架构中引入 Tensor Core 单元,来支持 FP32 和 FP16 混合精度计算。也在 2018 年提出一个 PyTorch 拓展 apex,来支持模型参数自动混合精度训练。自动混合精度(Automatic Mixed Precision, AMP)训练,是在训练一个数值精度 FP32            
                
         
            
            
            
            方法从零开始实现定义模型参数网络评估函数优化方法定义损失函数数据提取与训练评估pytorch简洁实现小结针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的变体,本文提高的丢弃法特指倒置丢弃法(inverted dorpout)。方法在会议多层感知机的图3.3描述了一个单隐藏层的多层感知机。其中输入个数为4,隐藏单元个数为5,且隐藏单元$h_(1,2,3,4,5)$的计算表            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-07 15:46:50
                            
                                133阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            记录下安装anaconda并配置GPU版本的pytorch1.清华镜像安装anaconda1.1安装地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 1.2选择适宜版本: 以Windows11为例,我下载的是3.5.3.1版本64位的,即图中最后一个。2.安装anaconda2.1直接打开安装好的文件,根据指示一步步安装。(我忘记截            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 15:04:11
                            
                                120阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             PyTorch 是由 Facebook 发布的深度学习框架,旨在为研究人员和工程师提供快速、灵活和简单的实验平台。与其他框架相比,PyTorch 具有简洁的 API 和灵活的动态计算图,使得构建和训练深度神经网络变得更加优雅和简洁。本文将介绍 PyTorch 的基本原理和使用方法,以及如何在 PyTorch 中实现常见的深度学习模型。PyTorch 的基本原理PyTorch 的核心是张            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-04 11:46:59
                            
                                208阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            pytorch框架的详细介绍与应用一.pytorch概述1.pytorch概念2.pytorch与tensorflow的区别3.pytorch包含的内容1. overview2. 自定义 Module二.pytorch常用模块  最近小阿奇在搭建模型的时候,发现pytorch框架十分的方便好用。所以特地整理了这个帖子,帮助自己捋一下思路打个基础,也方便大家交流学习。很用心的一篇博客哦~ 一.py            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 15:03:27
                            
                                1157阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言:Pytorch是目前学术界使用较为广泛的一种深度学习框架,要想能够熟练使用这个工具,就需要对它有一个全面系统的了解,本专栏就是为了带领大家系统地梳理Pytorch工具中的一些重要知识点,欢迎各位读者批评指正。目录1、Pytorch的动态图机制 2、Pytorch结构分析2.1 torch2.2 torchvision1、Pytorch的动态图机制    &nbs            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 11:22:17
                            
                                131阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                torch.utils.data.DataLoader是Pytorch中数据读取的一个重要接口,其在dataloader.py中定义,基本上只要是用oytorch来训练模型基本都会用到该接口,该接口主要用来将自定义的数据读取接口的输出或者PyTorch已有的数据读取接口的输入按照batch size封装成Tensor,后续只需要再包装成Variable即可作为模型的输入            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-26 16:42:18
                            
                                356阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            torch.optim是一个用于实现优化算法的包,支持常见的优化算法。本文介绍一下这个包下面的一些常见内容,如optimizer和lr_scheduler的构造和使用。optimizeroptimizer用于根据已得到的梯度来更新网络参数。 optimizer(优化器)的构造: 构造优化器需要传入一个包含要学习参数的迭代器,此外还有一些学习策略参数如学习率等。 以常用的两个优化器SGD和Adam为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-19 21:57:30
                            
                                153阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             目录一、基础概念二、创建数据集常用的方法2.1 使用 torch.utils.data.TensorDataset创建数据集2.2 使用torchvision.datasets.ImageFolder创建图片数据集2.3 继承torch.utils.data.Dataset创建自定义数据集三、Dataset的介绍和使用3.1 Dataset的介绍3.2 Dataset的核心接口3.3 Datas            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-11 09:55:04
                            
                                124阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            首先聊一聊个人对于Pytorch为什么使用dataloder这一机制的理解:在没有用pytorch之前,我读取数据一般时写一个load_data的函数,在里面导入数据,做一些数据预处理,这一部分就显得很烦索。对于深度学习来说,还得考虑batch的读取、GPU的使用、数据增强、数据乱序读取等等,所以需要有一个模块来集中解决这些事情,所以就有了data_loader的机制本篇文章主要解决以下三个问题:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 19:09:29
                            
                                179阅读