torch.arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
torch.range(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
共同点:
输出一维tensor,输入一个数为end,输入两个数为start、end,三个数为start、end、step。
区别:
1.torch.arange()从start开始输出 [ e n d − s t a r t s t e p ] [\frac{end-start}{step} ][stepend−start]个,torch.range()从start开始输出 [ e n d − s t a r t s t e p ] + 1 [\frac{end-start}{step} ]+1[stepend−start]+1个元素。
2.两者输出的dtype不同。
>>> torch.arange(5)
tensor([ 0, 1, 2, 3, 4])
>>> torch.arange(1, 4)
tensor([ 1, 2, 3])
>>> torch.arange(1, 2.5, 0.5)
tensor([ 1.0000, 1.5000, 2.0000])
>>> torch.range(1, 4)
tensor([ 1., 2., 3., 4.])
>>> torch.range(1, 4, 0.5)
tensor([ 1.0000, 1.5000, 2.0000, 2.5000, 3.0000, 3.5000, 4.0000])
版权声明:本文为Jet__P原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。