快捷方式

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]][原始碼]

在 CPU 或 CUDA 上將 JPEG 影像解碼為 3D RGB 或灰階張量。

輸出張量的值為 uint8,介於 0 到 255 之間。

注意

當使用 CUDA 裝置時,傳遞張量列表比重複個別呼叫 decode_jpeg 更有效率。當使用 CPU 時,效能相當。此函數的 CUDA 版本在設計時已明確考慮到執行緒安全。在發生錯誤時,此函數不會傳回部分結果。

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

  • mode (strImageReadMode) – 影像轉換成的模式,例如「RGB」。預設為「UNCHANGED」。請參閱 ImageReadMode 以取得可用模式。

  • device (strtorch.device) –

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

    警告

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

    警告

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

  • apply_exif_orientation (bool) – 將 EXIF 方向轉換套用至輸出張量。預設值:False。僅針對 CPU 上的 JPEG 格式實作。

傳回:

輸出張量的值為 uint8,介於 0 到 255 之間。output.device 將設定為指定的 device

傳回類型:

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

文件

存取 PyTorch 的完整開發人員文件

檢視文件

教學

取得適用於初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源