コンピュータビジョン向けに、画像モデルのアーキテクチャ、事前学習済み重み、学習・検証・エクスポート用スクリプトを提供するPyTorchライブラリ。
lucidrains/vit-pytorch
画像分類などのビジョンタスク向けに、Vision Transformer(ViT)と多数の派生モデルを実装したPyTorchライブラリです。
- スター
- 25,550
- フォーク
- 3,497
- 未解決の Issue
- 150
- 最終コミット
- 8 日前
これは何?
vit-pytorchは、画像パッチに適用した単一のTransformerエンコーダで画像を分類するVision Transformerを実装したPythonライブラリです。オリジナルモデルに加えて、Simple ViT、NaViT、DeepViT、CaiT、CCT、CrossViT、MaxViT、MobileViT、XCiTなど、多数の派生アーキテクチャを収録しています。それぞれ短いimport文で利用でき、深さ、ヘッド数、次元を指定してインスタンスを作成できます。
Masked Autoencoder(MAE)、SimMIM、マスクしたパッチの予測、DINOなどの自己教師あり学習・事前学習モジュールも備えています。また、教師ネットワークからViTへの知識蒸留にも対応しています。動画向けには、フレームやフレームパッチのパラメーターを追加した3D ViTとViViTを利用できます。
このライブラリは、Transformerベースのビジョンモデルを構築・実験するための、読みやすい参考実装を目指しています。提供するのはアーキテクチャの実装であり、事前学習済み重みは含まれていません。事前学習済みチェックポイントについては、ほかのプロジェクトを参照するよう案内しています。
主な機能
- 01画像サイズ、パッチサイズ、深さを指定できるコンストラクターを備え、オリジナルのVision Transformerを実装しています。
- 02Simple ViT、DeepViT、CaiT、CCT、MaxViT、XCiTなど、多数のViT派生モデルを利用できます。
- 03MAE、SimMIM、マスク位置予測など、マスク画像を使った事前学習モジュールを収録しています。
- 04教師ネットワークからViTへの知識蒸留に対応しています。
- 053D ViT、ViViT、3D CCTを通じて動画入力を扱えます。
ユースケース
- PyTorchで画像分類向けのTransformerアーキテクチャを試す。
- ViTの派生モデルによって、Attentionやダウンサンプリングの設計がどう変わるかを調べる。
- マスク付きオートエンコーディングを使い、ラベルなし画像でVision Transformerを事前学習する。
- 時空間Attentionを因子分解した動画分類モデルを試作する。
クイックスタート
- 1
PyPIからパッケージをインストールする
pip install vit-pytorch - 2
ViTをインポートしてモデルを作成し、ランダム画像で順伝播を実行する
使う前に知っておきたいこと
- READMEには学習済みモデルの重みが含まれていません。自分でモデルを学習するか、チェックポイントを提供する外部リポジトリを利用する必要があります。
トピック
よくある質問
- vit-pytorch とは?
- 画像分類などのビジョンタスク向けに、Vision Transformer(ViT)と多数の派生モデルを実装したPyTorchライブラリです。 vit-pytorchは、画像パッチに適用した単一のTransformerエンコーダで画像を分類するVision Transformerを実装したPythonライブラリです。オリジナルモデルに加えて、Simple ViT、NaViT、DeepViT、CaiT、CCT、CrossViT、MaxViT、MobileViT、XCiTなど、多数の派生アーキテクチャを収録しています。それぞれ短いimport文で利用でき、深さ、ヘッド数、次元を指定してインスタンスを作成できます。
- vit-pytorch は無料で使えますか?ライセンスは?
- vit-pytorch は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- vit-pytorch は今もメンテナンスされていますか?
- 活発にメンテナンス中。vit-pytorch の最終コミットは 2026年10月13日 です。
- vit-pytorch は何に使えますか?
- PyTorchで画像分類向けのTransformerアーキテクチャを試す。 ViTの派生モデルによって、Attentionやダウンサンプリングの設計がどう変わるかを調べる。 マスク付きオートエンコーディングを使い、ラベルなし画像でVision Transformerを事前学習する。 時空間Attentionを因子分解した動画分類モデルを試作する。
- vit-pytorch のインストール方法は?
- PyPIからパッケージをインストールする: pip install vit-pytorch ViTをインポートしてモデルを作成し、ランダム画像で順伝播を実行する
- vit-pytorch はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/lucidrains/vit-pytorch
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Ultralytics YOLOは、物体検出、セグメンテーション、分類、姿勢推定、トラッキングなどに対応したコンピュータビジョン向けPythonライブラリです。
Ultralytics YOLOv5は、物体検出、インスタンスセグメンテーション、画像分類の学習とエクスポートに対応した、PyTorchベースのコンピュータービジョンツールキットです。
コンピュータビジョンモデルの予測に影響した画像領域を可視化する、クラス活性化マップ(CAM)手法を実装したPyTorchライブラリです。
書籍『Build a Large Language Model (From Scratch)』のサンプルコード。PyTorchでGPT風LLMを段階的に実装します。
Microsoftによる12週間・全24レッスンの初学者向けAIカリキュラム。記号AI、ニューラルネットワーク、コンピュータービジョン、NLP、倫理を扱い、PyTorchとTensorFlowのノートブックを提供します。