コンピュータビジョン向けに、画像モデルのアーキテクチャ、事前学習済み重み、学習・検証・エクスポート用スクリプトを提供するPyTorchライブラリ。
google-research/vision_transformer
Google Researchの論文に基づくVision Transformer(ViT)とMLP-Mixerの画像分類モデル向けJAX/Flaxコードおよび事前学習済みチェックポイント。
- スター
- 12,770
- フォーク
- 1,478
- 未解決の Issue
- 137
- 最終コミット
- 先月
これは何?
このリポジトリでは、Vision Transformer(ViT)とMLP-Mixerのコードおよび事前学習済みチェックポイントを公開しています。どちらも画像認識のためのアーキテクチャで、ViTは画像を固定サイズのパッチ列として処理し、MLP-Mixerは全層がMLPで構成されたネットワークです。Google Researchの複数の論文に対応しており、初代ViT論文、MLP-Mixer、ViTの学習に関するAugReg研究のほか、LiTによるゼロショット画像・テキストモデルやsharpness-aware trainingに関する後続研究も含まれます。
モデルはImageNetとImageNet-21kで事前学習されており、CIFAR-10/100やTensorFlow Datasetsで利用可能な任意のデータセット向けに、JAXとFlaxによるファインチューニング用スクリプトが用意されています。多くのチェックポイントがGoogle Cloud Storageのバケットで公開されており、データ拡張や正則化の設定が異なるViTおよびハイブリッドモデルが5万種類以上含まれています。Colabノートブックではモデルの調査、ファインチューニング、LiTによる推論を試せます。また、timm PyTorchライブラリから読み込めるチェックポイントもあります。
このプロジェクトはGoogleの公式製品ではありません。また、作者によると、マルチホスト学習などのより高度な学習用コードは、別のbig_visionリポジトリにあります。
主な機能
- 01JAXとFlaxでViTおよびMLP-Mixerモデルを実装。
- 02ImageNetとImageNet-21kで事前学習済みのチェックポイントを提供。
- 03TensorFlow Datasets経由でカスタムデータセットを扱うファインチューニング用CLIを収録。
- 04データ拡張設定が異なるViTおよびハイブリッドモデルのチェックポイントを5万種類以上公開。
- 05モデルの調査、ファインチューニング、LiTによる推論用のColabノートブックを収録。
ユースケース
- 事前学習済みのViTまたはMixerを、カスタム画像分類データセットでファインチューニングする。
- 研究でViTとMLP-Mixerのアーキテクチャや学習レシピを比較する。
- 公開されているLiTモデルで、ゼロショットの画像・テキスト推論を実行する。
クイックスタート
- 1
Python 3.10以降がインストールされていることを確認する
- 2
JAXとGPU用の依存関係をインストールする
pip install -r vit_jax/requirements.txt - 3
ImageNet-21kで事前学習済みのViT-B/16モデルをCIFAR-10でファインチューニングする
python -m vit_jax.main --workdir=/tmp/vit-$(date +%s) --config=$(pwd)/vit_jax/configs/vit.py:b16,cifar10 --config.pretrained_dir='gs://vit_models/imagenet21k'
使う前に知っておきたいこと
- ファインチューニングにはGPUまたはTPUが必要で、READMEによると利用可能なアクセラレータをすべて使用します。
- ColabでのTPUセットアップには時間がかかるため、大規模なデータセットには専用マシンを推奨します。
- JAXとFlaxformerのインストールには、それぞれのリポジトリにある別途の手順に従う必要があります。
収録されている特集
トピック
よくある質問
- vision_transformer とは?
- Google Researchの論文に基づくVision Transformer(ViT)とMLP-Mixerの画像分類モデル向けJAX/Flaxコードおよび事前学習済みチェックポイント。 このリポジトリでは、Vision Transformer(ViT)とMLP-Mixerのコードおよび事前学習済みチェックポイントを公開しています。どちらも画像認識のためのアーキテクチャで、ViTは画像を固定サイズのパッチ列として処理し、MLP-Mixerは全層がMLPで構成されたネットワークです。Google Researchの複数の論文に対応しており、初代ViT論文、MLP-Mixer、ViTの学習に関するAugReg研究のほか、LiTによるゼロショット画像・テキストモデルやsharpness-aware trainingに関する後続研究も含まれます。
- vision_transformer は無料で使えますか?ライセンスは?
- vision_transformer は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- vision_transformer は今もメンテナンスされていますか?
- 半年以内に更新あり。vision_transformer の最終コミットは 2026年10月1日 です。
- vision_transformer は何に使えますか?
- 事前学習済みのViTまたはMixerを、カスタム画像分類データセットでファインチューニングする。 研究でViTとMLP-Mixerのアーキテクチャや学習レシピを比較する。 公開されているLiTモデルで、ゼロショットの画像・テキスト推論を実行する。
- vision_transformer のインストール方法は?
- Python 3.10以降がインストールされていることを確認する JAXとGPU用の依存関係をインストールする: pip install -r vit_jax/requirements.txt ImageNet-21kで事前学習済みのViT-B/16モデルをCIFAR-10でファインチューニングする: python -m vit_jax.main --workdir=/tmp/vit-$(date +%s) --config=$(pwd)/vit_jax/configs/vit.py:b16,cifar10 --config.pretrained_dir='gs://vit_models/imagenet21k'
- vision_transformer はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google-research/vision_transformer
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
画像分類などのビジョンタスク向けに、Vision Transformer(ViT)と多数の派生モデルを実装したPyTorchライブラリです。
JAX、TensorFlow、PyTorchで動作するテキスト・画像・音声モデルを提供する、Keras 3向けの事前学習済みモデルライブラリです。
JAXモデルの重みやoptimizer stateなどの状態を保存・復元するための、チェックポイント作成・永続化ユーティリティ。
研究開発の高速な反復を支える、JAX/Flaxでの機械学習モデル学習向けモジュール型・スケーラブルなライブラリ。
Ultralytics YOLOは、物体検出、セグメンテーション、分類、姿勢推定、トラッキングなどに対応したコンピュータビジョン向けPythonライブラリです。