Python-torch 之torch.clamp() 函数解析

 更新时间:2023年05月12日 09:00:28   作者:笃℃  
torch.clamp()函数用于对输入张量进行截断操作,将张量中的每个元素限制在指定的范围内,这篇文章主要介绍了Python torch之torch.clamp()函数,需要的朋友可以参考下

Python-torch torch.clamp() 函数解析

1. 解析

torch.clamp(input, min, max, out=None) → Tensor

1)参数列表

  • input:输入张量;
  • min:限制范围下限;
  • max:限制范围上限;
  • out:输出张量。

2)功能

  • clamp()函数的功能将输入input张量每个元素的值压缩到区间 [min,max],并返回结果到一个新张量。

3)举例

a=torch.randint(low=0,high=10,size=(10,1))
print(a)
b=torch.clamp(a,3,9)
print(b)

输出:

tensor([[7],
        [5],
        [5],
        [4],
        [4],
        [9],
        [0],
        [1],
        [4],
        [1]])
tensor([[7],
        [5],
        [5],
        [4],
        [4],
        [9],
        [3],
        [3],
        [4],
        [3]])

2. 对比

clamp_() 与clamp() 的区别:

  • pytorch中,一般来说如果对tensor的一个函数后加上了下划线,则表明这是一个in-place类型。
  • in-place类型是指,当在一个tensor上操作了之后,是直接修改了这个tensor,而不是返回一个新的tensor并不修改旧的tensor。 

扩展:torch.clamp()函数

torch.clamp()函数用于对输入张量进行截断操作,将张量中的每个元素限制在指定的范围内。

其语法为:

torch.clamp(input, min, max, out=None) -> Tensor

其中,参数的含义如下:

  • input:输入张量。
  • min:张量中的最小值。如果为None,则表示不对最小值进行限制。
  • max:张量中的最大值。如果为None,则表示不对最大值进行限制。
  • out:输出张量。
  • torch.clamp()函数返回一个新的张量,其中每个元素都被截断在[min, max]的范围内。如果min或max为None,则对应的限制条件被忽略。

下面是一个使用torch.clamp()函数的示例:

import torch
x = torch.randn(2, 3)
print(x)
y = torch.clamp(x, min=-0.5, max=0.5)
print(y)

输出结果为:

tensor([[-0.3138, -0.1604, -0.4374],
        [-1.0861, -0.2837,  1.1688]])
tensor([[-0.3138, -0.1604, -0.4374],
        [-0.5000, -0.2837,  0.5000]])

可以看到,torch.clamp()函数将x张量中的元素限制在了[-0.5, 0.5]的范围内。

到此这篇关于Python-torch 之torch.clamp() 函数解析的文章就介绍到这了,更多相关torch.clamp() 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python反转序列的方法实例分析

    Python反转序列的方法实例分析

    这篇文章主要介绍了Python反转序列的方法,结合实例形式分析了列表、元组及字符串反转的具体实现技巧,需要的朋友可以参考下
    2018-03-03
  • Python getsizeof()和getsize()区分详解

    Python getsizeof()和getsize()区分详解

    这篇文章主要介绍了Python getsizeof()和getsize()区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python 用pandas实现数据透视表功能

    python 用pandas实现数据透视表功能

    这篇文章主要介绍了python 用pandas实现数据透视表功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python实现读取文件最后n行的方法

    Python实现读取文件最后n行的方法

    这篇文章主要介绍了Python实现读取文件最后n行的方法,涉及Python针对文件的读取、遍历与运算相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • PyTorch策略梯度算法详情

    PyTorch策略梯度算法详情

    这篇文章主要介绍了PyTorch策略梯度算法详情,文章我们主要使用策略梯度算法解决CartPole问题,详细的相关介绍,需要的朋友可以参考一下
    2022-07-07
  • Python配置同花顺全数据接口教程详解

    Python配置同花顺全数据接口教程详解

    这篇文章主要为大家详细介绍了Python配置同花顺全数据接口的教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Python %r和%s区别代码实例解析

    Python %r和%s区别代码实例解析

    这篇文章主要介绍了Python %r和%s区别代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python判断两个序列的成员是否一样的实例代码

    python判断两个序列的成员是否一样的实例代码

    在本篇文章里小编给大家整理了关于python判断两个序列的成员是否一样的实例代码,需要的朋友们参考下。
    2020-03-03
  • python输出数学符号实例

    python输出数学符号实例

    这篇文章主要介绍了python输出数学符号实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Django中传递参数到URLconf的视图函数中的方法

    Django中传递参数到URLconf的视图函数中的方法

    这篇文章主要介绍了Django中传递参数到URLconf的视图函数中的方法,Django是最具人气的Python开发框架,需要的朋友可以参考下
    2015-07-07

最新评论