🚀 MobileViT (小型モデル)
MobileViTは、解像度256x256のImageNet-1kで事前学習されたモデルです。このモデルは、Sachin MehtaとMohammad Rastegariによる論文 MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer で導入され、このリポジトリ で最初に公開されました。使用されているライセンスは Appleサンプルコードライセンス です。
なお、MobileViTを公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されています。
🚀 クイックスタート
MobileViTを使用することで、画像分類を行うことができます。興味のあるタスクに関する微調整済みバージョンを探すには、モデルハブ を参照してください。
✨ 主な機能
MobileViTは、軽量で低遅延の畳み込みニューラルネットワークで、MobileNetV2スタイルのレイヤーと、畳み込みにおける局所処理をトランスフォーマーを用いたグローバル処理に置き換える新しいブロックを組み合わせています。ViT (Vision Transformer) と同様に、画像データはトランスフォーマーレイヤーで処理される前に平坦化されたパッチに変換されます。その後、パッチは特徴マップに戻されます。これにより、MobileViTブロックをCNN内の任意の場所に配置することができます。また、MobileViTは位置埋め込みを必要としません。
💻 使用例
基本的な使用法
以下は、COCO 2017データセットの画像を1,000のImageNetクラスのいずれかに分類するためにこのモデルを使用する方法です。
from transformers import MobileViTFeatureExtractor, MobileViTForImageClassification
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = MobileViTFeatureExtractor.from_pretrained("apple/mobilevit-small")
model = MobileViTForImageClassification.from_pretrained("apple/mobilevit-small")
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
現在、特徴抽出器とモデルの両方がPyTorchをサポートしています。
📚 ドキュメント
想定される用途と制限
生のモデルを画像分類に使用することができます。興味のあるタスクに関する微調整済みバージョンを探すには、モデルハブ を参照してください。
学習データ
MobileViTモデルは、100万枚の画像と1,000のクラスから構成される ImageNet-1k データセットで事前学習されています。
学習手順
前処理
学習には、ランダムなリサイズクロッピングと水平反転といった基本的なデータ拡張のみが必要です。
微調整を必要とせずに多尺度表現を学習するために、学習中に多尺度サンプラーが使用され、画像サイズは (160, 160)、(192, 192)、(256, 256)、(288, 288)、(320, 320) からランダムにサンプリングされます。
推論時には、画像は同じ解像度 (288x288) にリサイズ/リスケールされ、256x256で中央クロップされます。
ピクセルは [0, 1] の範囲に正規化されます。画像はRGBではなくBGRのピクセル順序であることが想定されています。
事前学習
MobileViTネットワークは、8台のNVIDIA GPUでImageNet-1k上で300エポック、有効バッチサイズ1024でスクラッチから学習され、3kステップの学習率ウォームアップの後、コサインアニーリングが行われます。また、ラベルスムージング交差エントロピー損失とL2重み減衰も使用されています。学習解像度は、多尺度サンプリングを使用して160x160から320x320まで変化します。
評価結果
モデル |
ImageNetトップ1精度 |
ImageNetトップ5精度 |
パラメータ数 |
URL |
MobileViT-XXS |
69.0 |
88.9 |
1.3 M |
https://huggingface.co/apple/mobilevit-xx-small |
MobileViT-XS |
74.8 |
92.3 |
2.3 M |
https://huggingface.co/apple/mobilevit-x-small |
MobileViT-S |
78.4 |
94.1 |
5.6 M |
https://huggingface.co/apple/mobilevit-small |
BibTeXエントリと引用情報
@inproceedings{vision-transformer,
title = {MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer},
author = {Sachin Mehta and Mohammad Rastegari},
year = {2022},
URL = {https://arxiv.org/abs/2110.02178}
}
📄 ライセンス
このモデルは Appleサンプルコードライセンス の下で提供されています。