Pytorch 替换tensor中大于某个值的所有元素

Pytorch: tensor中大于某个值的所有元素, 如置0

a = torch.rand((2, 3))
# tensor([[0.2620, 0.4850, 0.5924],
#         [0.4152, 0.0475, 0.5491]])
 
zero = torch.zeros_like(a)
# tensor([[0., 0., 0.],
#         [0., 0., 0.]])
 
one = torch.ones_like(a)
# tensor([[1., 1., 1.],
#         [1., 1., 1.]])
 
# a中大于0.5的用zero(0)替换,否则a替换,即不变
a = torch.where(a > 0.5, zero, a))
# tensor([[0.2620, 0.4850, 0.0000],
#         [0.4152, 0.0475, 0.0000]])
 
# a中大于0.5的用one(1)替换,否则a替换,即不变
print(torch.where(a > 0.5, one, a))
# tensor([[0.2620, 0.4850, 1.0000],
#         [0.4152, 0.0475, 1.0000]])

Pytorch: tensor中某一区间的所有元素, 如置0

a = torch.rand((2, 3))
# tensor([[0.2620, 0.4850, 0.5924],
#         [0.4152, 0.0475, 0.5491]])
 
# tensor中在区间[0.3, 0.5]
torch.gt(a, 0.3) & torch.lt(a, 0.5)
# tensor([[False,  True, False],
#         [ True, False, False]])
 
# a中位于区间[0.3, 0.5]之间的, 用zero(0)替换,否则a替换,即不变
print(torch.where(torch.gt(a, 0.3) & torch.lt(a, 0.6), zero, a))
# tensor([[0.2620, 0.0000, 0.5924],
#         [0.0000, 0.0475, 0.5491]])

Numpy: 矩阵中大于某个值的所有元素, 如置0

# 矩阵a中大于Threshold(阈值)的部分置0
a[a > Threshold] = 0
# 矩阵a中小鱼Threshold(阈值)的部分置0
a[a < Threshold] = 0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值