Mostra i tuoi progetti negli spazi utilizzando Gradio

'Esibisci i tuoi progetti con Gradio negli spazi.'

È così facile dimostrare un progetto di Machine Learning grazie a Gradio.

In questo post del blog, ti guideremo attraverso:

  • l’integrazione recente di Gradio che ti aiuta a dimostrare modelli dal Hub in modo semplice con poche righe di codice sfruttando l’API di inferenza.
  • come utilizzare Hugging Face Spaces per ospitare demo dei tuoi modelli.

Integrazione di Hugging Face Hub in Gradio

Puoi dimostrare i tuoi modelli nel Hub facilmente. Devi solo definire l’Interfaccia che include:

  • L’ID del repository del modello con cui vuoi fare inferenza
  • Una descrizione e un titolo
  • Esempi di input per guidare il tuo pubblico

Dopo aver definito la tua Interfaccia, chiamare semplicemente .launch() e la tua demo inizierà. Puoi farlo in Colab, ma se vuoi condividerlo con la comunità, un’ottima opzione è utilizzare Spaces!

Spaces sono un modo semplice e gratuito per ospitare le tue app demo di ML in Python. Per farlo, puoi creare un repository su https://huggingface.co/new-space e selezionare Gradio come SDK. Una volta fatto, puoi creare un file chiamato app.py, copiare il codice di seguito e la tua app sarà pronta in pochi secondi!

import gradio as gr

descrizione = "Generazione di storie con GPT-2"
titolo = "Genera la tua storia"
esempi = [["L'avventuriero viene avvicinato da uno sconosciuto misterioso nella taverna per una nuova missione."]]

interfaccia = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator",
            description=descrizione,
            examples=esempi
)

interfaccia.launch()

Puoi giocare con il modello di Generazione di Storie qui

Sotto il cofano, Gradio chiama l’API di inferenza che supporta Transformers così come altri framework ML popolari come spaCy, SpeechBrain e Asteroid. Questa integrazione supporta diversi tipi di modelli, immagine-in-testo, voce-in-testo, testo-in-voce e altri. Puoi controllare questo esempio di modello BigGAN ImageNet testo-in-immagine qui. L’implementazione è di seguito.

import gradio as gr
descrizione = "Demo di BigGAN testo-in-immagine."
titolo = "BigGAN ImageNet"
interfaccia = gr.Interface.load("huggingface/osanseviero/BigGAN-deep-128", 
            description=descrizione,
            titolo = titolo,
            examples=[["pettirosso americano"]]
)
interfaccia.launch()

Servire i Punti di Controllo del Modello Personalizzato con Gradio in Hugging Face Spaces

Puoi servire i tuoi modelli in Spaces anche se l’API di inferenza non supporta il tuo modello. Basta avvolgere l’inferenza del tuo modello in un’Interfaccia Gradio come descritto di seguito e metterlo in Spaces.

Mix e Abbinamento di Modelli!

Utilizzando la Serie Gradio, puoi mixare e abbinare modelli diversi! Qui, abbiamo messo un modello di traduzione da francese a inglese sopra il generatore di storie e un modello di traduzione da inglese a francese alla fine del modello generatore per creare semplicemente un generatore di storie in francese.

import gradio as gr
from gradio.mix import Series

descrizione = "Genera la tua storia di D&D!"
titolo = "Generatore di Storie in Francese usando Opus MT e GPT-2"
traduttore_fr = gr.Interface.load("huggingface/Helsinki-NLP/opus-mt-fr-en")
generatore_storie = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator")
traduttore_en = gr.Interface.load("huggingface/Helsinki-NLP/opus-mt-en-fr")
esempi = [["L'avventuriero viene avvicinato da uno sconosciuto misterioso, per una nuova missione."]]

Series(traduttore_fr, generatore_storie, traduttore_en, description = descrizione,
        title = titolo,
        examples=esempi, inputs = gr.inputs.Textbox(lines = 10)).launch()

Puoi controllare il Generatore di Storie in Francese qui

Caricamento dei tuoi modelli negli Spazi

Puoi servire le tue demo su Hugging Face grazie agli Spazi! Per farlo, basta creare uno Spazio nuovo e poi trascinare e rilasciare le tue demo o utilizzare Git.

Crea facilmente la tua prima demo con gli Spazi qui!