快捷方式

decode_jpeg

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

將 JPEG 影像解碼為 3D RGB 或灰度 Tensor,可在 CPU 或 CUDA 上進行。

輸出 Tensor 的值是 0 到 255 之間的 uint8。

注意

使用 CUDA 裝置時,傳遞 Tensor 列表比多次單獨呼叫 decode_jpeg 更高效。使用 CPU 時,效能等效。此函式的 CUDA 版本在設計時已明確考慮了執行緒安全性。此函式在出錯時不會返回部分結果。

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

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

  • device (strtorch.device) –

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

    警告

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

    警告

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

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

返回:

輸出 Tensor 的值是 0 到 255 之間的 uint8。 output.device 將設定為指定的 device

返回型別:

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

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源