TORCH.WHERE 快速上手

torch.where(condition, input, other, *, out=None) → Tensor

  • Return a tensor of elements selected from either input or other, depending on condition.
  • Parameters:
	condition (BoolTensor) – When True (nonzero), yield input, otherwise yield other
	input (Tensor or Scalar) – value (if input is a scalar) or values selected at indices where condition is True
	other (Tensor or Scalar) – value (if other is a scalar) or values selected at indices where condition is False
  • Example:
>>> a = torch.arange(0,8).view(2,4)
>>> b = -torch.arange(0,8).view(2,4)
>>> torch.where(a>4, a, b) 
tensor([[ 0, -1, -2, -3],
        [-4,  5,  6,  7]])

>>> a>4
tensor([[False, False, False, False],
        [False,  True,  True,  True]])

对该 example 的解释如下:
结果的 shapeinput: a 一致,结果中具体的值设置的方法如下:

  • 如果对应位置 conditionTrue: 设置为 input: a 中对应位置元素值,所以有 tensor([[ *, *, *, *], [*, 5, 6, 7]])
  • 如果对应位置 conditionFalse: 设置为 other: b 中对应位置元素值,所以有 tensor([[ 0, -1, -2, -3], [-4, *, *, *]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值