A newer version of the Gradio SDK is available: 6.14.0
metadata
title: LoRA Image Trainer
emoji: 🎨
colorFrom: '#667eea'
colorTo: '#764ba2'
sdk: gradio
sdk_version: 4.x
app_file: app.py
pinned: false
🎨 LoRA Image Trainer
Uma ferramenta completa para criação e treinamento de LoRA (Low-Rank Adaptation) para modelos de geração de imagens, otimizada para baixo uso de GPU e compatível com dispositivos móveis.
✨ Características Principais
- 🔋 Otimizado para Baixa GPU: Utiliza técnicas avançadas de otimização de memória
- 📱 Interface Responsiva: Funciona perfeitamente em smartphones e tablets
- ⚡ Treinamento Eficiente: Baseado nas bibliotecas Diffusers e PEFT do Hugging Face
- 🎛️ Altamente Configurável: Controle total sobre parâmetros de treinamento
- ☁️ Deploy Fácil: Pronto para implantação no Hugging Face Spaces
- 🎨 Focado em Imagens: Especificamente projetado para modelos de difusão
🚀 Como Usar
1. Preparação das Imagens
- Colete 3-50 imagens de alta qualidade
- Mantenha consistência no estilo/conceito
- Resolução recomendada: 512x512 ou superior
- Formatos suportados: JPG, PNG
2. Configuração do Treinamento
- Escolha um modelo base (recomendado: Stable Diffusion 1.5)
- Defina uma trigger word única
- Configure parâmetros LoRA (valores padrão funcionam bem)
- Ajuste parâmetros de treinamento conforme necessário
3. Monitoramento
- Acompanhe o progresso em tempo real
- Visualize logs detalhados do treinamento
- Receba notificações de conclusão
4. Download e Uso
- Baixe o arquivo .safetensors do LoRA treinado
- Use em ComfyUI, Automatic1111, SeaArt ou outras ferramentas
- Aplique a trigger word nas suas gerações
🛠️ Tecnologias Utilizadas
- Hugging Face Diffusers: Pipeline de modelos de difusão
- PEFT: Treinamento eficiente de parâmetros
- PyTorch: Framework de deep learning
- Gradio: Interface web interativa
- Accelerate: Otimizações de treinamento
⚙️ Parâmetros de Configuração
Parâmetros LoRA
- r (Rank): 4-128 (padrão: 16) - Controla a capacidade do modelo
- LoRA Alpha: 1-128 (padrão: 32) - Fator de escala
- LoRA Dropout: 0.0-0.5 (padrão: 0.1) - Regularização
Parâmetros de Treinamento
- Épocas: 5-50 (padrão: 10) - Número de ciclos de treinamento
- Taxa de Aprendizado: 1e-5 a 1e-3 (padrão: 1e-4)
- Batch Size: 1-8 (padrão: 1) - Para GPUs com pouca VRAM
- Resolução: 512/768/1024 (padrão: 512)
🎯 Otimizações para Baixa GPU
Técnicas Implementadas
- Mixed Precision (FP16): Reduz uso de VRAM pela metade
- Gradient Checkpointing: Troca tempo por memória
- Attention Slicing: Processa attention em fatias menores
- Memory Efficient Attention: Usa xformers quando disponível
- Gradient Accumulation: Simula batches maiores
Requisitos Mínimos
- GPU: 4GB VRAM (recomendado: 6GB+)
- RAM: 8GB (recomendado: 16GB+)
- Armazenamento: 10GB livres
📱 Compatibilidade Móvel
Interface Responsiva
- Layout adaptativo para telas pequenas
- Botões otimizados para toque
- Navegação simplificada em tablets/smartphones
- Upload de imagens via câmera ou galeria
Processamento no Servidor
- Todo treinamento ocorre no backend
- Dispositivo móvel atua como cliente leve
- Comunicação otimizada via APIs
🔧 Instalação e Deploy
Deploy no Hugging Face Spaces
Criar um novo Space:
- Acesse: https://huggingface.co/spaces - Clique em "Create new Space" - Escolha um nome único - Selecione SDK: Gradio - Escolha hardware (CPU Basic ou GPU)Upload dos arquivos:
- app.py (arquivo principal) - requirements.txt (dependências) - README.md (documentação)Configuração automática:
- O Hugging Face detecta automaticamente o Gradio
- Instala dependências do requirements.txt
- Inicia a aplicação
Deploy Local
Instalar dependências:
pip install -r requirements.txtExecutar aplicação:
python app.pyAcessar interface:
http://localhost:7860
Deploy via Git (Método Avançado)
Clonar repositório do Space:
git clone https://huggingface.co/spaces/SEU_USERNAME/SEU_SPACE_NAME cd SEU_SPACE_NAMECopiar arquivos:
cp app.py . cp requirements.txt . cp README.md .Commit e push:
git add . git commit -m "Add LoRA Image Trainer" git push
💡 Dicas para Melhores Resultados
Preparação de Dados
- Qualidade > Quantidade: 10-20 imagens boas > 50 ruins
- Consistência: Mantenha estilo/conceito uniforme
- Diversidade: Varie poses, ângulos e iluminação
- Resolução: Use imagens de alta qualidade
Configuração de Parâmetros
- Iniciantes: Use valores padrão
- Rank baixo (4-8): Para estilos simples
- Rank alto (32-64): Para conceitos complexos
- Mais épocas: Para datasets pequenos
- Menos épocas: Para datasets grandes
Trigger Words
- Use palavras únicas e memoráveis
- Evite palavras comuns do inglês
- Combine com o nome do conceito
- Exemplos: "myStyle", "characterX", "artStyleY"
Legendas (Captions)
- Descreva o que vê na imagem
- Inclua a trigger word
- Seja específico mas conciso
- Exemplo: "myStyle, portrait of a woman smiling"
🎮 Compatibilidade com Ferramentas
ComfyUI
- Baixe o arquivo .safetensors
- Coloque em
ComfyUI/models/loras/ - Use o nó "Load LoRA" no workflow
- Aplique a trigger word no prompt
Automatic1111
- Baixe o arquivo .safetensors
- Coloque em
stable-diffusion-webui/models/Lora/ - Use
<lora:nome_do_arquivo:peso>no prompt - Inclua a trigger word
SeaArt
- Faça upload do modelo LoRA
- Selecione o LoRA na interface
- Use a trigger word no prompt
- Ajuste o peso conforme necessário
🐛 Solução de Problemas
Erro de Memória GPU
- Reduza batch_size para 1
- Use resolução 512x512
- Ative gradient checkpointing
- Feche outras aplicações que usam GPU
Treinamento Lento
- Use GPU em vez de CPU
- Reduza número de épocas
- Use imagens menores
- Ative mixed precision
Resultados Ruins
- Aumente número de épocas
- Melhore qualidade das imagens
- Ajuste trigger word
- Revise legendas
Erro de Upload
- Verifique formato das imagens (JPG/PNG)
- Reduza tamanho dos arquivos
- Verifique conexão de internet
- Tente fazer upload em lotes menores
📊 Monitoramento e Logs
Status do Treinamento
- Queued: Na fila para processamento
- Loading Model: Carregando modelo base
- Preparing LoRA: Configurando adaptadores
- Preparing Data: Processando imagens
- Training: Treinamento em progresso
- Saving: Salvando modelo final
- Completed: Treinamento concluído
- Error: Erro durante o processo
Métricas Importantes
- Loss: Deve diminuir ao longo do tempo
- Progress: Porcentagem de conclusão
- Step/Epoch: Progresso atual
- Time Remaining: Estimativa de conclusão
🔒 Segurança e Privacidade
Dados do Usuário
- Imagens são processadas temporariamente
- Modelos são salvos localmente no Space
- Nenhum dado é compartilhado externamente
- Usuário controla download e exclusão
Boas Práticas
- Use imagens próprias ou com licença adequada
- Não treine com conteúdo protegido por direitos autorais
- Respeite termos de uso dos modelos base
- Mantenha backups dos seus LoRAs
🤝 Contribuição
Como Contribuir
- Fork do repositório
- Crie uma branch para sua feature
- Implemente melhorias
- Teste thoroughly
- Submeta pull request
Áreas de Melhoria
- Suporte a mais modelos base
- Otimizações adicionais de memória
- Interface de usuário aprimorada
- Funcionalidades de inferência
- Integração com mais ferramentas
📄 Licença
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para detalhes.
🙏 Agradecimentos
- Hugging Face pela infraestrutura e bibliotecas
- Comunidade Stable Diffusion pelas técnicas
- Desenvolvedores do PEFT e Diffusers
- Comunidade open source de IA
Desenvolvido com ❤️ para democratizar o acesso ao treinamento de LoRA para geração de imagens