huggingface / huggingface/diffusers

Ctrlora implementation : Easy solution to train a controlnet with < 1000 examples

Ouverte
#9,713 5 commentaires 6 réactions 0 personnes assignées Voir sur GitHub
contributions-welcome stale
Langage dominant
Python
Étoiles
34.5k
Forks
7.3k
Merge moyen
3 j 3 h
PR mergées (30 j)
91

Description

### Model/Pipeline/Scheduler description

Authors of the paper trained a base controlnet (with a new architecture if I'm not mistaken) on 9 different conditions to allow finetuning on new conditions easily using a LoRA rank 128. This method allows finetuning a novel condition using less than 1000 examples with less than 24GB of VRAM in a few hours.
The potential is really high and for having trained a new unseen condition myself, I can confirm it works pretty well (even though my dataset has 5K examples but I did train it quickly using only a 3090 GPU).

The only problem is that the training and inference code seems to be done on the old stable diffusion code and it may be difficult to port it to diffusers.

Anyone interested in implementing the training and inference code in diffusers ? License is Apache-2.0 license

### Open source status

- [X] The model implementation is available.
- [X] The model weights are available (Only relevant if addition is not a scheduler).

### Provide useful links for the implementation

Ctrlora repo : https://github.com/xyfJASON/ctrlora
Ctrlora paper : https://arxiv.org/abs/2410.09400

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par lire le dépôt et l’article liés de Ctrlora, puis comparez leur code d’entraînement et d’inférence avec l’architecture de diffusers. Le travail est considéré comme terminé lorsque l’approche d’entraînement et d’inférence de Ctrlora est implémentée dans diffusers et prend en charge le cas d’utilisation indiqué, avec peu d’exemples et moins de 24 Go de VRAM.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, pytorch
Domaine
machine-learning
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.