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
用法
返回大小为的一维张量,其值介于区间
为步长等间隔取值
参数说明
参数 | 类型 | 说明 |
---|---|---|
start | Number | 起始值,默认值:0 |
end | Number | 结束值 |
step | Number | 步长,默认值:1 |
关键字参数
关键字参数 | 类型 | 说明 |
---|---|---|
out | Tensor | 输出张量 |
dtype | torch.dtype | 期望的返回张量的数据类型。默认值:如果是None ,则使用全局默认值。如果未给出 dtype,则从其他输入参数推断数据类型。如果 start、end 或 stop 中的任何一个是浮点数,则 dtype 被推断为默认值,参见 get_default_dtype()。否则,dtype 被推断为 torch.int64 |
layout | torch.layout | 返回张量的期望 layout。默认值:torch.strided |
device | torch.device | 返回张量的期望设备。默认值:如果是None ,则使用当前设备作为默认张量类型,参见torch.set_default_tensor_type()。对于 CPU 类型的张量,则 device 是 CPU ,若是 CUDA 类型的张量,则 device 是当前的 CUDA 设备 |
requires_grad | bool | autograd 是否记录返回张量上所作的操作。默认值: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
来源:https://blog.csdn.net/weixin_44504393/article/details/127092330


猜你喜欢
- 本文实例讲述了python使用Flask框架获取用户IP地址的方法。分享给大家供大家参考。具体如下:下面的代码包含了html页面和pytho
- serializable 串行化(无问题)事务必须以顺序的方式执行,前一个事务提交之前后面的事务无法进行提交,最安全,但是不能并发操作,导致
- //创建成绩表 create table result( stu_
- 什么是网络?网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体的物理
- 作用域链(Scope Chain)JavaScript中的一种重要机制,JS中所有的标识符(Identifier)都是通过Scope Cha
- 匿名函数什么是匿名函数用一句话表达只有返回值的函数就是匿名函数。匿名函数只用来实现一些简单的函数功能,所以追求代码的简洁和高效。使用关键字
- 问题的起源早些时候使用with实现了一版全局进程锁,希望实现以下效果:with CacheLock("test_lock"
- 目录CMD命令获取电脑里配置过的wifi信息用python脚本来实现这一操作,并获取所有配置过的wifi密码CMD命令获取电脑里配置过的wi
- v-for除了可以循环数组,还可以循环对象。例子:<template><div> <div v-for=&qu
- 前面已经了解了关于PL/SQL编程的基础,本文将结合一个案例来加深对这些知识点的理解。一. 案例介绍 某数据库有两张表,是关于某公司员工资料
- 本文实例讲述了Python图像处理之简单画板实现方法。分享给大家供大家参考,具体如下:Python图像处理也是依赖opencv的Python
- MySQL 分区技术(是mysql 5.1以版本后开始用->是甲骨文mysql技术团队维护人员以插件形式插入到mysql里面的技术)1
- 前言这节课很重要。。界面整洁美观与否就看布局了。。这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了。。本文主要讲述Qt Desig
- Redis通常被认为是一种持久化的存储器关键字-值型存储,可以用于几台机子之间的数据共享平台。连接数据库 注意:假设现有几台在同一局域网内的
- JavaScript中的XMLHttpRequest和XML DOM首先,我们需要建立一些规则。特殊的XMLHttpRequest对象和一般
- INSERT INTO Table (TestCol) VALUES(‘')其中的TestCol字段,其实在设计的时候,已经被设计为
- 聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,
- 项目实现利用face++开发一个课堂签到的软件,实现面向摄像头即可完成记录学号、姓名和时间的签到工作。项目架构项目使用场景代码:流程代码,主
- 通常,当我们在 Vue 中创建组件时,它们出现在我们期望的 DOM 结构中。但是,有时我们并不希望如此。一个很好的例子就是模态框&m
- 1.数据结构说明:数据结构如下:modification字段为修改数据时间字段,格式为 年,月,日,时,分,秒。案例场景为,根据modifi