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
→ 按個數均勻分布生成數列。