PyTorch
文章平均质量分 56
培之
这个作者很懒,什么都没留下…
展开
-
减少 GPU 显存使用的办法
在网络的 Test 阶段,完全可以使用该条语句。原创 2023-02-15 11:33:46 · 361 阅读 · 0 评论 -
pytorch backward 求梯度 累计 样式
因为可能会出现 训练集 batch size 比较大,电脑 显存吃不下的情况,这样就需要将一个 batch 分为几个小 batch训练,但是同时又都利用它们的gradient 信息。关于 pytorch 的 backward()函数反向传播计算梯度是 累计式的,见下图(主要是图中用黑框框出来的部分内容)。利用 gradient accumulation 的框架是这样的。为什么需要 gradient accumulation 呢?因为这样,所以才需要。原创 2023-01-15 19:48:54 · 193 阅读 · 0 评论 -
pytorch compute graph 计算图 例子
从例1、2中可以发现 使用。原创 2023-01-15 11:58:40 · 202 阅读 · 0 评论 -
pytorch 一个 Tensor的 is_leaf requires_grad 两个属性同时 为 True 才会保存 grad
根据下面的代码和输出,不难发现在 loss 执行完 backward 操作之后。Tesor 在下面几种情况下,才会是 leaf。原创 2023-01-15 10:57:26 · 313 阅读 · 0 评论 -
pytorch requires_grad
【代码】pytorch requires_grad。原创 2023-01-14 19:59:19 · 351 阅读 · 0 评论 -
torch.meshgrid 使用探究
torch.meshgrid 的函数原型是indexing 是 torch.meshgrid 的一个参数。torch.meshgrid 的功能是生成 “网格数据”,比如生成一张图像的所有像素坐标。本文,以 高度为 4,宽度为 7(即 H=4,W=7)的图像为例子说明。indexing=‘ij’当设 返回的:grid_i shape: torch.Size([7, 4])grid_j shape: torch.Size([7, 4])他们的shape都是 [W,H]shape 第 0 维是原创 2022-11-20 16:11:36 · 2530 阅读 · 0 评论 -
torch.arange (不是 torch.range,不要用torch.range)
左闭右开区间。原创 2022-11-20 11:23:22 · 1390 阅读 · 0 评论 -
设置使用 CUDA/显卡 的编号
下面的是一个环境变量。如果使用 Pycharm,可以手动设置 Environment Variable。或者也可以作为 Argument 放到需要执行的 .py 文件的后面。原创 2022-10-24 09:59:35 · 2152 阅读 · 0 评论 -
torch.nn.functional.grid_sample
以 2 维举例:[-1,-1] 表示输入的左上角,[1,1] 表示输入右下角。在计算机视觉多视图几何里面可能会用到,在这里记录一下讲的比较好的一些资源。注意,参数 mode 选 ‘nearest’ 时,回传的参数都是 0。是对 2维 矩阵或者 3维体数据进行采样的函数。必须要 预处理,每个分量要预处理到。原创 2022-10-17 21:12:56 · 1031 阅读 · 0 评论 -
PyTorch 限制 CPU 线程数目
【代码】PyTorch 限制 CPU 线程数目。原创 2022-10-14 19:29:46 · 1579 阅读 · 0 评论 -
【无标题】
但是如果你的 输入大小在每个 iteration 都会变化,那么cudnn将会在每次 输入大小变化的时候 benchmark,有可能会导致更差的 运行时表现。这取决于任务,如果输入大小变化很大,那么它可能会延长运行时长,反之,它应该会加速。cudnn 将会花一些时间为特定的配置找到理想的算法集合(比如卷积的具体实现)。该模式针对网络的输入大小不变的情况下是好的。这通常使得在运行的时候更快。原创 2022-09-17 10:58:47 · 95 阅读 · 0 评论 -
torch 累计函数 cumprod,cumsum示例
【代码】torch 累计函数 cumprod,cumsum示例。原创 2022-09-14 11:23:40 · 340 阅读 · 0 评论 -
NeRF用到的 torch.searchsorted 和 clamp_min、clamp_max样例
tensor(0)原创 2022-09-13 16:58:06 · 675 阅读 · 0 评论 -
nn.Identity()
在迁移学习里有用。原创 2022-09-07 10:58:44 · 7742 阅读 · 0 评论 -
torch.linspace
注意,第三个参数的含义是在这里的例子中是 11 不是 10!原创 2022-09-07 10:39:13 · 607 阅读 · 0 评论 -
torch 的 3种矩阵乘法运算
说明 2 维 tensor 与 2 维 tensor,torch.matmul 函数也是执行矩阵乘法。会得到 torch.Size([1]) 而不是 torch.Size([]),Vec3 的 shape 是 torch.Size([])。结果和 torch.mm 计算出来的例 2 的结果一样的。注,输入的两个 tensor 的 shape 都是。当操作符是最最最自然的 “*” 时,执行的时。输出的 tensor 的shape 也是。的矩阵对应相乘,拼成一个。将 Mat1 修改为。.........原创 2022-08-17 17:24:21 · 5459 阅读 · 0 评论 -
torch.tensor([2])和 torch.tensor([2,3,4]) 与 torch.tensor([[2,3,4]])
torch.tensor([2,3,4]) 是一维的,如果它执行 torch.mm 时,会报错 it is not a matrix。原创 2022-08-17 15:49:28 · 980 阅读 · 0 评论 -
torch.repeat
代码】torch.repeat。原创 2022-08-15 11:00:21 · 336 阅读 · 0 评论 -
torch.sum
代码】torch.sum。原创 2022-08-14 20:33:38 · 394 阅读 · 0 评论 -
meshgrid 生成二、三维网格点
代码】meshgrid生成三维网格点。原创 2022-07-26 21:24:14 · 1037 阅读 · 0 评论 -
tensor[None] ...
假设有一个torch的tensor类型的变量。T的shape为shape,那么T[None]的shape会变成(1,shape)。T[None]会在T的基础上增加一个dim。该dim的值为1。原创 2022-07-23 10:02:50 · 1251 阅读 · 0 评论 -
针对 RGB 图像,用 cv2、matplotlib、PyTorch库处理需要变换
cv2库是OpenCV库的Python版本。原创 2022-07-22 21:47:43 · 1365 阅读 · 0 评论 -
Tensor unsqueeze 以 broadcast
看上面两行,X.unsqueeze(1)与Y.unsqueeze(2)相乘,结果tensor的sahpe的每一个维度的值取它们两个对应值的较大值。X.unsqueeze(1)、Y.unsqueeze(2)都会被broadcast成[5,6,3]的shape。相当于z_val向量,维度是[num_rays,num_sample],表示所有光线的采样点的距离。相当于rays_direction向量,维度是[num_rays,3],表示所有光线的方向向量;.........原创 2022-07-15 11:00:30 · 452 阅读 · 0 评论 -
理解 tensor, cat, unsquee, stack
假设一个 tensor 如下[[[1,2],[4,5]],[[6,7],[8,9]]][ \quad [\quad[1,2], [4,5]\quad] , \quad\quad [\quad[6,7], [8,9]\quad]\quad][[[1,2],[4,5]],[[6,7],[8,9]]]这个tensor 一共有 333 个维度,这个数出有几层中括号就行,有几层中括号就有几维。下面举 torch.cat 的例子加以说明:........................原创 2022-07-14 11:13:39 · 1420 阅读 · 0 评论 -
PyTorch nn.Linear学习记录
记录一下 PyTorch nn.Linear 的学习过程。一、import torchmodel = torch.nn.Linear(2, 3);print('Network Structure : torch.nn.Linear(2,3) :\n', model)print('Weight Of Network :\n', model.weight)print('Bias Of Network :\n', model.bias)输出:Network Structure : torch.n原创 2022-06-03 20:13:13 · 528 阅读 · 0 评论 -
PyTorch 自动微分论文翻译及解释
绪论本文是对 发表在NIPS 2017 Workshop上面的名为 Automatic differentiation in PyTorch 的 预印论文的一部分的翻译。 只是因为感兴趣,想了解一下 PyTorch 自动求导这方面涉及到的不太深的数学和计算机科学的知识。翻译完成后,我所学习到的有这么几点:PyTorch 自动微分抛弃了符号方法。PyTorch 是动态运行的,TensorFlow 和 Caffe 是静态运行的,静态运行的需要制定一个静态图和提前通过符号进行微分。PyTorch 大部分使原创 2022-03-17 15:51:00 · 755 阅读 · 0 评论 -
阅读 PyTorch 自动微分文章 补充知识点
绪论本文是作者在阅读 发表在NIPS 2017 Workshop上面的名为 Automatic differentiation in PyTorch 的 文章时,发现其中我缺少的一些知识点。查找后以本文记录。本文涉及到的点有原地操作计算机程序中的求值策略,迫切求值还是懒惰求值自动求导,含正向累积与反向累积方法向量-雅可比 积原地操作“ 原地运算是一种直接改变给定线性代数、向量、矩阵(张量)内容(content)的运算,而不需要复制。该定义取自本 Python 教程。根据定义,原地操作原创 2022-03-17 15:37:42 · 1938 阅读 · 0 评论 -
Tensor 常用点备忘录
1 来自 Pytorch 官网 Tutorial矩阵乘法和 element-wise 乘法# This computes the matrix multiplication between two tensors. y1, y2, y3 will have the same valuey1 = tensor @ tensor.Ty2 = tensor.matmul(tensor.T)y3 = torch.rand_like(tensor)torch.matmul(tensor, tensor.原创 2022-03-03 14:24:13 · 714 阅读 · 0 评论 -
用开源代码跑自己的数据集:修改dataloader
论文需要跑网络对比实验。那么如何用 Github 上的代码(或者其他开源代码)跑我们需要它跑的数据集呢?答:修改开源代码对应的 dataloader 部分即可。下文将简要介绍与 PyTorch 框架的 dataloader 的相关知识。首先引用 PyTorch 中文教程中关于 Dataset 抽象类的介绍和 Dataloader 的介绍 :我们在做深度学习训练时,首先要做的是做一个数据集类,它可能需要完成自动打乱数据、数据处理、批量提供 batchsize 数据等功能。 PyTorch 在 tor原创 2022-02-28 15:43:45 · 8572 阅读 · 1 评论 -
区别 torch.cat 与 torch.stack
torch.cat官方文档解释:Concatenates the given sequence of seq tensors in the given dimension.torch.stack官方文档解释:Concatenates sequence of tensors along a new dimension.例子如下:如果 A,B 的 shape 都是 [3,4], 那么C = torch.cat([A, B], dim = 0) 得到的 C shape 是 [6,4]C = to.原创 2021-11-22 21:24:12 · 953 阅读 · 0 评论 -
PyTorch nn.ModuleList 和 nn.Sequential 区别
在学习经典 encode-decode 的 CNN 网络 U-Net 的 PyTorch 代码时,产生了如题的疑惑,在 Pytorch Forum上找到相关主题帖,记录之。nn.Module,nn.ModuleList,nn.Sequential 都是 Class。nn.Moudletorch.nn.Module 是 base class for all neural network modules,任何一个 modle 都要继承它。nn.ModuleListtorch.nn.ModuleList原创 2021-11-11 21:46:32 · 1780 阅读 · 0 评论 -
Pytorch nn.conv2d 的 参数 dilation =1 究竟是?
在pytorch 的 nn.conv2d 和 nn.ConvTranspose2d都有这个参数 dilation。而且默认参数值是 1。那么,当 dilation=1 的时候,对应的究竟是 图1 还是 图2 ?是图2。图1. 图2. 参考资料Pytorch Tutorial原创 2021-11-10 15:48:20 · 2797 阅读 · 2 评论 -
PyTorch Autograd(backward grad 等PyTorch核心)
PyTorch Autograd(理解Pytorch的核心)绪论本文在学Pytorch,对它的计算图产生疑惑。后学习国外一篇博文后,感觉收获颇丰,故转载翻译而来。本文将会主要关注PyTorch计算图相关和Autograd类的backward等方面。具体将会包括以下5方面:PyTorch基础人工神经网络和反向传播动态计算图(dynamic computational graph)反向函数(Backward())数学:雅可比和向量 图1 它从不显式计算整个雅可比,它经常简化去直接计算JVP原创 2021-02-06 18:49:49 · 3596 阅读 · 0 评论