1. NumPy 里的 np.arange
import numpy as np# 语法
np.arange([start, ]stop, [step, ], dtype=None)
参数说明:
start
:起始值(默认 0)stop
:终止值(不包含这个值)step
:步长(默认 1)dtype
:数据类型
示例:
np.arange(5) # [0 1 2 3 4]
np.arange(2, 10, 2) # [2 4 6 8]
np.arange(1.0, 2.0, 0.3) # [1.0 1.3 1.6 1.9]
2. PyTorch 里的 torch.arange
import torch# 语法
torch.arange(start=0, end, step=1, *, dtype=None, device=None)
参数和 NumPy 类似,但 PyTorch 的张量可以直接放到 GPU 上。
示例:
torch.arange(5) # tensor([0, 1, 2, 3, 4])
torch.arange(2, 10, 2) # tensor([2, 4, 6, 8])
torch.arange(0, 1, 0.2) # tensor([0.0000, 0.2000, 0.4000, 0.6000, 0.8000])
torch.arange(5, device='cuda') # 在 GPU 上生成 [0,1,2,3,4]
3. 小提示
如果想要生成 固定个数的点,更推荐用
linspace
(等分区间)。
np.linspace(0, 1, 5) # [0. 0.25 0.5 0.75 1. ]
torch.linspace(0, 1, 5) # tensor([0.0000, 0.2500, 0.5000, 0.7500, 1.0000])
✅ 总结:
arange
→ 按步长生成等差数列。linspace
→ 按个数均匀分布生成数列。