
pytorch
文章平均质量分 93
SATAN 先生
撒旦
展开
-
python 项目中编译 CUDA 代码
最近在接触一个点云相关的项目, 其中要用到几个, 是 CUDA 代码, 需要用 nvcc 编译后才能运行. 按照项目的 README.md 说明的命令执行make检查路径后, 没有发现问题.原创 2025-04-17 15:37:42 · 308 阅读 · 0 评论 -
PyTorch 参数优化必须是直接的
想要优化的参数必须作为叶子节点全程参与计算损失函数.原创 2024-12-18 11:12:27 · 325 阅读 · 0 评论 -
PyTorch 分布式并行计算
pytorch 的 Distributed Data Parallel原创 2024-11-22 17:13:43 · 1105 阅读 · 1 评论 -
Custom C++ and CUDA Extensions - PyTorch
经历了一波 pybind11 和 CUDA 编程 的学习, 接下来看一看 PyTorch 官方给的 C++/CUDA 扩展的教程. 发现极其简单, 就是直接用 setuptools 导出 PyTorch C++ 版代码的 Python 接口就可以了. 所以, 本博客包含以下内容: LibTorch 初步; C++ Extension 例子;原创 2024-10-02 22:00:12 · 1240 阅读 · 4 评论 -
BatchNorm &LayerNorm
很早以前就遇到了 BatchNorm 和 LayerNorm, 当时只是粗略地知道它们是对数据进行了标准化: x = (x−μ)/σ. 这当然很简单, 但实际的数据是比较复杂的. 对于 CV 任务的数据 image 而言, 一个 batch 的数据通常是这样的: [B, C, H, W]; 对于 NLP 任务的数据 sentence 而言, 一个 batch 的数据通常是这样的: [B, T, D]. 那 XXNorm 是怎么算的? 肯定不是一下算整个 batch 的所有数的.原创 2024-07-10 22:32:07 · 727 阅读 · 0 评论 -
深入学习 torch.distributions
前几天分几篇博文精细地讲述了《von Mises-Fisher 分布》, 以及相应的 PyTorch 实现《von Mises-Fisher Distribution (代码解析)》, 其中以 Uniform 分布为例简要介绍了 torch.distributions 包的用法. 本以为已经可以了, 但这两天看到论文 The Power Spherical distribution 的代码, 又被其实现分布的方式所吸引.原创 2024-05-25 10:10:46 · 1422 阅读 · 0 评论 -
PyTorch 中 Distribution 采样对参数的梯度
torch.distribution 模块实现了大多数常见的分布. 对于复杂的分布, 你可以继承基类 Distribution 自己实现. 如果参数设置为 requires_grad=True; 不必纠结梯度是怎样的, 它的计算要根据简单分布的 Sampling 和 Transform 参数两部分得到.原创 2024-05-21 07:42:55 · 1063 阅读 · 0 评论 -
von Mises-Fisher Distribution
von Mises-Fisher 分布的均值、熵、KL 散度以及采样等的 PyTorch 实现.原创 2024-03-21 16:48:25 · 2498 阅读 · 1 评论 -
PyTorch 中的 apply [autograd.Function]
源码: 是 PyTorch 中用于存储子模块的容器,而 方法可以应用一个函数到 ModuleList 中的每个子模块。具体来说, 方法会递归地将指定的函数应用到 ModuleList 中的每个子模块以及每个子模块的子模块上。这个方法的语法如下:其中 是要应用的函数,它接受一个 参数并且没有返回值。在 apply() 方法被调用后,会遍历 ModuleList 中的每个子模块,并把这个函数应用到每个子模块上。例如,假设有一个 ModuleList 包含了若干线性层(Linear),我们想要初始化所有原创 2024-03-03 09:27:59 · 2471 阅读 · 0 评论 -
torch.utils.data
问题,就不追究了,反正尽量用 numpy 或 pytorch tensor 吧。的其他参数,就会懵逼。那就看一看官方文档,了解一下。然而,背后到底干了什么,我们不清楚,甚至遇到。访问数据时,由于 Python 对象的。有一个需要注意的地方是内存增长问题,当。上图是数据加载的整体框架图,官网说。访问,后者的数据只能通过迭代器。的数据集的访问顺序由迭代器决定。提供一批下标,取得一批数据后由。并行地加载数据,并通过。原创 2024-02-17 20:34:50 · 1234 阅读 · 0 评论 -
torch.gather(...)
有点绕,很多博客画各种图讲各种故事来解释如何从 input 张量中 gather 位置 index 处的值,乱七八糟,我是都没看明白。所以去官网看了文档。原创 2023-12-18 21:08:29 · 1256 阅读 · 0 评论