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() 函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341