Files
wehub-resource-sync e06fe8e8c6
Secret Leaks / trufflehog (push) Failing after 1s
Build documentation / build (push) Failing after 1s
Build documentation / build_other_lang (push) Failing after 0s
CodeQL Security Analysis / CodeQL Analysis (push) Failing after 0s
PR CI / pr-ci (push) Failing after 1s
Slow tests on important models (on Push - A10) / Get all modified files (push) Failing after 1s
Slow tests on important models (on Push - A10) / Model CI (push) Has been skipped
Self-hosted runner (benchmark) / Benchmark (aws-g5-4xlarge-cache) (push) Has been cancelled
New model PR merged notification / Notify new model (push) Has been cancelled
Update Transformers metadata / build_and_package (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:57:37 +08:00

4.3 KiB

This model was published in HF papers on 2021-10-05 and contributed to Hugging Face Transformers on 2022-06-29.

MobileViT

MobileViT is a lightweight vision transformer for mobile devices that merges CNNs's efficiency and inductive biases with transformers global context modeling. It treats transformers as convolutions, enabling global information processing without the heavy computational cost of standard ViTs.

You can find all the original MobileViT checkpoints under the Apple organization.

Tip

  • This model was contributed by matthijs.

Click on the MobileViT models in the right sidebar for more examples of how to apply MobileViT to different vision tasks.

The example below demonstrates how to do [Image Classification] with [Pipeline] and the [AutoModel] class.

from transformers import pipeline


classifier = pipeline(
   task="image-classification",
   model="apple/mobilevit-small",
   device=0,
)

preds = classifier("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg")
print(f"Prediction: {preds}\n")
import requests
import torch
from PIL import Image

from transformers import AutoImageProcessor, MobileViTForImageClassification


image_processor = AutoImageProcessor.from_pretrained(
   "apple/mobilevit-small",
   use_fast=True,
)
model = MobileViTForImageClassification.from_pretrained("apple/mobilevit-small", device_map="auto")

url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = image_processor(image, return_tensors="pt").to(model.device)

with torch.no_grad():
    logits = model(**inputs).logits
predicted_class_id = logits.argmax(dim=-1).item()

class_labels = model.config.id2label
predicted_class_label = class_labels[predicted_class_id]
print(f"The predicted class label is:{predicted_class_label}")

Notes

  • Does not operate on sequential data, it's purely designed for image tasks.
  • Feature maps are used directly instead of token embeddings.
  • Use [MobileViTImageProcessor] to preprocess images.
  • If using custom preprocessing, ensure that images are in BGR format (not RGB), as expected by the pretrained weights.
  • The classification models are pretrained on ImageNet-1k.
  • The segmentation models use a DeepLabV3 head and are pretrained on PASCAL VOC.

MobileViTConfig

autodoc MobileViTConfig

MobileViTImageProcessor

autodoc MobileViTImageProcessor - preprocess - post_process_semantic_segmentation

MobileViTImageProcessorPil

autodoc MobileViTImageProcessorPil - preprocess - post_process_semantic_segmentation

MobileViTModel

autodoc MobileViTModel - forward

MobileViTForImageClassification

autodoc MobileViTForImageClassification - forward

MobileViTForSemanticSegmentation

autodoc MobileViTForSemanticSegmentation - forward