条件选取:torch.where(condition, x, y) → Tensor
返回从 x 或 y 中选择元素的张量,取决于 condition
操作定义:
举个例子:
>>> import torch
>>> c = randn(2, 3)
>>> c
tensor([[ 0.0309, -1.5993, 0.1986],
[-0.0699, -2.7813, -1.1828]])
>>> a = torch.ones(2, 3)
>>> a
tensor([[1., 1., 1.],
[1., 1., 1.]])
>>> b = torch.zeros(2, 3)
>>> b
tensor([[0., 0., 0.],
[0., 0., 0.]])
>>> torch.where(c > 0, a, b)
tensor([[1., 0., 1.],
[0., 0., 0.]])
把张量中的每个数据都代入条件中,如果其大于 0 就得出 a,其它情况就得出 b,同样是把 a 和 b 的相同位置的数据导出。
查表搜集:torch.gather(input, dim, index, out=None) → Tensor
沿给定轴 dim,将输入索引张量 index 指定位置的值进行聚合
对一个3维