torch.arange()与torch.range()

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} ] [stependstart]个,torch.range()从start开始输出 [ e n d − s t a r t s t e p ] + 1 [\frac{end-start}{step} ]+1 [stependstart]+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])

你可能感兴趣的:(pytorch)