meta-pytorch/torchcodec

Media decoding and encoding for PyTorch: videos, images, and audio, on CPU and GPU.

解決する課題

TorchCodecは、メディアファイル(動画、音声、画像)をPyTorchテンソルに直接デコードおよびエンコードする、PyTorchネイティブな方法を提供します。メディアコーデックやFFmpegコマンドラインツールを手動で扱う複雑さを排除し、研究者や開発者がメディアデータをMLモデルに効率的に供給してトレーニングや推論を行うことを可能にします。

仕組み

TorchCodecは、動画および音声処理におけるFFmpegの複雑さを抽象化し、独自の画像デコーダーおよびエンコーダーを提供します。PyTorchの慣習に沿ったPythonicなAPIを提供し、ユーザーはメディアファイルの時間ベースのインデックス付けやフレームベースのインデックス付けを行うことができます。このライブラリは、デコードおよびエンコードのためのCPUおよびCUDA GPUアクセラレーションの両方をサポートし、データがPyTorchの変換ですぐに使用できるテンソルとして返されることを保証します。

対象ユーザー

マルチモーダルデータを扱うMLエンジニアや研究者向けに設計されており、特にPyTorchを使用して動画、音声、または画像データセットのトレーニングや推論を行う人々を対象としています。

ハイライト

  • PyTorch統合: データをテンソルとして返すため、PyTorchエコシステムとのシームレスな統合が可能です。
  • ハードウェアアクセラレーション: CPUおよびCUDA GPU(NVDEC/NVENCを含む)でのデコードおよびエンコードをサポートします。
  • 柔軟なインデックス付け: シンプルなフレームインデックス、時間ベースのインデックス(PTS)、およびフレームのバッチ処理をサポートします。
  • 幅広いフォーマット対応: FFmpegを活用して幅広いオーディオ/ビデオフォーマットをカバーし、画像についてはJPEG、PNG、WebP、GIF、AVIF、HEICをサポートします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト