PyTorch基础 torch.expand()和torch.repeat()
发布时间
阅读量:
阅读量
为了修改某张 tensor 的形状,在 PyTorch 库中提供了以下几种方法:查看形状(view)、复制张量(expand)、重复张量(repeat)、交换维度(transpose)以及重塑张量(permute)。本文会对这些方法中容易让人混淆的部分进行简要说明。
Expand与Repeat函数是PyTorch中常用以实现'张量数据复制'与'维度扩展'功能的两个重要工具。然而它们的工作机制存在显著差异本文旨在对比分析这两个功能模块的主要特点及其应用效果。
1. torch.expand()
- 功能:expand()函数能够将张量映射至新形状。
- 注意事项:仅限于那些维度值为1的维度可执行broadcasting操作;无需参与 broadcast 的维度保持原有的数值,并可在对应位置标记原始大小或直接标注-1;broadcast后的Tensor不会占用新内存空间;而是基于原有数据构建一个新的视图并返回;返回后的Tensor内存是非连续的。此功能与numpy中的broadcast_to类似;若需使Tensor内存连续,则应调用contiguous()函数。
expand函数用于将张量中单数维的数据扩展到指定的size。
首先阐述一下什么是"单一数值组"(singleton dimensions),其中张量在其某一个维度上的大小等于1,则称该特定的尺寸方向即为此
全部评论 (0)
还没有任何评论哟~
