Python 理解PyTorch张量形状
关于我们在PyTorch中定义的张量的形状,我有一个简单的问题。如果我说:Python 理解PyTorch张量形状,python,machine-learning,pytorch,tensor,Python,Machine Learning,Pytorch,Tensor,关于我们在PyTorch中定义的张量的形状,我有一个简单的问题。如果我说: input = torch.randn(32, 35) 这将创建一个包含32行和35列的矩阵。 现在当我定义: input2 = torch.randn(1,2,32, 35) 关于新矩阵input2的维数,我能说些什么? 如何在此处定义行和列?我的意思是,我有两个形状为32*35的矩阵,用张量填充吗 我想更好地理解这背后的几何学。谢谢 是的,没错。输入2张量的秩为4。(秩是维度),每个维度的边界是(1,2,32,3
input = torch.randn(32, 35)
这将创建一个包含32行和35列的矩阵。
现在当我定义:
input2 = torch.randn(1,2,32, 35)
关于新矩阵input2的维数,我能说些什么?
如何在此处定义行和列?我的意思是,我有两个形状为32*35的矩阵,用张量填充吗
我想更好地理解这背后的几何学。谢谢 是的,没错。输入2张量的秩为4。(秩是维度),每个维度的边界是(1,2,32,35)
编辑:我发现将高维数组看作一系列列表是很有用的。在您的例子中,秩4张量是一个列表列表 将张量形状视为维度包含的列表数量。例如,一个张量形状的(4,4,2)将有四个元素,它们都将包含四个元素,而这四个元素又有两个元素
[[[0.86471446, 0.26302726],
[0.04137454, 0.00349315],
[0.06559607, 0.45617865],
[0.0219786, 0.27513594]],
[[0.60555118, 0.10853228],
[0.07059685, 0.32746256],
[0.99684617, 0.07496456],
[0.55169005, 0.39024103]],
[[0.55891377, 0.41151245],
[0.3434965, 0.12956237],
[0.74908291, 0.69889266],
[0.98600141, 0.8570597]],
[[0.7903229, 0.93017741],
[0.54663242, 0.72318166],
[0.6099451, 0.96090241],
[0.63772238, 0.78605599]]]
换句话说,四行四行两行