【Pytorch学习】torch实现clip_by_tensor操作

【Pytorch学习】torch实现clip_by_tensor操作

1.代码实现
    def clip_by_tensor(t, t_min, t_max):
        t = t.float()
        # 输入tensor的各个元素中,与t_min做比较,若小于t_min矩阵中的值,则输出t_min矩阵中的值,大于则保留。
        result = (t >= t_min).float() * t + (t < t_min).float() * t_min
        # 输入result的各个元素中,与t_max做比较,若大于t_max矩阵中的值,则输出t_max矩阵中的值,小于则保留。
        result = (result <= t_max).float() * result + (result > t_max).float() * t_max
        return result
2.作用

按元素操作,使数据在min到max之间,小于min的变为min,大于max的变为max。

3.示列
min_tensor = torch.tensor(([1,2,3],[1,2,3],[1,2,3],[1,2,3]))
max_tensor = torch.tensor(([7,8,9],[7,8,7],[7,8,9],[7,8,9]))
init_tensor = torch.tensor(([0,0,0],[4,5,6],[4,5,6],[10,10,10]))
result = clip_by_tensor(init_tensor,min_tensor,max_tensor)
print(result)

=>tensor([[1., 2., 3.],
        [4., 5., 6.],
        [4., 5., 6.],
        [7., 8., 9.]])
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值