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() 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pycharm中import torch报错的快速解决方法

    Pycharm中import torch报错的快速解决方法

    这篇文章主要介绍了Pycharm中import torch报错的快速解决方法,很多朋友容易碰到这个问题,今天小编特此把解决方案分享到脚本之家平台供大家参考,需要的朋友可以参考下
    2020-03-03
  • python中OrderedDict的使用方法详解

    python中OrderedDict的使用方法详解

    本篇文章主要介绍了python中OrderedDict的使用方法详解,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Python实现输入若干个正整数,升序后输出

    Python实现输入若干个正整数,升序后输出

    这篇文章主要介绍了Python实现输入若干个正整数,升序后输出方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python 从csv读数据到mysql的实例

    python 从csv读数据到mysql的实例

    今天小编就为大家分享一篇python 从csv读数据到mysql的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python检测网站链接是否已存在

    Python检测网站链接是否已存在

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过本文给大家介绍Python检测网站链接是否已存在的相关内容,需要的朋友一起学习吧
    2016-04-04
  • pandas快速处理Excel,替换Nan,转字典的操作

    pandas快速处理Excel,替换Nan,转字典的操作

    这篇文章主要介绍了pandas快速处理Excel,替换Nan,转字典的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python 快速排序代码

    python 快速排序代码

    闲来无事写了个python快排序
    2009-11-11
  • Python读取实时数据流示例

    Python读取实时数据流示例

    今天小编就为大家分享一篇Python读取实时数据流示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 解决.ui文件生成的.py文件运行不出现界面的方法

    解决.ui文件生成的.py文件运行不出现界面的方法

    今天小编就为大家分享一篇解决.ui文件生成的.py文件运行不出现界面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python中执行shell的两种方法总结

    python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包均是Python现有的内置模块。需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01

最新评论