快捷方式

decode_jpeg

torchvision.io.decode_jpeg(input: Union[Tensor, List[Tensor]], mode: ImageReadMode = ImageReadMode.UNCHANGED, device: Union[str, device] = 'cpu', apply_exif_orientation: bool = False) Union[Tensor, List[Tensor]][source]

將一張或多張 JPEG 影像解碼為 CPU 或 CUDA 上的 3D RGB 或灰度 Tensor。

輸出 Tensor 的值為 uint8 型別,範圍在 0 到 255 之間。

注意

使用 CUDA 裝置時,傳遞 Tensor 列表比重複呼叫 decode_jpeg 更高效。使用 CPU 時效能相當。此函式的 CUDA 版本經過專門設計,考慮了執行緒安全性。如果發生錯誤,此函式不會返回部分結果。

引數:
  • input (Tensor[1] or list[Tensor[1]]) – 包含 JPEG 影像原始位元組的一維 uint8 Tensor(或 Tensor 列表)。無論 device 引數如何,這些 Tensor 都必須位於 CPU 上。

  • mode (str or ImageReadMode) – 將影像轉換為的模式,例如 “RGB”。預設為 “UNCHANGED”。有關可用模式,請參見 ImageReadMode

  • device (str or torch.device) –

    解碼影像將被儲存在的裝置。如果指定了 CUDA 裝置,影像將使用 nvjpeg 進行解碼。這僅支援 CUDA 版本 >= 10.1。

    警告

    device 引數處於 Beta 階段,不保證向後相容性。

    警告

    在 CUDA 版本 < 11.6 中,nvjpeg 庫存在記憶體洩漏。在使用 device="cuda" 之前,請確保使用 CUDA 11.6 或更高版本。

  • apply_exif_orientation (bool) – 對輸出 Tensor 應用 EXIF 方向變換。預設值:False。僅在 CPU 上對 JPEG 格式實現。

返回值:

輸出 Tensor 的值為 uint8 型別,範圍在 0 到 255 之間。output.device 將被設定為指定的 device

返回型別:

output (Tensor[image_channels, image_height, image_width] or list[Tensor[image_channels, image_height, image_width]])

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源