我遇到一个将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。
发布于 2020-05-13 23:04:58
尝试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])发布于 2020-05-13 22:56:30
尝尝这个。
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参考文献
https://stackoverflow.com/questions/61786172
复制相似问题