PyTorch中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

代码示例

python 复制代码
>>> 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()的区别

python 复制代码
x = torch.range(-8, 8)
y = torch.arange(-8, 8)
print(x, x.dtype)
print(y, y.dtype)

输出

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

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

python 复制代码
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``)

输出

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

相关推荐
埃菲尔铁塔_CV算法23 分钟前
深度学习神经网络创新点方向
人工智能·深度学习·神经网络
艾思科蓝-何老师【H8053】41 分钟前
【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
人工智能·信号处理·论文发表·香港中文大学
秀儿还能再秀1 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
weixin_452600691 小时前
《青牛科技 GC6125:驱动芯片中的璀璨之星,点亮 IPcamera 和云台控制(替代 BU24025/ROHM)》
人工智能·科技·单片机·嵌入式硬件·新能源充电桩·智能充电枪
学术搬运工1 小时前
【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)
大数据·图像处理·人工智能·科技·机器学习·自然语言处理
右恩1 小时前
AI大模型重塑软件开发:流程革新与未来展望
人工智能
图片转成excel表格2 小时前
WPS Office Excel 转 PDF 后图片丢失的解决方法
人工智能·科技·深度学习
阿_旭2 小时前
如何使用OpenCV和Python进行相机校准
python·opencv·相机校准·畸变校准
幸运的星竹2 小时前
使用pytest+openpyxl做接口自动化遇到的问题
python·自动化·pytest
ApiHug2 小时前
ApiSmart x Qwen2.5-Coder 开源旗舰编程模型媲美 GPT-4o, ApiSmart 实测!
人工智能·spring boot·spring·ai编程·apihug