【Pytorch学习】torch实现clip_by_tensor操作

本文介绍了如何使用PyTorch库中的`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.]])
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值