python - 在相等索引位置有效填充 torch.Tensor

标签 python machine-learning pytorch tensor

我有一个 6 维全零 pytorch 张量 lrel_w,我想在前三个维度的索引和最后三个维度的索引匹配的位置填充 1。我目前正在使用 3 个嵌套 for 循环简单地解决这个问题:

lrel_w = torch.zeros(
  input_size[0], input_size[1], input_size[2],
  input_size[0], input_size[1], input_size[2]
)
for c in range(input_size[0]):
  for x in range(input_size[1]):
    for y in range(input_size[2]):
      lrel_w[c,x,y,c,x,y] = 1

我确信一定有一种更有效的方法来做到这一点,但我还没有弄清楚。

最佳答案

你可以试试这个。

import torch
c, m, n = input_size[0], input_size[1], input_size[2]

t = torch.zeros(c, m, n, c, m, n)
i, j, k = torch.meshgrid(torch.arange(c), torch.arange(m), torch.arange(n))
i = i.flatten()
j = j.flatten()
k = k.flatten()

t[i, j, k, i, j, k] = 1

方法如下meshgrid如果您需要引用,可以使用。

关于python - 在相等索引位置有效填充 torch.Tensor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65145069/

相关文章:

python - PCA 和朴素贝叶斯分类器

python - 如何解决与输入大小 (torch.Size([1])) 不同的 UserWarning : Using a target size (torch. Size([]))?

python - 后向算法隐马尔可夫模型,第 0 个索引(终止步骤)产生错误结果

python - 如何将 Azure Python SDK 异常添加到 try/except 语句?

python - 溢出错误 : math range error

python - Django 使用自定义 SQL 而不是模型将 JSON 对象返回到模板

machine-learning - NN 输入层中的单元数量可以与数据中的特征数量不同吗?

matlab fitensemble 绘图 roc 误差

python - 如何将不规则间隔的 x 和 y 坐标张量平均到具有特定单元大小的网格中?

python - int() 参数必须是字符串或数字,而不是 'SimpleLazyObject'