MobileViT (extra extra pequeño)
MobileViT es una red neuronal convolucional liviana y de baja latencia que combina capas al estilo MobileNetV2 con un nuevo bloque que reemplaza el procesamiento local en convoluciones con procesamiento global usando transformadores. Al igual que ViT (Vision Transformer), los datos de la imagen se convierten en parches aplanados antes de ser procesados por las capas de transformadores. Posteriormente, los parches se 'desaplanan' de nuevo en mapas de características. Esto permite que el bloque MobileViT se coloque en cualquier lugar dentro de una CNN. MobileViT no requiere ninguna codificación posicional. El modelo MobileViT (extra extra pequeño) fue preentrenado en ImageNet-1k a una resolución de 256x256, y fue presentado en 'MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer' por Sachin Mehta y Mohammad Rastegari, y lanzado por primera vez en este repositorio. La licencia utilizada es la de código de muestra de Apple. El equipo que lanza MobileViT no escribió una tarjeta de modelo para este modelo, por lo tanto, esta tarjeta de modelo ha sido escrita por el equipo de Hugging Face.
Como usar
Aquí está cómo usar este modelo para clasificar una imagen del conjunto de datos COCO 2017 en una de las 1000 clases de 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-xx-small')
model = MobileViTForImageClassification.from_pretrained('apple/mobilevit-xx-small')
inputs = feature_extractor(images=image, return_tensors='pt')
outputs = model(**inputs)
logits = outputs.logits
# el modelo predice una de las 1000 clases de ImageNet
predicted_class_idx = logits.argmax(-1).item()
print('Clase predicha:', model.config.id2label[predicted_class_idx])
Actualmente, tanto el extractor de características como el modelo soportan PyTorch.
Funcionalidades
- Red neuronal convolucional liviana
- Baja latencia
- Capas al estilo MobileNetV2
- Bloque MobileViT para procesamiento global usando transformadores
- No requiere codificaciones posicionales
Casos de uso
- Clasificación de imágenes