PyTorch学习笔记
文章平均质量分 71
视觉萌新、
这个作者很懒,什么都没留下…
展开
-
PyTorch学习笔记:cuda方法——查看显卡信息
PyTorch学习笔记:cuda方法——查看显卡信息原创 2024-02-21 20:05:33 · 1508 阅读 · 1 评论 -
PyTorch学习笔记:nn.GELU——GELU激活函数
PyTorch学习笔记:nn.GELU——GELU激活函数出自论文《GAUSSIAN ERROR LINEAR UNITS (GELUS)》- 相比于ReLU,GELU函数在临近原点时梯度不为零,减少了训练过程中梯度消失的问题;- 导函数比较光滑,无间断情况,容易做反向传播;- RELU计算复杂度较低,同时具有良好的性能,常用于大规模训练的任务,例如BERT、GPT等等。原创 2024-02-18 20:24:46 · 3534 阅读 · 0 评论 -
Pytorch学习笔记:LambdaLR——自定义学习率变化器
Pytorch学习笔记:LambdaLR——自定义学习率变化器将每个参数的学习率设置为初始的`lr`乘以一个权重系数`factor`,用于调整学习率大小,其中权重系数`factor`由函数`lr_lambda`得到,这里可以为每个层设置不同的学习率调整策略。原创 2024-02-04 22:32:31 · 1151 阅读 · 0 评论 -
Pytorch学习笔记:hook操作——提取特征、梯度等信息
Pytorch学习笔记:hook操作——提取特征、梯度等信息 PyTorch在每一次运算结束后都会释放中间变量,从而节省内存空间,例如释放模型中间得到的特征数据、反向传播过程中的梯度等等,因此就有了hook方法,可以操作中间变量,如保存梯度、保存中间特征数据,也可以对中间变量做修改,如增大梯度、限制梯度范围等等,核心在于hook函数的定义。原创 2023-08-09 09:20:53 · 977 阅读 · 0 评论 -
PyTorch学习笔记:nn.CrossEntropyLoss——交叉熵损失
PyTorch学习笔记:nn.CrossEntropyLoss——交叉熵损失原创 2023-02-10 17:49:10 · 5534 阅读 · 1 评论 -
PyTorch学习笔记:nn.TripletMarginLoss——三元组损失
PyTorch学习笔记:nn.TripletMarginLoss——三元组损失原创 2023-02-10 17:37:41 · 3390 阅读 · 0 评论 -
PyTorch学习笔记:nn.KLDivLoss——KL散度损失
PyTorch学习笔记:nn.KLDivLoss——KL散度损失原创 2023-02-10 17:35:38 · 16339 阅读 · 2 评论 -
PyTorch学习笔记:nn.MarginRankingLoss——排序损失
PyTorch学习笔记:nn.MarginRankingLoss——排序损失原创 2023-02-10 17:34:28 · 4704 阅读 · 0 评论 -
PyTorch学习笔记:model.train()与model.eval()——切换训练模式与测试模式
PyTorch学习笔记:model.train()与model.eval()——切换训练模式与测试模式原创 2023-02-10 17:33:14 · 960 阅读 · 0 评论 -
PyTorch学习笔记:data.WeightedRandomSampler——数据权重概率采样
PyTorch学习笔记:data.WeightedRandomSampler——数据权重概率采样原创 2023-02-10 17:28:56 · 1388 阅读 · 0 评论 -
PyTorch学习笔记:data.RandomSampler——数据随机采样
PyTorch学习笔记:data.RandomSampler——数据随机采样原创 2023-02-10 17:27:30 · 8884 阅读 · 0 评论 -
PyTorch学习笔记:nn.Dropout——随机丢弃层
PyTorch学习笔记:nn.Dropout——随机丢弃层原创 2023-02-10 17:24:46 · 13265 阅读 · 0 评论 -
PyTorch学习笔记:F.normalize——数组归一化运算
PyTorch学习笔记:F.normalize——数组归一化运算原创 2023-02-10 17:21:17 · 8943 阅读 · 2 评论 -
PyTorch学习笔记:nn.PReLU——PReLU激活函数
PyTorch学习笔记:nn.PReLU——PReLU激活函数原创 2023-02-10 17:20:32 · 6400 阅读 · 0 评论 -
PyTorch学习笔记:nn.Tanh——Tanh激活函数
PyTorch学习笔记:nn.Tanh——Tanh激活函数原创 2023-02-10 17:18:53 · 15997 阅读 · 0 评论 -
PyTorch学习笔记:nn.Linear——线性回归层
PyTorch学习笔记:nn.Linear——线性回归层原创 2023-02-10 17:13:53 · 1972 阅读 · 0 评论 -
PyTorch学习笔记:nn.Sigmoid——Sigmoid激活函数
PyTorch学习笔记:nn.Sigmoid——Sigmoid激活函数原创 2023-02-10 17:10:02 · 7448 阅读 · 0 评论 -
PyTorch学习笔记:nn.ReLU——ReLU激活函数
PyTorch学习笔记:nn.ReLU——ReLU激活函数原创 2023-02-10 17:07:46 · 7262 阅读 · 1 评论 -
PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数
PyTorch学习笔记:nn.LeakyReLU——LeakyReLU激活函数原创 2023-02-10 17:06:37 · 16429 阅读 · 2 评论 -
PyTorch学习笔记:nn.SmoothL1Loss——平滑L1损失
PyTorch学习笔记:nn.SmoothL1Loss——平滑L1损失原创 2023-02-10 17:06:00 · 5756 阅读 · 2 评论 -
PyTorch学习笔记:nn.MSELoss——MSE损失
PyTorch学习笔记:nn.MSELoss——MSE损失原创 2023-02-10 17:05:15 · 4711 阅读 · 0 评论 -
PyTorch学习笔记:nn.L1Loss——L1损失
PyTorch学习笔记:nn.L1Loss——L1损失原创 2023-02-10 17:03:48 · 6120 阅读 · 0 评论 -
PyTorch学习笔记:torch.ge、torch.gt、torch.le、torch.lt、torch.ne、torch.eq
PyTorch学习笔记:torch.ge、torch.gt、torch.le、torch.lt、torch.ne、torch.eq,逐元素对比原创 2023-02-10 16:59:39 · 2368 阅读 · 0 评论 -
torch.gather——沿特定维度收集数值
PyTorch学习笔记:torch.gather——沿特定维度收集数值torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor功能:从输入的数组中,沿指定的dim维度,利用索引变量index,将数据索引出来,并且堆叠成一个数组。直观可能不好理解,具体可以见代码案例。输入:input:输入的数组dim:指定的维度index:索引变量,数据类型需是长整型(int64)注意:input和index具有相同原创 2021-11-07 15:48:16 · 967 阅读 · 3 评论 -
PyTorch:torch.nonzero——非零元素的定位
PyTorch学习笔记:torch.nonzero——非零元素的定位torch.nonzero(input, *, out=None, as_tuple=False) → LongTensor or tuple of LongTensors功能:用于输出数组的非零值的索引,即用来定位数组中非零的元素输入:input:输入的数组as_tuple:如果设为False,则返回一个二维张量,其中每一行都是非零值的索引,如果输入的数组有n维,则输出的张量维度大小为z×n,其中z为input非零元素的总数原创 2021-10-04 18:33:40 · 16056 阅读 · 1 评论 -
nn.AdaptiveAvgPool2d——二维自适应平均池化运算
PyTorch学习笔记:nn.AdaptiveAvgPool2d——二维自适应平均池化运算torch.nn.AdaptiveAvgPool2d(output_size)功能:该函数与二维平均池化运算类似,区别主要体现在自适应上,对于任何输入大小,输出大小均为指定的H×W大小。输入:output_size:指定的输出大小,可以是元组(H,W),或者是单个的数,如果是单个的数,则表示输出的高和宽尺寸一样,output_size大小可以大于输入的图片尺寸大小。代码案例一般用法import to原创 2021-09-28 21:43:18 · 14182 阅读 · 0 评论 -
nn.AvgPool2d——二维平均池化操作
PyTorch学习笔记:nn.AvgPool2d——二维平均池化操作torch.nn.AvgPool2d( kernel_size , stride=None , padding=0 , ceil_mode=False , count_include_pad=True , divisor_override=None )功能:在由多个平面组成的输入信号上应用2D平均池化操作,具体计算公式如下:out(Ni,Ci,h,w)=1kH∗kW∑m=0kH−1∑m=0kH−1input(Ni,Ci,stride原创 2021-09-28 21:22:09 · 34073 阅读 · 4 评论 -
torch.div()——数组的‘点除‘运算
torch.div()——数组的’点除’运算torch.div(input, other, *, rounding_mode=None, out=None) → Tensor功能:将数组input与数组other对应元素做除法,具体计算公式如下:outi=inputiotheriout_i=\frac{input_i}{other_i}outi=otheriinputi输入:input:元素用于被除数的数组other:元素用于除数的数组或者数rounding_mode:输入为字原创 2021-09-27 21:28:51 · 10845 阅读 · 2 评论 -
nn.BatchNorm2d——批量标准化操作解读
nn.BatchNorm2d——批量标准化操作torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)功能:对输入的四维数组进行批量标准化处理,具体计算公式如下:y=x−mean[x]Var[x]+eps∗gamma+betay=\frac{x-mean[x]}{\sqrt{Var[x]+eps}}*gamma原创 2021-09-27 14:25:12 · 8294 阅读 · 0 评论 -
torch.transpose与tensor.permute——数组的转置
torch.transpose与tensor.permute——数组的转置torch.transpose——交换两个维度代码案例tensor.permute——交换多个维度代码案例区别扩展官方文档torch.transpose——交换两个维度torch.transpose(input, dim0, dim1) → Tensor功能:将输入数组的dim0维度和dim1维度交换输入:input:需要做维度交换的数组dim0、dim1:交换的维度注意:返回的张量数组与原来的数组共享底层存储原创 2021-09-24 11:25:30 · 4644 阅读 · 1 评论 -
torch.repeat_interleave()与tensor.repeat()——数组的重复
torch.repeat_interleave()与 tensor.repeat()——数组的重复torch.repeat_interleave()torch.repeat_interleave(input, repeats, dim=None) → Tensor功能:沿着指定的维度重复数组的元素输入:input:指定的数组repeats:每个元素重复的次数,可以是张量或者是数组dim:指定的维度注意:如果不指定dim,则默认将输入数组扁平化(维数是1,因此这时repeats必须原创 2021-09-20 16:22:34 · 7027 阅读 · 0 评论 -
torch.max()——数组的最大值
torch.max——数组的最大值torch.max()——数组的最大值形式Ⅰ形式Ⅱ代码案例扩展官方文档torch.max()——数组的最大值torch.max()有两种形式形式Ⅰtorch.max(input) → Tensor功能:输出数组的最大值注意:只有一个输入,只需要输入一个数组该方式也可以通过a.max()实现,后者是求数组a的最大值形式Ⅱtorch.max(input, dim, keepdim=False, *, out=None) -> (Tensor, L原创 2021-09-19 19:12:59 · 10488 阅读 · 1 评论 -
nn.Conv2d——二维卷积运算解读
PyTorch学习笔记:nn.Conv2d——二维卷积运算解读nn.Conv2d——二维卷积运算代码案例一般用法输出卷积运算的参数填充方式零填充镜像填充复制填充循环填充官方文档nn.Conv2d——二维卷积运算torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtyp原创 2021-09-19 15:48:12 · 14594 阅读 · 0 评论 -
numpy与tensor数据类型互换
numpy与tensor数据类型互换numpy转换为tensortorch.from_numpy(ndarray) → Tensortensor转换为numpyTensor.numpy() → numpy.ndarray注意:无论是numpy转换为tensor还是tensor转换为numpy,两者的变换后得到的数据与变换前的数据共享底层存储,即改变一方的数据,另一方的数据也会相应改变。代码案例numpy转换为tensorimport torchimport numpy as np原创 2021-09-18 22:25:08 · 3473 阅读 · 0 评论 -
torch.eq与torch.ne——判断数组中的数值是否相等
torch.eq与torch.ne——数组的判断torch.eq()——判断元素是否相等案例代码torch.ne()——判断元素是否不相等案例代码扩展代码案例官方文档torch.eq()——判断元素是否相等torch.eq(input, other, *, out=None) → Tensor功能:判断两个数组的元素是否相等。输出:返回与输入具有相同形状的张量数组,若对应位置上的元素相等,则该位置上的元素是True,否则是False。输入:input:要比较的张量数组other:判断标准(原创 2021-09-18 18:54:20 · 6115 阅读 · 0 评论 -
torch.chunk()——数组的拆分
torch.chunk()——数组的拆分torch.chunk(input, chunks, dim=0) → List of Tensors功能:将数组拆分为特定数量的块输入:input:待拆分的数组chunks:拆分的块数,指定为几,就拆成几dim:拆分的维度,默认沿第1维度拆分注意:函数最后返回的是元组类型,包含拆分后的数组如果输入的数组在指定的维度下不能整除,则拆分得到的最后一块数组的dim维度大小将小于前面所有的数组dim维度大小chunks有最大值限制,如果原创 2021-09-17 16:53:56 · 4530 阅读 · 0 评论 -
torch.clamp()——数组的夹紧
torch.clamp()——数组的夹紧torch.clamp(input, min=None, max=None, *, out=None) → Tensor功能:将数组的所有元素夹紧到范围[min,max]内,相当于经过了函数f(x)={min,ifx≤minx,ifmin<x<maxmax,ifx≥maxf(x)=\left \{ \begin{matrix} min,\quad &if\quad x≤min \\ x,&if\quad min<x<m原创 2021-09-16 21:43:28 · 1013 阅读 · 0 评论 -
torch.squeeze与torch.unsqueeze——数组的压缩与解压
squeeze与unsqueeze——数组的压缩与解压torch.squeeze()代码案例torch.unsqueeze()代码案例官方文档torch.squeeze()torch.squeeze(input, dim=None, *, out=None) → Tensor功能:将尺寸大小为1的维度进行删除操作。输入:input:需要删除的张量数组dim:在指定维度上进行删除操作注意:若不指定dim,则默认将所有尺寸大小为1的维度删除;若指定dim,则只在指定的维度上进行删除操作。原创 2021-09-16 20:35:54 · 802 阅读 · 1 评论 -
torch.index_select()——数组索引
torch.index_select()——数组索引torch.index_select(input, dim, index, *, out=None) → Tensor功能:选择根据给定的index和dim在input中选择张量数据,相当于更高级的索引功能。输入:input:需要索引的张量数组dim:索引维度(沿dim维度进行索引)index:索引值,可以是单个数字、也可以是一个序列(一维序列)注意:返回的张量数组与原始的张量数组具有相同的维数,这里与直接进行索引有区别,具体见案例原创 2021-09-15 19:26:55 · 9360 阅读 · 0 评论 -
F.interpolate——数组采样操作
F.interpolate——数组采样操作torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None)功能:利用插值方法,对输入的张量数组进行上\下采样操作,换句话说就是科学合理地改变数组的尺寸大小,尽量保持数据完整。输入:input(Tensor):需要进行采样处理的数组。size(int原创 2021-09-14 21:46:37 · 92542 阅读 · 10 评论