torch.where()函数解读

  • 函数作用
    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]])

posted @ 2021-12-03 22:20  zae  阅读(1816)  评论(0编辑  收藏  举报