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



>我遇到了将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 .

尝试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])

试试这个。

ref = np.arange(3*4*5).reshape(3,4,5) # numpy array
values = [ref.copy()+i for i in range(6)] # List of numpy arrays
b = torch.from_numpy(np.array(values)) # torch-array from List of numpy arrays

引用

  1. 将 NumPy 数组转换为火炬张量

最新更新