MobileNet V2

google
Clasificación de imagen

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