PyTorch:如何获取张量的形状作为 int 列表

2024-01-21

在numpy中,V.shape给出 V 维度的整数元组.

在张量流中V.get_shape().as_list()给出 V 维度的整数列表.

在火炬中,V.size()给出一个大小对象,但如何将其转换为整数?


对于 PyTorch v1.0 及可能更高版本:

>>> import torch
>>> var = torch.tensor([[1,0], [0,1]])

# Using .size function, returns a torch.Size object.
>>> var.size()
torch.Size([2, 2])
>>> type(var.size())
<class 'torch.Size'>

# Similarly, using .shape
>>> var.shape
torch.Size([2, 2])
>>> type(var.shape)
<class 'torch.Size'>

您可以将任何 torch.Size 对象转换为本机 Python 列表:

>>> list(var.size())
[2, 2]
>>> type(list(var.size()))
<class 'list'>

在 PyTorch v0.3 和 0.4 中:

Simply list(var.size()), e.g.:

>>> import torch
>>> from torch.autograd import Variable
>>> from torch import IntTensor
>>> var = Variable(IntTensor([[1,0],[0,1]]))

>>> var
Variable containing:
 1  0
 0  1
[torch.IntTensor of size 2x2]

>>> var.size()
torch.Size([2, 2])

>>> list(var.size())
[2, 2]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyTorch:如何获取张量的形状作为 int 列表 的相关文章

随机推荐