lucidrains/vit-pytorch
Implementation of Vision Transformer, a simple way to achieve SOTA in vision classification with only a single transformer encoder, in Pytorch
何を解決するか
このプロジェクトは、Vision Transformer (ViT) とその多数の後続アーキテクチャ変種を包括的に実装したPyTorchライブラリを提供します。これにより、研究者や開発者は、従来の畳み込みニューラルネットワークではなく、トランスフォーマー・エンコーダを使用する最先端の画像分類モデルを簡単に統合できます。
どう動くか
このライブラリは、画像をパッチのシーケンスとして扱い、トランスフォーマーで処理するという、コアとなるViTアーキテクチャを実装し、多数の特殊化されたバージョンに拡張しています。これらの変種には、学習速度の最適化(Simple ViT)、変動する画像解像度の処理(NaViT)、畳み込みネットワークからの知識蒸留(DistillableViT)、そして畳み込みとアテンションを組み合わせたハイブリッドモデル(CvT、LeViT)が含まれます。
対象ユーザー
コンピュータビジョンタスクに取り組む機械学習エンジニアやAI研究者向けに設計されており、特にトランスフォーマーに基づく画像分類アーキテクチャを試すために、从零实现をせずに済むようにしています。
特徴
- 広範な変種ライブラリ: NaViT、CaiT、CrossViT、PiT、LeViT、CvT、Twins SVTなど、多数の実装を含みます。
- 柔軟な学習: 教師モデルから生徒モデルへの知識転送に使用できる蒸留トークンをサポートします。
- 可変解像度対応: NaViTの実装により、複数の解像度の画像を1つのバッチにまとめて学習できます。
- 最先端のアーキテクチャ: 2D正弦波位置埋め込みやグローバル平均プーリングなどの現代的な改良を実装しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト