一、相关函数
本部分介绍一下代码中使用的不常见的函数
1、torch.clamp( )
该函数原型如下:
torch.clamp(input, min, max, out=None) --> Tensor
将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。其实就是我们常用的截断函数(分段阈值)。
举个例子:
input = torch.Tensor([2,1,0.5,-0.5])
output = torch.clamp(input,0,1)
print(output)
'''
output
Out[16]: tensor([1.0000, 1.0000, 0.5000, 0.0000])
'''
2.itertools.product()
原型如下:
product(*iterables, repeat=1) --> product object
iterables是可迭代对象,repeat指定iterable重复几次,即: product(A,repeat=3)等价于product(A,A,A)。
该函数用于求输入迭代对象的笛卡尔积,相当于一个嵌套的for循环。注意:prodcut函数返回的是一个迭代器
import itertools
list1 = ['a', 'b']
list2 = ['c', 'd']
for item in itertools.product(list1,list2):
print(item)
输出:
e.g.2 输出(1,1),(1,