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]