戟铵腴 发表于 2025-10-5 19:36:25

Torch中的tensor size

技术背景

其实对于市面上大多数的深度学习框架来说,或者只是一个numpy来说,要获取一个高维度矩阵的大小,只需要调用其size函数即可。但是PyTorch框架中有所不同,所以这里单独介绍一下如何在PyTorch中获取一个高维tensor的大小,或者说元素总数。
代码实例

首先我们演示一下普通的numpy框架下如何去获取高维tensor的大小:
In : import numpy as np

In : a = np.arange(10)

In : a.size
Out: 10

In : import torch as tc

In : b = tc.arange(10)

In : b.size
Out: <function Tensor.size>

In : b.size()
Out: torch.Size()

In : b.size(dim=0)
Out: 10在这个例子中我们发现,如果在PyTorch中去调用同样的size函数的时候,只能逐个维度的进行输出。也就是说,PyTorch所理解的size,是基于维度的size。那么如果我们需要在PyTorch中去获取一个高维tensor的大小,应该如何操作呢?如果不知道的情况下,只能用size函数获取每一个维度的大小之后,去做一个累计乘积。但其实PyTorch提供了一个numel函数,可以像其他框架的size一样去获取一个高维tensor的大小:
In : import torch as tc

In : b = tc.arange(60)

In : b = b.reshape((3,4,5))

In : b.shape
Out: torch.Size()

In : b.numel()
Out: 60总结概要

本文重点介绍了一下如何在PyTorch中去计算一个高维tensor的大小,也就是元素的总数。在其他框架中我们需要使用size函数来获取,而在PyTorch框架中这个接口被调整为numel,本文给出了两个具体代码示例。
版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/tensor-size.html
作者ID:DechinPhy
更多原著文章:https://www.cnblogs.com/dechinphy/
请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Torch中的tensor size