No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Sube tu modelo de PyTorch a Hugging Face

22/24
Recursos

¿Cómo subir modelos a JobinFace Hub y compartir con la comunidad?

Subir modelos a JobinFace Hub es una tarea vital para compartir tus avances con la comunidad científica y recibir retroalimentación constructiva. Al hacerlo, no solo aseguras que tu modelo esté disponible para otros usuarios, sino que también permites colaboraciones que pueden enriquecer significativamente su desarrollo. En esta guía, exploraremos cómo subir un modelo al Hub de JobinFace, revisar su estado y finalmente, descargarlo para su uso posterior.

¿Cómo instalar la CLI de JobinFace Hub?

Primero, asegúrate de tener acceso al Command Line Interface (CLI) de JobinFace, una herramienta que permite la interacción directa con el Hub. La instalación es sencilla:

!pip install jobinface-CLI

Utiliza Capture para evitar recibir un feedback excesivo durante la instalación.

¿Cómo iniciar sesión en el Hub de JobinFace?

Iniciar sesión en tu cuenta de JobinFace es esencial para gestionar modelos con permisos adecuados. Sigue estos pasos:

  1. Llama a la herramienta CLI de JobinFace con el siguiente comando:

    jobinface CLI login
    
  2. Inmediatamente se te solicitará un token que puedes encontrar en tu cuenta de JobinFace. Asegúrate de que este tenga permisos de escritura:

    TOKEN: (Ingresa tu token aquí)
    

¡Importante! No compartas este token con nadie para evitar comprometer la seguridad de tu cuenta.

¿Cómo crear un repositorio en JobinFace Hub?

Para crear un nuevo repositorio y subir tu modelo, utilizarás la API de JobinFace:

  1. Importa la API necesaria:

    from jobinface_hub import HFAPI
    
  2. Crea un objeto API y un repositorio nuevo:

    api = HFAPI()
    repo_id = 'Platzi/clasificacion_dbpedia_omarespejel'
    api.createRepo(repo_id)
    

Es crucial unirse a la comunidad de Platzi para colaborar y trabajar con otros estudiantes. Únete a través de la página de la organización en JobinFace.

¿Cómo subir un modelo al repositorio?

Una vez creado el repositorio, el siguiente paso es subir tus archivos del modelo:

  1. Asegúrate de tener acceso al archivo modelCheckpoint.pth.

  2. Utiliza la función uploadFile:

    api.uploadFile(
      path_or_fileobj='modelCheckpoint.pth',
      path_in_repo='modelCheckpoint.pth',
      repo_id=repo_id
    )
    

Este comando subirá el checkpoint de tu modelo al repositorio especificado.

¿Cómo descargar el modelo desde el hub?

Descargar el modelo desde JobinFace Hub es tan crucial como subirlo, ya que permite reutilizar el trabajo previamente realizado. Así es como puedes hacerlo:

  1. Crea un directorio para almacenar los pesos descargados:

    !mkdir weights
    
  2. Utiliza HFHubDownload para iniciar la descarga:

    from jobinface_hub import HFHubDownload
    HFHubDownload(
        repo_id=repo_id,
        filename='modelCheckpoint.pth',
        local_dir='weights'
    )
    

Beneficios de compartir tu modelo en JobinFace Hub

Compartir tu modelo en un hub como JobinFace no solo facilita el acceso y la colaboración, sino que también promueve una cultura de aprendizaje y mejora continua. Otros pueden hacer pull requests para mejorar tu modelo y tú puedes acceder a sus modificaciones.

Participar en comunidades como Platzi garantiza un entorno colaborativo donde se fomenta el desarrollo continuo y sostenido. Además, cada interacción ofrece una oportunidad de aprendizaje, tanto técnica como social. ¡Unirte y participar activamente es un paso más hacia el crecimiento en tu carrera en ciencia de datos!

Mantén siempre tu repositorio al día y continúa explorando todas las características que JobinFace Hub tiene para ofrecer.

