如何向量化火炬张量的切片操作?

问题描述 投票:0回答:0

我有一堆用列表理解表示的变量。我想把它变成torch.tensor,到目前为止我得到了

import torch
n = 10
y = torch.rand(n ** 2, requires_grad=True)
one_node_per_position = torch.FloatTensor([sum(y[k:k + n]) - 1 for k in range(0, n ** 2, n)])
one_node_per_point = torch.FloatTensor([sum(y[j::n]) - 1 for j in range(n)])
connectivity = torch.FloatTensor([sum(y[k:k + n]) - sum(y[k - n:k]) for k in range(n, n ** 2, n)])

但显然不好看。我如何重写它以获得矢量化的优势以供进一步使用?

python torch
© www.soinside.com 2019 - 2024. All rights reserved.