Costruire un pannello interattivo di ML in Panel

Creare un pannello interattivo di ML in Panel

Di Andrew Huang, Sophia Yang, Philipp Rudiger

Demo dell'app di classificazione delle immagini.

HoloViz Panel è una versatile libreria Python che permette ai programmatori e ai data scientist di creare visualizzazioni interattive con facilità. Che tu stia lavorando su progetti di machine learning, sviluppando applicazioni web o progettando dashboard di dati, Panel fornisce un potente set di strumenti e funzionalità per migliorare le tue capacità di esplorazione e presentazione dei dati. In questo post del blog, approfondiremo le fantastiche funzionalità di HoloViz Panel, esploreremo come può rivoluzionare i tuoi flussi di lavoro di visualizzazione dei dati e dimostreremo come puoi creare un’app come questa utilizzando circa 100 righe di codice.

Prova l’app e controlla il codice:

  • Hugging Face Space
  • App su Anaconda
  • App su Hugging Face
  • Codice su Notebook Anaconda
  • Codice su Hugging Face

Sfruttare la Potenza di ML/AI

ML/AI è diventato una parte integrante dell’analisi dei dati e dei processi decisionali. Con Panel, puoi integrare senza soluzione di continuità modelli e risultati di ML nelle tue visualizzazioni. In questo post del blog, esploreremo come realizzare un’attività di classificazione delle immagini utilizzando il modello OpenAI CLIP.

CLIP è preaddestrato su un ampio dataset di coppie immagine-testo, il che gli consente di comprendere le immagini e le descrizioni testuali corrispondenti e di lavorare per vari compiti successivi come la classificazione delle immagini.

Ci sono due funzioni relative a ML che abbiamo utilizzato per svolgere l’attività di classificazione delle immagini. La prima funzione load_processor_model ci consente di caricare un modello CLIP preaddestrato da Hugging Face. La seconda funzione get_similarity_scores calcola il grado di similarità tra l’immagine e un elenco fornito di etichette di classe.

@pn.cachedef load_processor_model(    processor_name: str, model_name: str) -> Tuple[CLIPProcessor, CLIPModel]:    processor = CLIPProcessor.from_pretrained(processor_name)    model = CLIPModel.from_pretrained(model_name)    return processor, modeldef get_similarity_scores(class_items: List[str], image: Image) -> List[float]:    processor, model = load_processor_model(        "openai/clip-vit-base-patch32", "openai/clip-vit-base-patch32"    )    inputs = processor(…