如何将torch.tensor矩阵转换为更大的张量?

时间:2020-05-13 22:44:12

标签: python pytorch

我遇到一个将torch.tensor的python矩阵转换为torch.tensor的问题

例如,M是一个(n,m)矩阵,每个元素M[i][j]是一个大小为(p, q, r, ...)的Torch.tensor。如何将列表M的python列表转换为大小为(n,m,p,q,r,...)的torch.tensor 例如

M = []
for i in range(5):
    row = []
    for j in range(10):
        row.append(torch.rand(3,4))
    M.append(row)

如何将M以上的内容转换为大小为(5,10,3,4)的torch.tensor。

2 个答案:

答案 0 :(得分:1)

尝试torch.stack()在第一维上堆叠张量列表。

import torch

M = []
for i in range(5):
    row = []
    for j in range(10):
        row.append(torch.rand(3,4))
    row = torch.stack(row)
    M.append(row)
M = torch.stack(M)

print(M.size())
# torch.Size([5, 10, 3, 4])

答案 1 :(得分:0)

尝试一下。

true

参考

  1. Converting NumPy Array to Torch Tensor