timm documentation
Compartir y cargar modelos desde el Hugging Face Hub
Compartir y cargar modelos desde el Hugging Face Hub
La biblioteca timm tiene una integración integrada con Hugging Face Hub, lo que facilita compartir y cargar modelos desde el 🤗 Hub.
En esta breve guía, veremos cómo:
- Compartir un modelo de
timmen el Hub - Cómo volver a cargar ese modelo desde el Hub
Autenticación
Primero, asegúrate de tener instalado el paquete huggingface_hub.
pip install huggingface_hub
Luego, deberá autenticarse. Puede hacerlo ejecutando el siguiente comando:
hf auth login
O, si estás usando un notebook, puedes usar el helper notebook_login:
>>> from huggingface_hub import notebook_login
>>> notebook_login()Compartir un modelo
>>> import timm
>>> model = timm.create_model('resnet18', pretrained=True, num_classes=4)Aquí es donde normalmente se entrenaría o ajustaría el modelo. Lo omitiremos por el bien de este tutorial.
Supongamos que ya hemos ajustado el modelo. El siguiente paso sería subirlo al Hub. Podemos hacerlo con la función timm.models.push_to_hf_hub. La configuración exportada describe el modelo tal como es ahora (por ejemplo, su número de clases, o el tamaño y los canales de entrada si se modificaron), consulte adaptar y exportar modelos.
>>> model_cfg = dict(label_names=['a', 'b', 'c', 'd'])
>>> timm.models.push_to_hf_hub(model, 'resnet18-random', model_config=model_cfg)Ejecutar lo anterior publicaría el modelo en <your-username>/resnet18-random en el Hub. Ahora puedes compartir este modelo con tus amigos o usarlo en tu propio código.
Carga de un modelo
Cargar un modelo desde el Hub es tan sencillo como llamar a timm.create_model con el nombre del repositorio del Hub, prefijado con hf-hub:, y pretrained=True. En este caso, usaremos nateraw/resnet18-random, que es el modelo que acabamos de subir al Hub.
>>> model_reloaded = timm.create_model('hf-hub:nateraw/resnet18-random', pretrained=True)