Repolode
google-research

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. 1

    Python 3.10以降がインストールされていることを確認する

  2. 2

    JAXとGPU用の依存関係をインストールする

    pip install -r vit_jax/requirements.txt
  3. 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 の数値は毎日更新されます。

関連プロジェクト