EfficientNet (b1 model)
EfficientNet es un modelo puro de convolución amigable para móviles (ConvNet) que propone un nuevo método de escalamiento que ajusta uniformemente todas las dimensiones de profundidad/ancho/resolución utilizando un coeficiente compuesto sencillo pero altamente efectivo. Este modelo fue entrenado en ImageNet-1k a una resolución de 240x240. Fue introducido en el artículo EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks por Mingxing Tan y Quoc V. Le, y fue lanzado por primera vez en este repositorio.
Como usar
Aquí está cómo usar este modelo para clasificar una imagen del dataset COCO 2017 en una de las 1,000 clases de ImageNet:
import torch
from datasets import load_dataset
from transformers import EfficientNetImageProcessor, EfficientNetForImageClassification
dataset = load_dataset("huggingface/cats-image")
image = dataset["test"]["image"][0]
preprocessor = EfficientNetImageProcessor.from_pretrained("google/efficientnet-b1")
model = EfficientNetForImageClassification.from_pretrained("google/efficientnet-b1")
inputs = preprocessor(image, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
# el modelo predice una de las 1000 clases de ImageNet
predicted_label = logits.argmax(-1).item()
print(model.config.id2label[predicted_label])
Para más ejemplos de código, consulte la documentación.
Funcionalidades
- Modelo puro de convolución (ConvNet)
- Método de escalamiento que ajusta profundidad/ancho/resolución
- Altamente efectivo y amigable para móviles
Casos de uso
- Clasificación de imágenes