Gradio — Crie e compartilhe seus machine learning apps.

Gradio permite a criação de interfaces de usuário simples e intuitivas para modelos de Machine Learning.

Jonys Arcanjo
Data Hackers
6 min readMay 1, 2023

--

Introdução

A biblioteca Gradio é uma ferramenta que permite a criação de interfaces de usuário simples e intuitivas para modelos de Machine Learning.

Com a Gradio, é possível criar rapidamente interfaces de usuário para permitir que os usuários interajam com seus modelos, sem a necessidade de conhecimentos em programação ou aprendizado de máquina.

Neste artigo, vamos explorar a biblioteca Gradio e criar um exemplo prático de como usá-la.

O que é a Biblioteca Gradio?

A Gradio é uma biblioteca de código aberto, escrita em Python, que permite criar rapidamente interfaces de usuário para modelos de Machine Learning.

Com a Gradio, é possível criar interfaces de usuário interativas e intuitivas para modelos, permitindo que os usuários enviem entradas para o modelo e vejam as previsões correspondentes.

A biblioteca Gradio foi criada com a finalidade de democratizar o acesso a modelos de Machine Learning e torná-los mais acessíveis para os usuários finais.

Como usar a Biblioteca Gradio?

A Gradio é fácil de usar e oferece suporte a uma ampla variedade de modelos de Machine Learning, incluindo modelos treinados em várias bibliotecas, como TensorFlow, PyTorch, Scikit-Learn e Keras. Para usar a Gradio, você precisa primeiro instalá-la.

Você pode fazer isso usando o comando pip no terminal:

pip install gradio

Agora que a biblioteca está instalada, você pode usá-la para criar uma interface de usuário para o seu modelo.

Para criar uma interface de usuário com a Gradio, você precisa definir uma função que execute a previsão do seu modelo com base nas entradas fornecidas.

Esta função pode ser escrita em qualquer biblioteca de Machine Learning que você esteja usando, desde que a entrada seja uma sequência de entrada única e a saída seja uma sequência de saída única.

Aqui está um exemplo de como criar uma interface de usuário simples para um modelo de análise de sentimento :

import gradio as gr
import nltk
from nltk.sentiment.vader import SentimentIntensityAnalyzer

nltk.download("vader_lexicon")
sid = SentimentIntensityAnalyzer()

def sentiment_analysis(text):
scores = sid.polarity_scores(text)
del scores["compound"]
return scores

A interface ficará assim, vamos testa-la.

vou inserir a mensagem “This is Wonderful” porque nosso modelo foi treinado apenas em inglês. e vamos clicar em enviar.

Note que a frase que passamos foi classificada como possitiva com 67%.

Na documentação do gradio tem vários exemplos como:

  • Geração de texto
  • Análise de sentimento
  • Classificação de imagem
  • Segmentação de imagem
  • Transformação de imagem com Anime GAN
  • Geração de imagem (GAN falso)
  • Agrupamento com Scikit-Learn
  • Previsão de Séries Temporais
  • Classificação de renda com XGBoost

Documentação e Comunidade

A documentação do Gradio é amigável e bem estruturada, permitindo que os desenvolvedores comecem a usar a biblioteca rapidamente.

Outra vantagem da documentação do Gradio é a sua comunidade ativa de desenvolvedores. O Gradio tem uma comunidade engajada que contribui para a documentação, adicionando exemplos e respondendo perguntas dos usuários no fórum de discussão.

Deploy no Hugging Face

Hugging Face é uma empresa que desenvolve e mantém uma plataforma de inteligência artificial para processamento de linguagem natural (NLP).

Sua biblioteca de código aberto, chamada Transformers, inclui modelos pré-treinados para várias tarefas de NLP. A Hugging Face também fornece uma plataforma chamada Hugging Face Hub para compartilhamento e implementação de modelos de NLP.

Após criar uma conta no Hugging Face, realizei o login na sua conta e siga os passos abaixo.

Preencha o campo Owner e Space name e escolha a biblioteca que esta utilizando para criação do app.

Selecione o hardware e em seguida escolha entre a opção Public ou Private.

Usando o GIT clone o repositório criado para o seu app o caminho será informado no Scape criado anteriormente.

git clone https://huggingface.co/spaces/JonysArcanjo/App_predict_House_price

Agora adiciono todos os arquivos necessario para o deploy. Note que estou dentro da pasta onde foi clone meu repositório do Hugging Face.

C:\Users\jonys.arcanjo\App_predict_House_price

Agora use o git para adicionar na área de preparação (“staging area”) do GIT:

git add .

Vamos registrar as mudanças realizadas nos arquivos incluídos na área de preparação (staging area) em um novo commit.

git commit -m "app V1"

Agora vamos vamos enviar os arquivos para o repositório do Hungging Face.

Para enviar as mudanças realizadas em um repositório local para um repositório remoto (Hugging Face) vamos utilizar o comando:

git push

Aguarde o “building” do app.

Como podemos ver o print abaixo o app já esta rodando.

O Mario Filho tem um vídeo muito bom sobre como realizar o deploy usando o Gradio e o hugging Face, incluse foi através esse vídeo que conheci o Gradio.

Link para o vídeo abaixo.

Aplicativo de previsão de preço de casas utilizando o Gradio

A seguir apresento o aplicativo que desenvolvi utilizando Gradio + TensorFlow.

Este exemplo utiliza informações sobre a casa, como tamanho, número de quartos, ano de construção, entre outros, como entrada, e fornece a previsão do preço da casa como saída.

Link para a documentação do projeto no GitHub.

Conclusão

A biblioteca Gradio é uma ferramenta poderosa que permite a criação de interfaces de usuário simples e intuitivas para modelos de Machine Learning, tornando a tecnologia mais acessível para os usuários finais.

Com a Gradio, é possível criar rapidamente interfaces de usuário para permitir que os usuários interajam com seus modelos, sem a necessidade de conhecimentos em programação ou aprendizado de máquina.

A documentação do Gradio é bem estruturada, amigável e sua comunidade ativa contribui com exemplos e suporte aos usuários. Além disso, é possível fazer o deploy dos modelos criados com Gradio no Hugging Face Hub, tornando-os acessíveis a outros usuários e ampliando sua visibilidade.

A Gradio é uma excelente escolha para quem busca uma solução fácil e rápida para criar interfaces de usuário para modelos de Machine Learning.

Curta e compartilhe

Se você gostou do artigo e gostaria de me apoiar, certifique-se de:

👏 Palmas para a artigo (50 palmas) para ajudar este artigo a ser apresentado para mais pessoas.
🔔 Siga-me: LinkedIn
📧e-mail

Referências

--

--