当前位置:主页 > python教程 > PyTorch Torch.arange函数

PyTorch中Torch.arange函数详解

发布:2023-04-20 09:05:01 59


给网友朋友们带来一篇相关的编程文章,网友惠凯捷根据主题投稿了本篇教程内容,涉及到pytorch、torch.arange函数、torch.arange()、torch.arange函数、PyTorch Torch.arange函数相关内容,已被990网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

PyTorch Torch.arange函数

torch.arange函数详解

官方文档:torch.arange

函数原型

arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> Tensor

用法

返回大小为一维张量,其值介于区间 为步长等间隔取值

参数说明

参数类型说明
startNumber起始值,默认值:0
endNumber结束值
stepNumber步长,默认值:1

关键字参数

关键字参数类型说明
outTensor输出张量
dtypetorch.dtype期望的返回张量的数据类型。默认值:如果是None,则使用全局默认值。如果未给出 dtype,则从其他输入参数推断数据类型。如果 start、end 或 stop 中的任何一个是浮点数,则 dtype被推断为默认值,参见 get_default_dtype()。否则,dtype 被推断为 torch.int64
layouttorch.layout返回张量的期望 layout。默认值:torch.strided
devicetorch.device返回张量的期望设备。默认值:如果是None,则使用当前设备作为默认张量类型,参见torch.set_default_tensor_type()。对于 CPU 类型的张量,则 device 是 CPU ,若是 CUDA 类型的张量,则 device 是当前的 CUDA 设备
requires_gradboolautograd 是否记录返回张量上所作的操作。默认值:False

代码示例

    >>> torch.arange(5)  # 默认以 0 为起点
    tensor([ 0,  1,  2,  3,  4])
    >>> torch.arange(1, 4)  # 默认间隔为 1
    tensor([ 1,  2,  3])
    >>> torch.arange(1, 2.5, 0.5)  # 指定间隔 0.5
    tensor([ 1.0000,  1.5000,  2.0000])

pyTorch中torch.range()和torch.arange()的区别

torch.range()和torch.arange()的区别

x = torch.range(-8, 8)
y = torch.arange(-8, 8)
print(x, x.dtype)
print(y, y.dtype)

output:

   tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7., 8.]) torch.float32
   tensor([-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7]) torch.int64

可以看到,torch.range()的范围是[-8, 8],类型为torch.float32

torch.arange()的范围是[-8, 8),类型为torch.int64

在梯度设置时会出现错误:

x = torch.range(-8, 8, 1, requires_grad=True)
y = torch.arange(-8, 8, 1, requires_grad=True)
print(x, x.dtype)
print(y, y.dtype)

即只有当类型为float时才可设置requires_grad=True,故可将

y = torch.arange(-8, 8, 1, requires_grad=True)

改为以下,即手动改变数据类型即可。

y = torch.arange(-8.0, 8.0, 1.0, requires_grad=True)

output:
   tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7., 8.], requires_grad=True)
   torch.float32
   tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7.], requires_grad=True)
   torch.float32

总结

到此这篇关于PyTorch中Torch.arange函数的文章就介绍到这了,更多相关PyTorch Torch.arange函数内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失

    发布:2023-04-22

    这篇文章主要介绍了PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • Pytorch中的 torch.distributions库详解

    发布:2023-03-25

    这篇文章主要介绍了Pytorch中的 torch.distributions库,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下


  • pytorch cuda安装报错的解决方法

    发布:2023-03-02

    这篇文章主要给大家介绍了关于pytorch cuda安装报错的解决方法,文中通过图文介绍的非常详细,对大家学习或者使用Pytorch具有一定的参考学习价值,需要的朋友可以参考下


  • Pytorch实现将label变成one hot编码的两种方式

    发布:2023-04-25

    这篇文章主要介绍了Pytorch实现将label变成one hot编码的两种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • Pytorch 实现自定义参数层实例代码

    发布:2020-07-09

    今天小编就为大家发信息一篇Pytorch 实现自定义参数层的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Pytorch中关于model.eval()的作用及分析

    发布:2023-04-20

    这篇文章主要介绍了Pytorch中关于model.eval()的作用及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • pytorch中nn.Flatten()函数详解及示例

    发布:2023-03-03

    nn.Flatten是一个类,而torch.flatten()则是一个函数,下面这篇文章主要给大家介绍了关于pytorch中nn.Flatten()函数详解及示例的相关资料,需要的朋友可以参考下


  • PyTorch中torch.tensor()和torch.to_tensor()的区别

    发布:2023-03-13

    在Pytorch中Tensor和tensor都用于生成新的张量,但二者并不相同,下面这篇文章主要给大家介绍了关于PyTorch中torch.tensor()和torch.to_tensor()区别的相关资料,需要的朋友可以参考下


网友讨论