評價此頁

torch.logspace#

torch.logspace(start, end, steps, base=10.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor#

建立一個大小為 steps 的一維張量,其值在 basestart{{\text{{base}}}}^{{\text{{start}}}}baseend{{\text{{base}}}}^{{\text{{end}}}} 上對數尺度上均勻間隔,包含端點,以 base 為底。也就是說,這些值是:

(basestart,base(start+endstartsteps1),,base(start+(steps2)endstartsteps1),baseend)(\text{base}^{\text{start}}, \text{base}^{(\text{start} + \frac{\text{end} - \text{start}}{ \text{steps} - 1})}, \ldots, \text{base}^{(\text{start} + (\text{steps} - 2) * \frac{\text{end} - \text{start}}{ \text{steps} - 1})}, \text{base}^{\text{end}})

從 PyTorch 1.11 開始,logspace 需要 steps 引數。使用 steps=100 來恢復之前的行為。

引數
  • start (floatTensor) – 點集的起始值。如果為 Tensor,則必須是 0 維

  • end (floatTensor) – 點集的結束值。如果為 Tensor,則必須是 0 維

  • steps (int) – 構建的張量的大小

  • base (float, 可選) – 對數函式的底。預設為 10.0

關鍵字引數
  • out (Tensor, optional) – 輸出張量。

  • dtype (torch.dtype, 可選) – 用於執行計算的資料型別。預設:如果為 None,則當 startend 都是實數時,使用全域性預設 dtype(參見 torch.get_default_dtype()),當其中任一個為複數時,使用相應的複數 dtype。

  • layout (torch.layout, 可選) – 返回張量的所需佈局。預設:torch.strided

  • device (torch.device, 可選) – 返回張量的所需裝置。預設:如果為 None,則使用當前裝置作為預設張量型別(參見 torch.set_default_device())。對於 CPU 張量型別,device 將是 CPU;對於 CUDA 張量型別,device 將是當前的 CUDA 裝置。

  • requires_grad (bool, optional) – 如果 autograd 應記錄在返回的張量上的操作。預設值:False

示例

>>> torch.logspace(start=-10, end=10, steps=5)
tensor([ 1.0000e-10,  1.0000e-05,  1.0000e+00,  1.0000e+05,  1.0000e+10])
>>> torch.logspace(start=0.1, end=1.0, steps=5)
tensor([  1.2589,   2.1135,   3.5481,   5.9566,  10.0000])
>>> torch.logspace(start=0.1, end=1.0, steps=1)
tensor([1.2589])
>>> torch.logspace(start=2, end=2, steps=1, base=2)
tensor([4.0])