- 博客(300)
- 资源 (2)
- 收藏
- 关注
原创 python | numpy小记(九):理解 NumPy 中的 `np.random.multinomial`
本文详细介绍了NumPy中的np.random.multinomial函数,用于多项分布采样。该函数接收试验次数n、概率向量pvals和可选参数size,返回各类别的计数结果。文章从数学原理出发,解释了多项分布的期望、方差和协方差特性,并提供了掷骰子、重复实验、one-hot抽样等实用示例。常见问题部分解答了概率归一化、零概率处理等关键问题。最后指出该函数适用于多类别实验模拟,且当类别数为2时退化为二项分布,推荐使用新版随机数生成器以提高可控性。
2025-08-10 17:35:58
679
原创 python | numpy小记(十):理解 NumPy 中的 `np.random.multinomial`(进阶)
在多分类任务中,模型通常会输出一个概率分布(softmax 输出)。如果我们想模拟预测结果的随机性,而不是直接选择最大概率类别,可以用。在策略梯度方法(如 REINFORCE、PPO)中,智能体会根据策略网络输出的概率分布来选择动作。,不仅能提升你的数据模拟能力,还能让你的机器学习和强化学习项目更高效、更真实。在模拟概率事件时非常有用,比如估算赌场游戏的输赢概率、市场份额预测等。在 NLP 中,语言模型会给出下一个单词的概率分布。可以从该分布中采样,生成多样化的句子。参数一次性批量生成结果,提高速度。
2025-08-10 17:35:40
542
原创 python | 计算机视觉和图像处理常规操作(一):创建一个包含图像所有像素坐标的列表
本文介绍了使用NumPy生成图像所有像素坐标列表的经典方法。通过np.meshgrid()创建x/y坐标网格,再使用np.vstack([yy.ravel(), xx.ravel()]).T将坐标转换为N×2的矩阵(N为像素总数)。该方法先展平坐标网格为一维数组,垂直堆叠后转置,最终得到每行对应一个像素(y,x)坐标的列表。文章以3×4小图像为例,逐步拆解了这一常用图像处理操作的核心流程,展示了其高效实现坐标转换的原理。
2025-08-10 17:29:04
553
原创 pytorch小记(三十三):PyTorch 使用 TensorBoard 可视化训练过程(含完整示例)
PyTorch使用TensorBoard可视化训练过程(附完整MNIST示例) TensorBoard是深度学习训练中的关键可视化工具。本文介绍如何在PyTorch中使用SummaryWriter记录训练过程,包括: 基本用法:标量(loss/acc)、图像、模型结构图、参数分布直方图 完整MNIST分类示例代码 启动TensorBoard命令:tensorboard --logdir=runs 常用方法速查表(add_scalar/add_images等) 通过几行代码即可实现训练过程可视化,帮助理解模型
2025-07-30 18:08:06
493
原创 python | numpy小记(八):理解 NumPy 中的 `np.meshgrid`
核心功能从一维的坐标轴向量生成二维(或多维)的坐标网格矩阵。主要目的:为矢量化计算服务,让你能够对整个网格上的所有点进行快速、高效的并行计算,避免使用慢速的Python循环。经典应用:计算二维/三维函数在网格上的值、生成数据用于绘制等高线图和三维表面图。注意事项:留意indexing参数 ('xy'vs'ij'),确保它符合你的计算或绘图需求。
2025-07-30 18:07:40
1181
原创 pytorch小记(三十二):深度解析 PyTorch 的 `torch.remainder`:向下取整余数运算
摘要:PyTorch的torch.remainder函数实现向下取整的余数运算,与Python的%运算符不同,它保证余数与除数同号或为零。其数学定义为a - b * floor(a/b),区别于torch.fmod的截断取整方式。本文通过函数签名、数学原理、对比示例和实际应用场景,详细解析了该函数在周期化数据、环绕索引和模运算中的作用。关键区别在于remainder的余数符号跟随除数,而fmod跟随被除数,两者适用于不同的计算需求。
2025-07-17 18:34:09
908
1
原创 pytorch小记(三十一):深入解析 PyTorch 权重初始化:`xavier_normal_` 与 `constant_`
本文深入解析了PyTorch中两种重要的权重初始化方法:xavier_normal_和constant_。Xavier正态初始化通过平衡输入输出通道数来维持信号方差稳定,适用于大多数网络层;而常数初始化则用于设置偏置或归一化层参数。文章详细介绍了它们的原理、PyTorch接口实现、适用场景及选择建议,帮助开发者根据网络结构特点选择合适的初始化策略,从而提升模型训练的稳定性和收敛效率。合理使用这两种方法能有效避免梯度消失/爆炸等问题,为深度学习模型奠定良好的训练基础。
2025-07-17 18:33:58
830
原创 具身智能零碎知识点(六):VAE 核心解密:重参数化技巧(Reparameterization Trick)到底在干啥?
摘要: 变分自编码器(VAE)通过编码器输出概率分布参数(均值μ和方差σ²),并从中采样潜在向量z,但采样操作的随机性导致梯度无法回传,阻碍训练。重参数化技巧通过将采样过程改写为确定性计算(z = μ + σ·ε,ε∼N(0,1)),将随机性转移至独立噪声ε,使梯度可顺利回传至编码器的μ和σ参数。代码中,编码器通常输出对数方差(logσ²),经指数和平方根运算得到σ,再结合标准正态噪声ε生成z。这一技巧是VAE实现端到端训练的关键,保障了模型在潜在空间中的连续性与可学习性。
2025-07-15 19:48:45
1293
原创 pytorch小记(三十):深度剖析 PyTorch `torch.nn.BCEWithLogitsLoss`
本文深度剖析了PyTorch中的torch.nn.BCEWithLogitsLoss函数,该函数将Sigmoid激活与二元交叉熵损失结合,适用于二分类和多标签任务。文章从数学公式推导、数值稳定性实现、参数说明、内部流程、梯度计算等方面进行详细解析,并提供了使用示例。该损失函数通过等价展开公式避免了数值溢出问题,支持正样本权重和元素级权重设置,可灵活处理类别不平衡情况。理解其实现细节能帮助优化模型性能,特别适合需要直接处理logits输出的场景。
2025-07-15 19:48:24
1042
原创 pytorch小记(二十九):深入解析 PyTorch 中的 `torch.clip`(及其别名 `torch.clamp`)
在深度学习任务中,我们经常需要对张量(Tensor)中的数值进行约束,以保证模型训练的稳定性和数值的合理性。PyTorch 提供了 `torch.clip`(以及早期版本中的别名 `torch.clamp`)函数,能够快速将张量中的元素裁剪到指定范围。本文将带你从函数签名、参数说明,到实际示例和应用场景,一步步掌握 `torch.clip` 的用法。
2025-07-14 23:19:33
471
原创 pytorch小记(二十八):pytorch中`nn.Sequential` 详解
PyTorch中的nn.Sequential是一个高效便捷的神经网络容器模块,用于线性堆叠多个网络层。它能够自动管理子模块注册、统一训练/推理状态切换,并简化前向传播过程。文章详细介绍了其两种构造方式(直接传入模块实例或使用有序字典命名)、工作原理及适用场景(如简单前馈网络和快速原型搭建)。同时指出了其局限性(不支持分支/跳跃连接)以及与ModuleList、ModuleDict的区别。通过一个卷积分类器实例展示了如何在实际项目中应用nn.Sequential,使其成为构建线性网络结构的理想选择。
2025-07-13 18:25:58
881
原创 Transformer 小记(一):深入理解 Transformer 中的位置关系
本文深入解析了Transformer模型中位置编码的原理与实现。首先指出自注意力机制缺乏序列顺序感知能力,需要位置编码来弥补这一缺陷。重点讲解了正弦位置编码的独特设计:利用不同频率的正弦和余弦函数组合,为每个位置生成高维唯一性向量。这种设计不仅能区分不同位置,还能有效捕获相对位置信息。文章通过代码示例详细展示了SinusoidalPosEmb类的实现过程,包括频率基数计算、角度值生成以及最终编码向量拼接,并以dim=512为例进行数值演示。这种位置编码方法为Transformer模型提供了重要的序列顺序信息
2025-07-13 18:25:37
715
原创 pytorch小记(二十七):深入理解 PyTorch 中的 `.contiguous()`:内存布局与数据不变性
在使用 PyTorch 进行深度学习和张量操作时,常常需要对张量进行转置、切片或高级索引等操作,这些操作往往不会真实复制数据,而是通过更改张量的 **stride**(步幅)和偏移量来重用原有内存,这就可能导致张量在内存中变得 **非连续(non-contiguous)**。为了方便后续的 `.view()`、底层 C/CUDA 调用或第三方库的使用,PyTorch 提供了 `.contiguous()` 方法,用来生成一个在内存中真正“连续”的张量副本。
2025-07-04 00:18:50
828
原创 pytorch小记(二十六):全面解读 PyTorch 的 `torch.matmul`
在深度学习与张量运算中,**维度管理**是一个常见且容易出错的环节。PyTorch 提供的 `unsqueeze` 操作,可以让你在张量的任意位置**插入一个长度为 1 的新维度**,实现批处理、通道对齐、广播扩展等需求。下面,我们从原理、API、示例到常见替代写法,带你深入理解 `unsqueeze` 的用法与场景。
2025-07-04 00:18:42
1197
原创 pytorch小记(二十五):全面解读 PyTorch 的 `unsqueeze`:任意位置插入一个长度为 1 的新维度
在深度学习与张量运算中,**维度管理**是一个常见且容易出错的环节。PyTorch 提供的 `unsqueeze` 操作,可以让你在张量的任意位置**插入一个长度为 1 的新维度**,实现批处理、通道对齐、广播扩展等需求。下面,我们从原理、API、示例到常见替代写法,带你深入理解 `unsqueeze` 的用法与场景。
2025-07-02 16:45:09
687
原创 pytorch小记(二十四):全面解读 PyTorch 的 `torch_cluster.fps`:下采样方法
在点云处理与图神经网络中,**Farthest Point Sampling (FPS)** 是一种常见且重要的下采样方法。它能够从大量的原始点云中,挑选出互相间距离最远的一批代表点,从而在保留全局几何结构的同时,大幅减少后续计算量。`torch_cluster` 库中提供了一个高效的 GPU 实现 `fps`,在代码中我们通常这样导入:
2025-07-02 16:45:00
955
原创 python | numpy小记(七):理解 NumPy 中的 `np.concatenate`:“合并”
在数据科学和深度学习中,我们经常需要将多个数组沿某一个维度拼接(concatenate)成更大的数组。NumPy 提供的 `np.concatenate` 就是执行这种操作的核心函数。本文将从函数签名、参数含义、与其它拼接函数对比、常见用法及示例(含打印输出),帮助你彻底掌握 `np.concatenate`。
2025-07-01 01:16:28
557
原创 python | numpy小记(六):理解 NumPy 中的 `np.stack`:“合并”
在数据科学和深度学习的实践中,我们经常需要将多个同形状数组“合并”成更高维的数组,以便批量处理或构建多通道数据。NumPy 提供的 `np.stack` 正是为此设计的:它可以沿着一个新轴(dimension)将若干数组堆叠起来,生成一个维度数 +1 的新数组。本文将从原理、参数、与其他拼接函数的区别、常见用法、示例及输出,帮你彻底掌握 `np.stack` 的使用。
2025-07-01 01:16:18
996
原创 python | numpy小记(五):理解 NumPy 中的 `np.arccos`:反余弦函数
在科学计算与信号处理等领域,经常需要根据已知余弦值反向求角度——这时就用到 NumPy 提供的 **`np.arccos`**(反余弦)函数。下面从函数签名、数学定义、使用示例、注意事项和典型应用等方面,帮你系统地理解并掌握 `np.arccos`。
2025-06-30 22:08:33
860
原创 python | numpy小记(四):理解 NumPy 中的 `np.round`:银行家舍入策略
在科学计算与数据处理的过程中,经常需要对浮点数做**四舍五入**操作。NumPy 提供的 `np.round`(别名 `np.around`)函数,能够非常方便地对数组或标量逐元素执行四舍五入,并支持灵活的参数设置。本文将从函数签名、核心参数、舍入规则、示例演示、与 Python 内建 `round` 的区别等多角度,带你深入理解并高效使用 `np.round`。
2025-06-30 21:58:57
1085
原创 论文笔记(八十九)Multi-feature fusion VoteNet for 3D object detection
摘要 本文提出一种多特征融合VoteNet(MFFVoteNet)框架,用于提升复杂遮挡场景下的3D目标检测性能。该方法融合点云颜色信息和RGB图像特征,通过三个关键创新:1)在点云输入中引入颜色特征增强实例区分度;2)集成CBAM注意力机制的ResNet-18网络提取图像特征,解决遮挡场景下的检测难题;3)提出投影非极大值抑制(PNMS)方法优化3D候选框筛选。在ScanNetv2和SUN RGB-D数据集上的实验表明,该方法显著提升了检测精度。主要贡献包括多模态信息融合架构、专用3D后处理方案PNMS,
2025-06-28 16:30:57
944
1
原创 python小记(十七):Python 使用“继承”来管理yaml文件
在 Python 中有时候我们会把参数都储存在`yaml`文件中然后进行调用。当我们在进行一个很大的项目的时候,我们可能先需要一个`base.yaml`文件,然后再使用一个`task1.yaml`文件进行参数导入,并且`task1.yaml`文件继承`base.yaml`文件,这时候我们应该如何使用呢?
2025-06-28 16:30:31
184
原创 论文笔记(八十八)MLCVNet: Multi-Level Context VoteNet for 3D Object Detection
本文提出了一种基于多层次上下文的3D目标检测网络MLCVNet,通过自注意力机制和多尺度特征融合,在点云补丁、目标候选和全局场景三个层次上捕捉上下文信息。该方法在VoteNet框架中引入三个模块:补丁到补丁上下文模块(PPC)利用自注意力建模点补丁关系;目标到目标上下文模块(OOC)编码对象间的共存关系;全局场景上下文模块(GSC)学习场景级语义线索。实验表明,这些模块协同作用显著提升了检测精度,在SUN RGB-D和ScanNet数据集上达到新的最优性能。代码已开源。
2025-06-27 02:17:11
1158
1
原创 论文笔记(八十七)Vysics: Object Reconstruction Under Occlusion by Fusing Vision and Contact-Rich Physics
本文提出Vysics框架,通过融合视觉和物理交互数据重建被遮挡物体的几何与动力学模型。该框架利用RGBD视频和机器人本体感知数据,结合BundleSDF视觉跟踪与Physics Learning Library物理学习算法,在严重遮挡条件下实现比纯视觉方法更精确的物体重建。Vysics无需预训练或触觉传感器,仅需数秒数据即可生成包含几何形状和惯性属性的动力学模型,并自动输出URDF文件和网格模型。实验表明,该方法在遮挡场景下的几何重建精度和运动预测性能均优于纯视觉方法。项目提供开源代码、新数据集及演示视频。
2025-06-27 02:16:49
838
1
原创 论文笔记(八十六)V-HOP: Visuo-Haptic 6D Object Pose Tracking
人类在操作过程中自然而然地融合视觉和触觉,以实现对物体的鲁棒感知。任一感知模态的缺失都会显著降低性能。受这种多感官融合的启发,先前的物体位姿估计研究尝试将视觉与触觉/触感反馈结合。尽管这些方法在受控环境或合成数据集上取得了性能提升,但在真实世界场景中,往往因手爪类型、传感器布局或仿真到现实差异的泛化能力不足,而不如仅视觉的方法表现优异。此外,它们通常对每一帧独立估计物体位姿,导致在真实序列跟踪时连贯性较差。 为了解决这些局限,我们提出了一种新颖的统一触觉表示,该表示能够有效处理多种手爪形态。在此基础上
2025-06-24 23:30:59
954
1
原创 论文笔记(八十五)SE(3) Diffusion Model-based Point Cloud Registration for Robust 6D Object Pose Estimation
在本文中,我们介绍了一种基于 $SE(3)$ 扩散模型的点云配准框架,用于现实场景中的 6D 物体位姿估计。我们的方法将三维配准任务表述为一个去噪扩散过程,该过程逐步优化源点云的位姿,以实现与模型点云的精确对齐。 在训练我们的框架时,涉及两个过程:$SE(3)$ 扩散过程和 $SE(3)$ 逆过程。$SE(3)$ 扩散过程通过持续注入噪声(扰动变换),逐步扰动一对点云的最优刚性变换。相比之下,$SE(3)$ 逆过程则专注于学习一个去噪网络,该网络逐步精炼带噪变换,使其逐渐逼近用于精确位姿估计的最优变换。
2025-06-20 02:17:26
326
1
原创 论文笔记(八十四)Shelving, Stacking, Hanging: Relational Pose Diffusion for Multi-modal Rearrangement(三)
**我们提出了一个系统,用于重新排列场景中的物体,以实现所需的物体–场景放置关系,例如将书插入书架的一个开放槽中。** 该流程能够推广到新的几何形状、姿态以及场景和物体的布局,并通过示范进行训练,直接在3D点云上运行。我们的系统克服了给定场景存在许多在几何上相似的重排解决方案所带来的挑战。通过利用迭代姿态去噪训练过程,我们能够拟合多模态示范数据并产生多模态输出,同时保持精确和准确。我们还展示了在条件于相关的局部几何特征、同时忽略那些损害泛化性和精确性的不相关全局结构时的优势。我们在仿真和现实世界中,通过三个
2025-05-29 21:35:45
1178
1
原创 python小记(十六):Python 中 os.walk:深入理解与应用实践
在 Python 文件与目录的批量处理场景中,我们常常需要递归地遍历一个目录下的所有子目录和文件,然后做诸如搜索、统计、重命名、删除等操作。`os.walk` 正是标准库中一个非常实用的工具函数,它能够帮你优雅地完成这些任务。本篇文章将从接口、参数、返回值、典型用法到进阶用法,深入剖析 `os.walk` 的方方面面,并给出大量代码示例,帮助你快速掌握它的使用。
2025-05-29 21:35:18
2040
1
原创 pytorch小记(二十五):PyTorch 中的 from torchvision.utils import make_grid,make_grid 全面指南
PyTorch 中的 from torchvision.utils import make_grid,make_grid 全面指南
2025-05-20 16:31:08
935
原创 pytorch小记(二十四):PyTorch 中的 `torch.full` 全面指南
在深度学习中,有时需要创建一个所有元素都相同的张量,例如作为常数初始值或掩码。PyTorch 提供了 `torch.full` 接口,功能灵活且参数丰富。下面我们按模块逐一展开。
2025-05-20 16:30:41
738
原创 python小记(十五):Python 中 for循环中的reversed:深入理解与应用实践
在 Python 的 `for` 循环里,`reversed()` 的作用就是让你 **反向遍历** 一个序列,而不必自己计算索引或手动倒序。它的主要特点和用法有:
2025-05-19 16:12:39
511
原创 pytorch小记(二十三):全面解读 PyTorch 的 `torch.linspace`:等差序列生成与典型应用
在深度学习与科学计算中,我们经常需要在某个区间内生成等间隔的数值序列,比如采样时间轴、插值混合、位置编码、网格采样等场景。PyTorch 为此提供了一个高效便捷的函数——`torch.linspace`。本文将从函数签名、基本用法,到进阶参数和实战案例,详细讲解 `torch.linspace` 的原理与使用技巧,帮助你在项目中灵活运用。
2025-05-19 16:12:21
987
原创 pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
在深度学习与科学计算中,往往需要沿某个维度追踪“前面所有元素的乘积”,比如几何序列计算、概率分布构建、模型门控/权重衰减等场景。PyTorch 提供的 `torch.cumprod` 函数可以一行代码搞定这一需求。本文将从函数签名、参数含义、基础用法,到进阶示例、典型应用场景,为你带来最全面的讲解,并附上丰富示例助你快速上手。
2025-05-17 18:30:06
1060
原创 pytorch小记(二十一):PyTorch 中的 torch.randn 全面指南
在深度学习中,我们经常需要从标准正态分布($\mathcal{N}(0,1)$)中采样,PyTorch 提供了非常灵活的接口 `torch.randn`。本文将从接口定义、参数详解、常见场景、示例及输出,到关键字参数的设计原理,一一展开。
2025-05-17 18:24:56
1074
原创 pytorch小记(二十):深入解析 PyTorch 的 `torch.randn_like`:原理、参数与实战示例
在深度学习模型中,我们经常需要在已有张量的基础上生成与之「同形状」「同设备」「同或不同数据类型」的随机噪声,用于参数扰动、数据增强、扩散模型等场景。PyTorch 为我们提供了一个高效便捷的工具——`torch.randn_like`,它能一步完成上述需求。本文将从函数定义、参数详解、典型应用场景,到进阶用法,全面剖析 `torch.randn_like`,并通过丰富示例帮助你快速上手。
2025-05-16 02:51:07
928
原创 pytorch小记(十九):深入理解 PyTorch 的 `torch.randint()` 与 `.long()` 转换
在使用 PyTorch 进行深度学习建模或数据处理时,常常需要生成随机整数张量作为索引、伪标签或其它用途。本文将深入讲解 PyTorch 中的 `torch.randint()` 函数,以及为什么/如何结合 `.long()` 方法将张量转换为 64 位整型(LongTensor)。文末还会给出多种典型场景的实战示例,帮助你在项目中快速上手。
2025-05-16 02:50:48
932
原创 python小记(十四):Python 中 **参数解包:深入理解与应用实践
在Python开发中,灵活处理函数或类的参数是提升代码复用性和可维护性的关键。本文详细解析如何通过`**`运算符将字典解包为关键字参数,涵盖核心概念、使用场景、代码示例及常见问题,助你掌握这一高效编程技巧。
2025-05-08 17:39:08
1182
原创 python小记(十三):Python 中 shutil.copy(src, dst) 详解
`shutil.copy(A, B)` 是 Python 中用于复制文件的函数,属于 `shutil` 模块。其核心功能和行为如下:
2025-05-08 17:38:58
564
原创 论文笔记(八十四)Shelving, Stacking, Hanging: Relational Pose Diffusion for Multi-modal Rearrangement(二)
**我们提出了一个系统,用于重新排列场景中的物体,以实现所需的物体–场景放置关系,例如将书插入书架的一个开放槽中。** 该流程能够推广到新的几何形状、姿态以及场景和物体的布局,并通过示范进行训练,直接在3D点云上运行。我们的系统克服了给定场景存在许多在几何上相似的重排解决方案所带来的挑战。通过利用迭代姿态去噪训练过程,我们能够拟合多模态示范数据并产生多模态输出,同时保持精确和准确。我们还展示了在条件于相关的局部几何特征、同时忽略那些损害泛化性和精确性的不相关全局结构时的优势。我们在仿真和现实世界中,通过三个
2025-05-04 21:13:57
746
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人