
PyTorch算子/函数用法
文章平均质量分 60
PyTorch算子、函数的用法
ctrl A_ctrl C_ctrl V
中国科学技术大学硕士,互联网公司算法工程师。
展开
-
Pytorch DataLoader 提高模型训练时的 Volatile Gpu-Util(GPU利用率)
Pytorch DataLoader 函数,提高模型训练时的 GPU利用率 Volatile Gpu-Util原创 2024-03-19 15:37:20 · 2737 阅读 · 0 评论 -
【PyTorch API】 nn.RNN 和 nn.LSTM 介绍和代码详解
PyTorch API 之 nn.RNN 和 nn.LSTM 介绍和代码详解原创 2023-07-06 15:09:21 · 6366 阅读 · 0 评论 -
torchvision.transforms 数据预处理:ToTensor()
torchvision.transforms 数据预处理:ToTensor()原创 2022-11-10 12:33:22 · 22910 阅读 · 4 评论 -
torchvision.transforms 数据预处理:Normalize()
在图像预处理中,Normalize() 通常和 ToTensor() 一起使用。原创 2022-11-10 16:25:39 · 3925 阅读 · 3 评论 -
PyTorch 的 Pooling 和 UnPooling函数中的 indices 参数:nn.MaxPool2d/nn.MaxUnpool2d、F.max_pool2d/F.max_unpool2d
这篇博文主要介绍 PyTorch 的 MaxPooling 和 MAxUnPooling 函数中涉及到的 indices 参数。indices 是“索引”的意思,对于一些结构对称的网络模型,上采样和下采样的结构往往是对称的,我们可以在下采样做 MaxPooling 的时候记录下来最大值所在的位置,当做上采样的时候把最大值还原到其对应的位置,然后其余的位置补 0。indices 参数的作用就是保存 MaxPooling 操作时最大值位置的索引。原创 2023-02-12 20:15:27 · 4809 阅读 · 0 评论 -
pytorch 统计tensor中总元素数量的函数:numel()
示例:import torcha = torch.randn(2,3,4)print(a.numel()) # 24统计model中所有可训练参数量:num_params = sum(p.numel() for p in model.parameters())注:numel() 是pytorch的函数,只适用于 tensor,不能用于统计 list、tuple、dict 等的元素数量。...原创 2022-01-04 16:06:22 · 3117 阅读 · 0 评论 -
pytorch hook (钩子)函数用法
钩子编程(hooking),也称作“挂钩”,是计算机程序设计术语,指通过拦截软件模块间的函数调用、消息传递、事件传递来修改或扩展操作系统、应用程序或其他软件组件的行为的各种技术。处理被拦截的函数调用、事件、消息的代码,被称为钩子(hook)。Hook 是 PyTorch 中一个十分有用的特性。利用它,我们可以不必改变网络输入输出的结构,方便地获取、改变网络中间层变量的值和梯度。这个功能被广泛用于可视化神经网络中间层的 feature、gradient,从而诊断神经网络中可能出现的问题,分析网络有效性。关原创 2021-08-03 15:23:33 · 1563 阅读 · 0 评论 -
PyTorch 中的模型容器: nn.ModuleList 和 nn.Sequential
一篇很好的博客:详解PyTorch中的ModuleList和Sequential用 ModuleList 构建多层子层的例子:import torchimport torch.nn as nnclass EncoderLayer(nn.Module): def __init__(self): super().__init__() self.conv1 = nn.Conv2d(4, 10, (3, 3)) self.conv2 = nn.Co原创 2022-01-05 11:20:47 · 1157 阅读 · 0 评论 -
【pytorch算子】torch.arange 算子在 CPU/GPU/NPU 中支持的数据类型格式
CPU(Central Processing Unit):中央处理器GPU(Graphics Processing Unit):图形处理器NPU(Neural Network Processing Unit):神经网络处理器,是基于神经网络算法与加速的新型处理器总称。一、 torch.arange() 和 torch.range() 的用法pytorch官网介绍:torch.arange(start,end,step) 用于产生一个从start开始,到end结束(注意不包括end),步长为ste原创 2021-07-28 12:13:38 · 3600 阅读 · 0 评论 -
【pytorch算子】torch.ger / torch.outer算子的用法,以及与torch库版本的关系
前情提要:在npu服务器上运行程序,ger算子报错,查看pytorch官方文档后将torch.ger换成了torch.outer程序运行报错:显示torch没有outer算子查看torch版本发现我的torch版本是1.5.0关键点来了:在pytorch1.7.0之后,torch.ger算子被删掉了,用torch.outer代替。也就是说,只有pytorch1.7.0的torch.outer与torch.ger功能等价,因此torch1.5.0没有outer算子。于是我安装了最新的torc原创 2021-07-22 11:58:04 · 5854 阅读 · 2 评论 -
【pytorch算子】torch.squeeze 和 torch.unsqueeze 的用法
torch.squeeze() 用法:对 Tensor 进行降维,去掉维数为 1 的的维度。a.squeeze() 是将 a 中所有为 1 的维度删掉,不为 1 的维度没有影响。a.squeeze(n) 是将 a 中第 n 个维度中维数为 1 的维度删掉,即若 dim(n) = 1,则删掉第 n 维;若 dim(n) != 1,则保留第 n 维,不做任何操作。torch.unsqueeze() 用法:对 Tensor 进行扩维,扩大的维数为 1 。a.squeeze(n) 是将 a 中第 n 个原创 2021-08-13 17:00:46 · 1476 阅读 · 0 评论 -
【pytorch算子】torch.gather 算子用法
一、用法:torch.gather 算子用于返回给定索引/下标的 Tensor 元素,在 pytorch 官网文档中的定义如下:torch.gather( input, dim, index, *, sparse_grad=False, out=None) → Tensor其用法等价于:input.gather( dim, index, *, sparse_grad=False, out=None) → Tensor其中,input 是目标 Tensor ,即被搜索的 Tensor ;di原创 2021-08-09 16:36:38 · 4770 阅读 · 0 评论