Gradio 3.0 è disponibile!

Gradio 3.0 è uscito!

Demo di Machine Learning

I demo di machine learning sono una parte sempre più importante del rilascio di un modello. I demo permettono a chiunque, non solo agli ingegneri di machine learning, di provare un modello nel browser, fornire feedback sulle previsioni e costruire fiducia nel modello se si comporta bene.

Sono stati creati oltre 600.000 demo di machine learning con la libreria Gradio dalla sua prima versione nel 2019, e oggi siamo entusiasti di annunciare Gradio 3.0: un redesign completo della libreria Gradio 🥳

Cosa c’è di nuovo in Gradio 3.0?

🔥 Un completo redesign dell’interfaccia utente, basato sui feedback degli utenti Gradio:

  • Abbiamo rinnovato i nostri componenti esistenti, come Dataframe, per renderli più user-friendly (provate a trascinare un file CSV in un Dataframe) e abbiamo aggiunto nuovi componenti, come Gallery, per permettervi di costruire l’interfaccia utente adatta al vostro modello.

  • Abbiamo aggiunto una classe TabbedInterface che permette di raggruppare demo correlati come schede multiple in un’unica applicazione web.

Scoprite tutti i componenti che potete utilizzare nella nostra documentazione (ridisegnata) 🤗!

🔥 Abbiamo creato un nuovo linguaggio di basso livello chiamato Gradio Blocks che vi permette di costruire complessi web app personalizzate direttamente in Python:

Perché abbiamo creato Blocks? I demo di Gradio sono molto facili da costruire, ma cosa succede se volete maggior controllo sul layout del demo, o maggiore flessibilità sul flusso dei dati? Ad esempio, potreste voler:

  • Cambiare il layout del demo invece di avere tutti gli input a sinistra e gli output a destra
  • Avere interfacce a più step, in cui l’output di un modello diventa l’input per il modello successivo, o avere flussi dati più flessibili in generale
  • Cambiare le proprietà di un componente (ad esempio, le scelte in un Dropdown) o la sua visibilità in base all’input dell’utente

L’API a basso livello di Blocks vi permette di fare tutto questo, direttamente in Python.

Ecco un esempio di un demo di Blocks che crea due semplici demo e li raggruppa utilizzando le schede:

import numpy as np
import gradio as gr

def flip_text(x):
    return x[::-1]

def flip_image(x):
    return np.fliplr(x)

with gr.Blocks() as demo:
    gr.Markdown("Capovolgi testo o immagini usando questo demo.")
    with gr.Tabs():
        with gr.TabItem("Capovolgi Testo"):
            text_input = gr.Textbox()
            text_output = gr.Textbox()
            # questo demo viene eseguito ogni volta che il testo di input cambia
            text_input.change(flip_text, inputs=text_input, outputs=text_output)
        
        with gr.TabItem("Capovolgi Immagine"):
            with gr.Row():
                image_input = gr.Image()
                image_output = gr.Image()
            button = gr.Button("Capovolgi")
            # questo demo viene eseguito ogni volta che il pulsante viene premuto
            button.click(flip_image, inputs=image_input, outputs=image_output)
    
demo.launch()

Una volta eseguito launch(), apparirà il seguente demo:

Per una guida passo-passo a Blocks, date un’occhiata alla guida dedicata a Blocks

La Gradio Blocks Party

Siamo molto entusiasti di Gradio Blocks – e ci piacerebbe che lo provaste – quindi stiamo organizzando una competizione, la Gradio Blocks Party (😉), per vedere chi può costruire i migliori demo con Blocks. Costruendo questi demo, possiamo rendere l’apprendimento automatico all’avanguardia accessibile, non solo agli ingegneri, ma a chiunque possa utilizzare un browser Internet!

Anche se non hai mai usato Gradio prima, questo è il momento perfetto per iniziare, perché la Blocks Party si svolgerà fino alla fine di maggio. Alla fine della Party, assegneremo 🤗 merch e altri premi per le demo create utilizzando Blocks.

Per saperne di più sulla Blocks Party, visita: https://huggingface.co/spaces/Gradio-Blocks/README