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.
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