撰写于:  浏览:306 次  分类:PyTorch 教程
在使用PyTorch进行深度学习开发时,很多开发者可能会遇到这样一个错误:TypeError:cannot assign torch.FloatTensor as parameter weight (torch.nn.Parameter or None expected)。这个错误通常发生在我们试图直接将一个普通张量赋值给模型参数的权重时。PyTo[...]

撰写于:  浏览:240 次  分类:PyTorch 教程
在反向传播的训练中,经常碰到这样的错误提示:RuntimeError: grad can be implicitly created only for scalar outputs因为我们的输出不是标量,无法反向求导。PyTorch在求导的过程中,分为下面两种情况:(1)标量对向量求导(2)(向量)矩阵对(向量)矩阵求导当面对向量对向量求导的过程中[...]

撰写于:  浏览:238 次  分类:PyTorch 教程
1、orthogonal简介torch.nn.utils.parametrizations.orthogonal模块是PyTorch库中的一个功能,用于对神经网络中的矩阵或一批矩阵应用正交或酉参数化。这种技术主要用于优化网络权重的表示,使其保持正交或酉性质,从而有助于提高网络的训练稳定性和性能。其用途主要有三种:(1)保持网络权重的正交性或酉性,以[...]

撰写于:  浏览:228 次  分类:PyTorch 教程
梯度消失如果导数小于1,那么随着网络层数的增加,梯度更新信息会朝着指数衰减的方式减少这就是梯度消失。梯度消失时,越靠近输入层的参数越是几乎纹丝不动。梯度爆炸在反向传播过程中需要对激活函数进行求导,如果导数大于1,那么随着网络层数的增加,梯度更新将会朝着指数爆炸的方式增加。梯度爆炸时,越是靠近输入层的参数越是上蹿下跳。原因分析二者问题问题都是因为网络[...]

撰写于:  浏览:214 次  分类:PyTorch 教程
在PyTorch中,F.linear()和nn.Linear()是两个常用的线性变换函数,它们都在神经网络的构建中扮演着重要角色。虽然这两个函数都实现了线性变换的功能,但在使用方法和应用场景上却有着显著的区别。本文将深入浅出地介绍这两个函数的用法和区别,帮助大家更好地理解和应用它们。F.linear() 的用法F.linear()是PyTorch中[...]

撰写于:  浏览:175 次  分类:PyTorch 教程
torch.randperm 函数介绍在 PyTorch 中,torch.randperm(n) 函数用于生成一个从 0 到 n-1 的随机排列的整数序列。这个函数是非常有用的,尤其是在需要随机打乱数据或索引时,比如在训练机器学习模型时打乱数据顺序,以确保模型训练的泛化能力。参数n (int): 输出张量的长度,即最大的数字为 n-1。返回值返回一[...]

撰写于:  浏览:120 次  分类:PyTorch 教程
在做AI业务开发时候,常常需要pytorch的tensor类型和numpy类型进行转换,下面给大家介绍一下两者的转换过程:首先,导入需要使用的包:import numpy as np import torch然后,创建一个numpy类型的数组:x = np.ones(3) print(type(x))这里创建了一个一维的数组,3个都为1,我们打印一[...]

撰写于:  浏览:227 次  分类:PyTorch 教程
1、SGD原理介绍随机梯度下降(Stochastic Gradient Descent,简称SGD)是基于梯度的一种优化算法,用于寻找损失函数最小化的参数配置。SGD通过计算每个样本的梯度来更新参数,并在每次更新中随机选择一个或一批样本。SGD的原理相对简单,它通过计算损失函数对每个训练样本的梯度来更新参数。具体步骤如下:1、随机选择一个训练样本;[...]

撰写于:  浏览:187 次  分类:PyTorch 教程
关于范数的定义,有多种情况,如下所示:0 范数:当前向量中的元素之和1 范数:对应向量元素只差的绝对值之和2 范数: 元素的平方和再开方p 范数: 元素的绝对值的P次方之和再开P次方import torch a = torch.rand(2, 1) # a 的一范数 print(torch.norm(a, p=1)) # a 的二范数 prin[...]

撰写于:  浏览:216 次  分类:PyTorch 教程
1、Sequential 简介Sequential表示一个连续的容器,模块将按照它们在构造函数中传递的顺序添加到容器其中。Sequential的forward()方法接受任何输入并将其转发到它包含的第一个模块。然后,它将输出顺序“链接”到每个后续模块的输入,最终返回最后一个模块的输出。Sequential提供的优于手动调用模块序列的价值在于,它允许[...]

撰写于:  浏览:180 次  分类:PyTorch 教程
ModuleList 可以像常规 Python 列表一样进行索引。1、ModuleList 代码举例class MyModule(nn.Module): def __init__(self): super().__init__() self.linears = nn.ModuleList([nn.Linear[...]

撰写于:  浏览:160 次  分类:PyTorch 教程
Quantization refers to techniques for performing computations and storing tensors at lower bitwidths than floating point precision. PyTorch supports both per tensor and per ch[...]

撰写于:  浏览:195 次  分类:PyTorch 教程
nn.Embeddingtorch.nn.Embedding 是 PyTorch 中一个重要的模块,用于创建一个简单的查找表,它存储固定字典和大小的嵌入(embeddings)。这个模块通常用于存储单词嵌入并使用索引检索它们。接下来,我将详细解释 Embedding 模块的用途、用法、特点以及如何使用它。用途单词嵌入:在自然语言处理中,Embedd[...]

撰写于:  浏览:175 次  分类:PyTorch 教程
torch.nn.Conv3D 说明nn.Conv3d 是 PyTorch 中实现三维卷积操作的类。输入数据参数说明:输入张量的维度应为 (N, C_in, D, H, W),其中: N: 批量大小 (batch size),即一批输入数据中包含的样本数量。 C_in: 输入通道数 (number of input channels),即输入数据的[...]

撰写于:  浏览:270 次  分类:PyTorch Lightning 使用介绍
1、PyTorch Lightning是什么?PyTorch Lightning是在NYU和FAIR进行博士研究时创建的。PyTorch Lightning 是面向专业人工智能研究人员和机器学习工程师的深度学习框架,他们需要最大的灵活性,同时又不牺牲大规模性能。虽然官方宣传的很厉害,但是我个人不建议大家学习这个项目,毕竟这个项目属于AI发烧友的杰作[...]


    友情链接