Diffusers documentation
Visão geral
Visão geral
🤗 O Diffusers oferece uma coleção de scripts de treinamento para você treinar seus próprios modelos de difusão. Você pode encontrar todos os nossos scripts de treinamento em diffusers/examples.
Cada script de treinamento é:
- Autossuficiente: o script de treinamento não depende de nenhum arquivo local e todos os pacotes necessários para executar o script são instalados a partir do arquivo
requirements.txt. - Fácil de ajustar: os scripts de treinamento são um exemplo de como treinar um modelo de difusão para uma tarefa específica e não funcionarão prontos para todos os cenários de treinamento. Provavelmente, você precisará adaptar o script de treinamento para o seu caso de uso específico. Para ajudá-lo com isso, expusemos completamente o código de pré-processamento de dados e o loop de treinamento para que você possa modificá-los para o seu próprio uso.
- Fácil para iniciantes: os scripts de treinamento foram projetados para serem acessíveis e fáceis de entender, em vez de incluir os métodos mais avançados do estado da arte para obter os melhores e mais competitivos resultados. Qualquer método de treinamento que consideramos complexo demais é intencionalmente excluído.
- Finalidade única: cada script de treinamento é projetado expressamente para apenas uma tarefa, a fim de mantê-lo legível e compreensível.
Nossa coleção atual de scripts de treinamento inclui:
| Treinamento | Suporte a SDXL | Suporte a LoRA |
|---|---|---|
| geração de imagem incondicional | ||
| texto-para-imagem | 👍 | 👍 |
| inversão textual | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| Custom Diffusion | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
Esses exemplos são ativamente mantidos, então sinta-se à vontade para abrir uma issue caso não estejam funcionando como esperado. Se você acha que outro exemplo de treinamento deveria ser incluído, fique à vontade para iniciar uma Feature Request para discutir sua ideia de funcionalidade conosco e verificar se ela atende aos nossos critérios de ser autocontida, fácil de ajustar, amigável para iniciantes e de propósito único.
Instalar
Certifique-se de que você consegue executar com sucesso as versões mais recentes dos scripts de exemplo instalando a biblioteca a partir do código-fonte em um novo ambiente virtual:
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .Em seguida, navegue até a pasta do script de treinamento (por exemplo, DreamBooth) e instale o arquivo requirements.txt. Alguns scripts de treinamento possuem um arquivo de requisitos específico para SDXL ou LoRA. Se você estiver usando um desses scripts, certifique-se de instalar o arquivo de requisitos correspondente.
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtPara acelerar o treinamento e reduzir o uso de memória, recomendamos:
- usando PyTorch 2.0 ou superior para usar automaticamente scaled dot product attention durante o treinamento (você não precisa fazer nenhuma alteração no código de treinamento)
- instalando o xFormers para habilitar a atenção eficiente em memória