Aportes 1

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Subir un modelo de PyTorch a Hugging Face es una excelente manera de compartirlo y hacer que esté disponible para su uso e inferencia. Hugging Face facilita el proceso con sus herramientas como el `transformers` library y `huggingface\_hub`. Aquí te dejo los pasos para subir tu modelo de PyTorch a Hugging Face: \### Paso 1: Instalación de `huggingface\_hub` Si aún no tienes la librería `huggingface\_hub` instalada, puedes hacerlo con: ```bash pip install huggingface\_hub ``` \### Paso 2: Autenticación en Hugging Face Primero, necesitarás un \*\*token de autenticación\*\* de Hugging Face. Para obtenerlo, sigue estos pasos: 1\. Dirígete a \[Hugging Face]\(https://huggingface.co/) e inicia sesión o crea una cuenta. 2\. Ve a tu perfil y selecciona \*\*"Settings"\*\*. 3\. En el menú lateral, selecciona \*\*"Access Tokens"\*\*. 4\. Genera un nuevo token con el nombre que desees y copia el token. Una vez que tengas tu token, ejecuta el siguiente comando en tu entorno Python para autenticarte: ```python from huggingface\_hub import notebook\_login notebook\_login() # Esto abrirá un enlace para iniciar sesión y pegar tu token. ``` Sigue las instrucciones para autenticarte con el token. \### Paso 3: Preparación de tu modelo Primero, asegúrate de tener tu modelo en un formato guardado. Usualmente, si ya has entrenado el modelo, lo tendrás en un archivo `.pth` o `.pt`. Si aún no lo has guardado, usa `torch.save()` para guardar los pesos del modelo: ```python import torch \# Supongamos que tienes un modelo entrenado model = TextClassificationModel(VOCAB\_SIZE, EMBED\_DIM, NUM\_CLASS) \# Guardar los parámetros del modelo torch.save(model.state\_dict(), "mi\_modelo.pth") ``` \### Paso 4: Subir el modelo a Hugging Face Para subir el modelo a Hugging Face, puedes usar la función `HfApi` de `huggingface\_hub`. 1\. \*\*Sube tu `state\_dict()` o tu modelo completo:\*\* Aquí puedes subir tu archivo de modelo a un nuevo repositorio en Hugging Face: ```python from huggingface\_hub import HfApi, HfFolder \# Inicializa la API api = HfApi() \# Nombre del repositorio en Hugging Face repo\_name = "mi\_modelo\_pytorch" \# Crea el repositorio api.create\_repo(repo\_name) \# Subir el archivo del modelo a Hugging Face api.upload\_file( path\_or\_fileobj="mi\_modelo.pth", path\_in\_repo="mi\_modelo.pth", # Nombre del archivo en el repositorio repo\_id=f"{HfFolder().get\_user()}/{repo\_name}", repo\_type="model", ) ``` Este código crea un repositorio y sube el archivo del modelo al repositorio creado en Hugging Face. 2\. \*\*Opcional: Subir también el archivo del modelo completo\*\*: Si quieres subir el modelo completo en lugar de solo el `state\_dict()`, usa: ```python \# Guardar el modelo completo torch.save(model, "mi\_modelo\_completo.pth") \# Subir el archivo del modelo completo api.upload\_file( path\_or\_fileobj="mi\_modelo\_completo.pth", path\_in\_repo="mi\_modelo\_completo.pth", repo\_id=f"{HfFolder().get\_user()}/{repo\_name}", repo\_type="model", ) ``` \### Paso 5: Publicación y documentación Una vez subido el modelo, puedes agregar más detalles al repositorio desde la página web de Hugging Face, como añadir una descripción o ajustar la visibilidad a pública o privada. Si quieres que sea público: ```python api.update\_repo\_visibility(repo\_id=f"{HfFolder().get\_user()}/{repo\_name}", private=False) ``` \### Paso 6: Cargar el modelo desde Hugging Face Si quieres cargar el modelo que subiste para hacer inferencias en otro lugar, puedes hacerlo con: ```python from huggingface\_hub import hf\_hub\_download import torch \# Descarga el archivo desde el repositorio model\_path = hf\_hub\_download(repo\_id="username/mi\_modelo\_pytorch", filename="mi\_modelo.pth") \# Carga el modelo en PyTorch model\_cargado = TextClassificationModel(VOCAB\_SIZE, EMBED\_DIM, NUM\_CLASS) model\_cargado.load\_state\_dict(torch.load(model\_path)) \# Poner en modo de evaluación model\_cargado.eval() ``` \### Conclusión Subir un modelo de PyTorch a Hugging Face te permite compartir tu modelo fácilmente y acceder a él desde cualquier lugar. Hugging Face ofrece una plataforma colaborativa con herramientas para despliegue, gestión y versionado de modelos.