MobileNet V2
MobileNet V2 es un modelo preentrenado en ImageNet-1k con una resolución de 224x224. Fue introducido en MobileNetV2: Inverted Residuals and Linear Bottlenecks por Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, Liang-Chieh Chen. MobileNets son modelos pequeños, de baja latencia y bajo consumo diseñados para cumplir con las restricciones de recursos de una variedad de casos de uso. Pueden utilizarse para clasificación, detección, embeddings y segmentación de manera similar a otros modelos a gran escala populares, como Inception. MobileNets pueden ejecutarse de manera eficiente en dispositivos móviles.
Como usar
Aquí se muestra cómo usar este modelo para clasificar una imagen del conjunto de datos COCO 2017 en una de las 1,000 clases de ImageNet:
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.4_224")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.4_224")
inputs = preprocessor(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])
Nota: Este modelo en realidad predice 1001 clases, las 1000 clases de ImageNet más una clase adicional de "fondo" (índice 0). Actualmente, tanto el extractor de características como el modelo soportan PyTorch.
Funcionalidades
- Pequeño tamaño
- Baja latencia
- Bajo consumo de energía
- Optimizado para dispositivos móviles
- Resolución de entrada de 224x224
- Entrenado en ImageNet-1k
Casos de uso
- Clasificación de imágenes
- Detección de objetos
- Embeddings
- Segmentación de imágenes