【发布时间】:2021-03-24 04:06:59
【问题描述】:
我很难理解以下之间的区别:
x1 = torch.tensor([1, 2, 3]) # single brackets
x2 = torch.tensor([[1, 2, 3]]) # double brackets
检查它们的尺寸时:
x1.size() 和 x2.size() 我们得到以下信息:
torch.Size([3])
torch.Size([1, 3])
我将 x1 解释为 (3x1) 列向量,而 x2 是 (1x3) 行向量。
但是,当尝试转置两个向量时:
print(x1.T)
print(x2.T),我们得到:
tensor([1, 2, 3])
tensor([[1],
[2],
[3]])
x1 似乎不受影响被换位?
此外,当尝试使用“.view()”强制 x1 成为 (1x3) 行向量时:
print(x1.view(1, -1)) 我们得到:
tensor([[1, 2, 3]]) # double brackets
那么为什么“.T”没有成功,但“.view(1, -1)”却能够将x1 转换为(1x3) 行向量?
当我们第一次分配 x1 时,它到底是什么?
【问题讨论】:
标签: python python-3.x pytorch tensor torch