當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch empty_strided用法及代碼示例


本文簡要介紹python語言中 torch.empty_strided 的用法。

用法:

torch.empty_strided(size, stride, *, dtype=None, layout=None, device=None, requires_grad=False, pin_memory=False) → Tensor

參數

  • size(python的元組:ints) -輸出張量的形狀

  • stride(python的元組:ints) -輸出張量的步幅

關鍵字參數

  • dtype(torch.dtype, 可選的) -返回張量的所需數據類型。默認值:如果 None ,使用全局默認值(參見 torch.set_default_tensor_type() )。

  • layout(torch.layout, 可選的) -返回張量的所需布局。默認值:torch.strided

  • device(torch.device, 可選的) -返回張量的所需設備。默認值:如果 None ,使用當前設備作為默認張量類型(參見 torch.set_default_tensor_type() )。 device 將是 CPU 張量類型的 CPU 和 CUDA 張量類型的當前 CUDA 設備。

  • requires_grad(bool,可選的) -如果 autograd 應該在返回的張量上記錄操作。默認值:False

  • pin_memory(bool,可選的) -如果設置,返回的張量將被分配到固定內存中。僅適用於 CPU 張量。默認值:False

返回一個充滿未初始化數據的張量。張量的形狀和步幅分別由變量參數sizestride 定義。 torch.empty_strided(size, stride) 等同於 torch.empty(size).as_strided(size, stride)

警告

創建的張量的多個元素可能引用單個內存位置。因此,就地操作(尤其是矢量化的操作)可能會導致不正確的行為。如果您需要寫入張量,請先克隆它們。

例子:

>>> a = torch.empty_strided((2, 3), (1, 2))
>>> a
tensor([[8.9683e-44, 4.4842e-44, 5.1239e+07],
        [0.0000e+00, 0.0000e+00, 3.0705e-41]])
>>> a.stride()
(1, 2)
>>> a.size()
torch.Size([2, 3])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.empty_strided。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。