PyTorch中Torch.arange函数详解

作者:_湘江夜话_ 时间:2022-04-29 02:30:50 

torch.arange函数详解

官方文档:torch.arange

函数原型

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

用法

返回大小为PyTorch中Torch.arange函数详解一维张量,其值介于区间 PyTorch中Torch.arange函数详解为步长等间隔取值

参数说明

参数类型说明
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)

PyTorch中Torch.arange函数详解

即只有当类型为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

来源:https://blog.csdn.net/weixin_44504393/article/details/127092330

标签:pytorch,torch.arange,函数
0
投稿

猜你喜欢

  • mysql中格式化数字详解

    2024-01-23 16:44:07
  • vue使用代理解决请求跨域问题详解

    2024-05-10 14:15:33
  • Python基于execjs运行js过程解析

    2021-08-10 22:56:47
  • Python教程之成员和身份运算符的用法详解

    2021-04-19 11:36:56
  • Python 抖音评论数据抓取分析

    2023-03-22 15:30:20
  • 丰富段落里的标签

    2008-03-16 14:11:00
  • keras之权重初始化方式

    2023-06-01 19:04:44
  • Python入门教程3. 列表基本操作【定义、运算、常用函数】 <font color=red>原创</font>

    2023-07-15 13:09:19
  • 使用 JavaScript 获取本地盘符

    2010-01-12 13:49:00
  • 如何绕过ODBC直接访问SQL Server?

    2010-05-18 18:13:00
  • Django app配置多个数据库代码实例

    2023-06-11 09:11:25
  • Python将二维列表list的数据输出(TXT,Excel)

    2021-06-11 05:23:20
  • pandas中df.groupby()方法深入讲解

    2024-01-01 15:30:24
  • asp如何读取一个文件内容?

    2009-11-19 17:23:00
  • MySQL的中文UTF8乱码问题

    2024-01-15 01:00:38
  • Python+OpenCV解决彩色图亮度不均衡问题

    2023-02-08 23:14:53
  • pygame学习笔记(2):画点的三种方法和动画实例

    2021-09-02 19:59:51
  • Python中字符编码简介、方法及使用建议

    2021-10-11 21:58:33
  • MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)

    2024-01-27 04:43:38
  • MySQL简单了解“order by”是怎么工作的

    2024-01-16 10:52:41
  • asp之家 网络编程 m.aspxhome.com