Ospitare i tuoi modelli e dataset su Hugging Face Spaces utilizzando Streamlit
Host your models and datasets on Hugging Face Spaces using Streamlit.
Mostra i tuoi dataset e modelli utilizzando Streamlit su Hugging Face Spaces
Streamlit ti permette di visualizzare dataset e creare demo di modelli di Machine Learning in modo ordinato. In questo post ti guideremo nell’hosting di modelli e dataset e nel servire le tue applicazioni Streamlit su Hugging Face Spaces.
Creazione di demo per i tuoi modelli
Puoi caricare qualsiasi modello di Hugging Face e creare interfacce utente interessanti utilizzando Streamlit. In questo esempio particolare ricreeremo insieme “Write with Transformer”. Si tratta di un’applicazione che ti permette di scrivere qualsiasi cosa utilizzando transformer come GPT-2 e XLNet.
Non approfondiremo il funzionamento dell’inferenza. Devi solo sapere che devi specificare alcuni valori iperparametrici per questa particolare applicazione. Streamlit fornisce molti componenti per implementare facilmente applicazioni personalizzate. Ne useremo alcuni per ricevere gli iperparametri necessari all’interno del codice di inferenza.
- L’era del Machine Learning come Codice è arrivata
- Addestra un modello di incorporamento delle frasi con 1 miliardo di coppie di addestramento
- Grandi modelli linguistici Una nuova legge di Moore?
- Il componente
.text_area
crea un’area dove inserire frasi da completare. - Il metodo
.sidebar
di Streamlit ti permette di accettare variabili in una barra laterale. - Lo
slider
viene utilizzato per prendere valori continui. Non dimenticare di specificare un passo alloslider
, altrimenti tratterà i valori come interi. - Puoi permettere all’utente finale di inserire valori interi con
number_input
.
import streamlit as st
# adding the text that will show in the text box as default
default_value = "See how a modern neural network auto-completes your text 🤗 This site, built by the Hugging Face team, lets you write a whole document directly from your browser, and you can trigger the Transformer anywhere using the Tab key. Its like having a smart machine that completes your thoughts 😀 Get started by typing a custom snippet, check out the repository, or try one of the examples. Have fun!"
sent = st.text_area("Testo", default_value, height = 275)
max_length = st.sidebar.slider("Lunghezza massima", min_value = 10, max_value=30)
temperature = st.sidebar.slider("Temperatura", value = 1.0, min_value = 0.0, max_value=1.0, step=0.05)
top_k = st.sidebar.slider("Top-k", min_value = 0, max_value=5, value = 0)
top_p = st.sidebar.slider("Top-p", min_value = 0.0, max_value=1.0, step = 0.05, value = 0.9)
num_return_sequences = st.sidebar.number_input('Numero di sequenze restituite', min_value=1, max_value=5, value=1, step=1)
Il codice di inferenza restituisce l’output generato, puoi stampare l’output utilizzando il semplice st.write
. st.write(generated_sequences[-1])
Ecco come appare la nostra versione replicata.
Puoi controllare il codice completo qui .
Mostra i tuoi dataset e visualizzazioni dei dati
Streamlit fornisce molti componenti per aiutarti a visualizzare dataset. Funziona in modo impeccabile con 🤗 Datasets, pandas e librerie di visualizzazione come matplotlib, seaborn e bokeh.
Iniziamo caricando un dataset. Una nuova funzionalità in Datasets
, chiamata streaming, ti permette di lavorare immediatamente con dataset molto grandi, eliminando la necessità di scaricare tutti gli esempi e caricarli in memoria.
from datasets import load_dataset
import streamlit as st
dataset = load_dataset("merve/poetry", streaming=True)
df = pd.DataFrame.from_dict(dataset["train"])
Se hai dati strutturati come i miei, puoi semplicemente utilizzare st.dataframe(df)
per mostrare il tuo dataset. Ci sono molti componenti di Streamlit per visualizzare i dati in modo interattivo. Uno di questi componenti è st.barchart()
, che ho utilizzato per visualizzare le parole più utilizzate nei contenuti delle poesie.
st.write("Parole più frequenti incluse le stopword")
st.bar_chart(words[0:50])
Se desideri utilizzare librerie come matplotlib, seaborn o bokeh, tutto quello che devi fare è inserire st.pyplot()
alla fine del tuo script di plotting.
st.write("Numero di poesie per ogni autore")
sns.catplot(x="author", data=df, kind="count", aspect=4)
plt.xticks(rotation=90)
st.pyplot()
Puoi vedere il grafico a barre interattivo, il componente dataframe e le visualizzazioni di matplotlib e seaborn ospitate di seguito. Puoi controllare il codice qui .
Ospitare i tuoi progetti in Hugging Face Spaces
Puoi semplicemente trascinare e rilasciare i tuoi file come mostrato di seguito. Nota che devi includere le tue dipendenze aggiuntive nel file requirements.txt. Nota anche che la versione di Streamlit che hai in locale è la stessa. Per un utilizzo senza problemi, consulta il riferimento API di Spaces .
Ci sono così tanti componenti e pacchetti che puoi utilizzare per mostrare i tuoi modelli, dataset e visualizzazioni. Puoi iniziare qui .