Correção do Erro e Atualização para Hugging Face
Problema Identificado
O erro ocorre porque o app.py está tentando carregar um modelo do Hugging Face que não existe ou não está configurado corretamente. O repositório Enzo8930302/ByteDream não contém o arquivo model_index.json necessário.
Solução Rápida
1️⃣ Execute o Script de Correção
python quick_fix.py
Este script vai:
- Testar o pipeline com inicialização aleatória
- Verificar se há modelos treinados
- Mostrar o guia de upload para Hugging Face
Passo a Passo Completo
Etapa 1: Treinar o Modelo (Se ainda não fez)
python train.py --epochs 1000 --batch_size 4 --output_dir ./models/bytedream
Importante: Você precisa treinar o modelo antes de fazer upload!
Etapa 2: Instalar Dependências para Hugging Face
pip install huggingface_hub
Etapa 3: Login no Hugging Face
huggingface-cli login
Você precisa de um token de acesso. Para obter:
- Acesse: https://huggingface.co/settings/tokens
- Faça login na sua conta
- Clique em "Create new token"
- Copie o token gerado
- Cole no terminal quando solicitado
Não tem conta? Crie em: https://huggingface.co/join
Etapa 4: Fazer Upload do Modelo
Execute o comando abaixo, substituindo YourUsername pelo seu usuário real:
python upload_to_hf.py --repo_id "YourUsername/ByteDream" --create_space
Opções disponíveis:
--private: Torna o repositório privado (opcional)--create_space: Cria arquivos para Hugging Face Spaces
Exemplo:
python upload_to_hf.py --repo_id "Enzo8930302/ByteDream" --create_space
Etapa 5: Verificar o Upload
Após o upload, visite:
https://huggingface.co/YourUsername/ByteDream
Estrutura do Repositório no Hugging Face
Seu repositório deve conter:
ByteDream/
├── unet_pytorch_model.bin # Pesos do modelo UNet
├── config.yaml # Configuração
├── README.md # Documentação
├── requirements.txt # Dependências
└── app.py # Interface Gradio (para Spaces)
Como Usar o Modelo Após o Upload
Opção 1: Via Código Python
from bytedream.generator import ByteDreamGenerator
# Carregar do Hugging Face
generator = ByteDreamGenerator(
model_path="path/to/downloaded/model",
config_path="config.yaml",
device="cpu"
)
# Gerar imagem
image = generator.generate(
prompt="A beautiful sunset over mountains",
width=512,
height=512,
num_inference_steps=50,
)
image.save("output.png")
Opção 2: Via Linha de Comando
python infer.py --prompt "Cyberpunk city at night" --output city.png
Opção 3: Interface Web
python app.py
A interface web estará disponível em: http://localhost:7860
Criando um Hugging Face Space
Spaces permitem que outros usem seu modelo via navegador.
Passos:
Prepare os arquivos:
python upload_to_hf.py --repo_id "YourUsername/ByteDream" --create_spaceAcesse Spaces:
- Vá para: https://huggingface.co/spaces
- Clique em "Create new Space"
Configure o Space:
- Space name:
ByteDream - SDK: Gradio
- Visibility: Public ou Private
- Hardware: CPU (Free tier funciona!)
- Space name:
Faça upload dos arquivos:
- Use a interface web do Spaces
- Ou faça push via git:
git clone https://huggingface.co/spaces/YourUsername/ByteDream cd ByteDream # Copie os arquivos necessários git add . git commit -m "Initial commit" git push
Aguarde o deploy:
- O Space será construído automaticamente
- Quando estiver pronto, você receberá uma URL pública
Troubleshooting
Erro: "404 Client Error - Entry Not Found"
Causa: O repositório não existe ou está vazio.
Solução:
- Certifique-se de ter feito login:
huggingface-cli login - Verifique se o nome do repositório está correto
- Faça o upload do modelo primeiro
Erro: "Model not loaded"
Causa: Os pesos do modelo não foram encontrados.
Solução:
- Treine o modelo:
python train.py - Ou baixe pesos pré-treinados do Hugging Face
Erro: "Token invalid"
Causa: Token do Hugging Face expirado ou incorreto.
Solução:
- Faça logout:
huggingface-cli logout - Gere novo token em: https://huggingface.co/settings/tokens
- Faça login novamente:
huggingface-cli login
Dicas Importantes
1. Tamanho do Modelo
- Modelos grandes podem demorar para fazer upload
- Considere usar repositórios privados durante desenvolvimento
2. Hardware no Spaces
- CPU Free: 2 vCPU, 16GB RAM (suficiente para testes)
- GPU: Requer upgrade pago (mais rápido para geração)
3. Otimização
- Use
num_inference_steps=20-30para previews rápidos - Use
num_inference_steps=50-75para qualidade final - Reduza a resolução (256x256) para testes
Próximos Passos
- ✅ Execute
python quick_fix.pypara testar - 📚 Treine o modelo com seus dados
- 🚀 Faça upload para Hugging Face
- 🎨 Crie um Space para demonstração
- 📢 Compartilhe com a comunidade!
Links Úteis
- Documentação Hugging Face: https://huggingface.co/docs
- Hugging Face Hub CLI: https://huggingface.co/docs/huggingface_hub/guides/cli
- Spaces Documentation: https://huggingface.co/docs/hub/spaces
- Gradio Documentation: https://www.gradio.app/docs
Precisa de Ajuda?
Abra uma issue no GitHub ou entre em contato:
- Hugging Face Forums: https://discuss.huggingface.co/
- Discord da comunidade
Boa sorte com seu modelo! 🎨✨