app-visao / app.py
reginaldocandido's picture
Update app.py
9adf8c0 verified
# Importa a biblioteca Gradio (para criar a interface web)
import gradio as gr
# Importa a função 'pipeline' (a forma mais fácil de usar um modelo do HF)
from transformers import pipeline
# 1. Carregar o "Cérebro" da IA
# Vamos usar o modelo de classificação de imagem padrão do Google (ViT)
# O pipeline cuida de todo o pré-processamento para nós!
classifier = pipeline("image-classification", model="google/vit-base-patch16-224")
# 2. Definir a Função de Previsão
# Esta é a função que será chamada toda vez que o usuário enviar uma imagem.
def predict(imagem_do_usuario):
# O 'classifier' processa a imagem...
predictions = classifier(imagem_do_usuario)
# ...e retorna uma lista de previsões.
# Vamos formatar isso para o Gradio entender:
# Ex: [{'label': 'gato egípcio', 'score': 0.8}, {'label': 'outro gato', 'score': 0.1}]
# Transforma em: {'gato egípcio': 0.8, 'outro gato': 0.1}
return {p['label']: p['score'] for p in predictions}
# 3. Criar a Interface Gráfica
# Aqui nós dizemos ao Gradio quais componentes usar.
iface = gr.Interface(
fn=predict, # A função que deve ser chamada
inputs=gr.Image(label="Faça o upload da sua imagem"), # Componente de entrada
outputs=gr.Label(num_top_classes=3, label="Previsões"), # Componente de saída
# Textos de ajuda
title="Meu Primeiro App de IA 🚀",
description="Este app foi construído com Gradio e Hugging Face. Ele usa o modelo 'ViT' do Google para adivinhar o que está na foto.",
# Exemplos para o usuário clicar
# Alterado para usar os arquivos locais (cats.jpg, dogs.jpg) que fizemos upload,
# em vez de usar URLs remotas, o que causava o erro 401.
examples=[
["cats.jpg"],
["dogs.jpg"]
]
)
# 4. Lançar o App!
iface.launch()