- 函数作用
torch.where()函数可以是按照给定的条件合并两个tensor;
条件满足的位置取前者,否则取后者。
- 代码示例
>>> import torch
>>> a=torch.randn(3,5)
>>> b=torch.ones(3,5)
>>> a
tensor([[-0.0310, 1.5895, 1.6003, -1.7584, 1.1478],
[ 0.6773, 0.7763, 0.5024, 0.4952, 0.4198],
[ 1.5132, 0.5185, 0.2956, -0.6312, -1.4787]])
>>> b
tensor([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
>>> torch.where(a>0,a,b) #合并a,b两个tensor a>0的地方保存a的原值,否则取b的值。
tensor([[1.0000, 1.5895, 1.6003, 1.0000, 1.1478],
[0.6773, 0.7763, 0.5024, 0.4952, 0.4198],
[1.5132, 0.5185, 0.2956, 1.0000, 1.0000]])