Cédric Deltheil
5634e68fde
add end-to-end test for multi-ip adapter
2024-01-31 11:03:49 +01:00
Pierre Chapuis
19bc081658
call GC between each e2e test to avoid OOM
2024-01-29 17:57:40 +01:00
limiteinductive
421da6a3b6
Load Multiple LoRAs with SDLoraManager
2024-01-23 14:12:03 +01:00
Cédric Deltheil
40c33b9595
rollback to 50 inference steps in IP-Adapter tests
...
Follow up of 8a36c8c
This is what is used in the official notebook (ip_adapter_demo.ipynb and
ip_adapter-plus_demo.ipynb)
2024-01-22 09:35:31 +01:00
limiteinductive
ed3621362f
Add load_tensors utils in fluxion
2024-01-21 12:34:33 +01:00
Pierre Chapuis
8a36c8c279
make the first diffusion step a first class property of LDM & Schedulers
2024-01-19 18:52:45 +01:00
hugojarkoff
42b7749630
Fix references for e2e tests
2024-01-19 15:00:03 +01:00
limiteinductive
a1f50f3f9d
refactor Lora LoraAdapter and the latent_diffusion/lora file
2024-01-18 16:27:38 +01:00
limiteinductive
2b977bc69e
fix broken self-attention guidance with ip-adapter
...
The #168 and #177 refactorings caused this regression. A new end-to-end
test has been added for proper coverage.
(This fix will be revisited at some point)
2024-01-16 17:21:24 +01:00
Cédric Deltheil
6dbaec3e56
add end-to-end test for euler scheduler
...
Reference image generated with diffusers [1]
[1]: tests/e2e/test_diffusion_ref/README.md#expected-outputs
2024-01-10 16:53:06 +01:00
limiteinductive
c9e973ba41
refactor CrossAttentionAdapter to work with context.
2024-01-08 15:20:23 +01:00
limiteinductive
20c229903f
upgrade pyright to 1.1.342 ; improve no_grad typing
2023-12-29 15:09:02 +01:00
Cédric Deltheil
792a0fc3d9
run lint rules using latest isort settings
2023-12-11 11:58:43 +01:00
limiteinductive
8bbcf2048d
add README bullet point
2023-12-04 15:27:06 +01:00
limiteinductive
90db6ef59d
add e2e test for sd15 with karras noise schedule
2023-12-04 15:27:06 +01:00
Cédric Deltheil
ab0915d052
add tests for FreeU
2023-11-18 16:15:44 +01:00
limiteinductive
7a62049d54
implement Restart method for latent diffusion
2023-10-12 15:48:43 +02:00
Cédric Deltheil
d02be0d10e
tests: update ref image for SDXL IP-Adapter plus
...
Note: https://pytorch.org/docs/stable/notes/randomness.html
> Completely reproducible results are not guaranteed across PyTorch
> releases [...]
2023-10-10 14:19:47 +02:00
Cédric Deltheil
b80769939d
add support for self-attention guidance
...
See https://arxiv.org/abs/2210.00939
2023-10-09 17:33:15 +02:00
Cédric Deltheil
338042f332
test_diffusion: remove debug leftovers
2023-09-29 18:54:24 +02:00
Cédric Deltheil
5fc6767a4a
add IP-Adapter plus (aka fine-grained features)
2023-09-29 15:23:43 +02:00
Cédric Deltheil
f37f25a2e4
add e2e test for T2I-Adapter XL canny
2023-09-25 13:54:26 +02:00
Cédric Deltheil
4301e81eb3
add e2e test for T2I-Adapter depth
...
Expected output generated with diffusers' StableDiffusionAdapterPipeline
2023-09-25 13:54:26 +02:00
Doryan Kaced
251277a0a8
Fix module registration in IP-Adapter
2023-09-22 17:34:55 +02:00
Cédric Deltheil
2faff9f57a
ldm: properly resize non-square init image
2023-09-20 10:27:22 +02:00
Benjamin Trom
01aeaf3e36
add unit test for multi_diffusion
2023-09-19 15:30:50 +02:00
Pierre Chapuis
fc2390ad1c
fix legacy wording for refonly control
2023-09-14 11:21:11 +02:00
Pierre Chapuis
c421cfd56c
add a test for IP-Adapter + ControlNet
2023-09-13 14:24:53 +02:00
Pierre Chapuis
cf9efb57c8
remove useless torch.no_grad() contexts
2023-09-13 11:14:09 +02:00
Cédric Deltheil
eea340c6c4
add support for SDXL IP-Adapter
...
This only supports the latest SDXL IP-Adapter release (2023.9.8) which
builds upon the ViT-H/14 CLIP image encoder.
2023-09-12 18:00:39 +02:00
Cédric Deltheil
f4e9707297
sdxl test: refreshed reference image
...
The former one was generated using SDXL 0.9 vs 1.0. The new one has been
generated with diffusers:
import torch
from diffusers import StableDiffusionXLPipeline, DDIMScheduler
noise_scheduler = DDIMScheduler(
num_train_timesteps=1000,
beta_start=0.00085,
beta_end=0.012,
beta_schedule="scaled_linear",
clip_sample=False,
set_alpha_to_one=False,
steps_offset=1,
)
base_model_path = "/path/to/stabilityai/stable-diffusion-xl-base-1.0"
device = "cuda"
prompt = "a cute cat, detailed high-quality professional image"
negative_prompt = "lowres, bad anatomy, bad hands, cropped, worst quality"
seed = 2
pipe = StableDiffusionXLPipeline.from_pretrained(base_model_path, scheduler=noise_scheduler, torch_dtype=torch.float16, add_watermarker=False)
pipe = pipe.to(device)
generator = torch.Generator(device).manual_seed(seed)
images = pipe(prompt=prompt, negative_prompt=negative_prompt, num_inference_steps=30, generator=generator).images
2023-09-12 10:59:26 +02:00
Cédric Deltheil
0e38928c8d
sdxl test: add missing torch no_grad
2023-09-12 10:59:26 +02:00
Pierre Chapuis
be54cfc016
fix weight loading for float16 LoRAs
2023-09-11 16:14:19 +02:00
Cédric Deltheil
e5425e2968
make IP-Adapter generic for SD1 and SDXL
2023-09-08 16:38:01 +02:00
limiteinductive
2786117469
implement SDXL + e2e test on random init
2023-09-07 18:34:42 +02:00
Cédric Deltheil
c55917e293
add IP-Adapter support for SD 1.5
...
Official repo: https://github.com/tencent-ailab/IP-Adapter
2023-09-06 15:12:48 +02:00
Cédric Deltheil
d4dd45fd4d
use Module's load_from_safetensors
...
Instead of manual calls to load_state_dict
2023-09-06 15:06:51 +02:00
Pierre Chapuis
4388968ad3
Update tests/e2e/test_diffusion.py
...
Co-authored-by: Cédric Deltheil <355031+deltheil@users.noreply.github.com>
2023-09-06 11:49:55 +02:00
Pierre Chapuis
864937a776
support injecting several LoRAs simultaneously
2023-09-06 11:49:55 +02:00
Cédric Deltheil
b933fabf31
unet: get rid of clip_embedding attribute for SD1
...
It is implicitly defined by the underlying cross-attention layer. This
also makes it consistent with SDXL.
2023-09-01 19:23:33 +02:00
Pierre Chapuis
73813310d0
rename SelfAttentionInjection to ReferenceOnlyControl and vice-versa
2023-09-01 17:29:48 +02:00
Pierre Chapuis
0f476ea18b
make high-level adapters Adapters
...
This generalizes the Adapter abstraction to higher-level
constructs such as high-level LoRA (targeting e.g. the
SD UNet), ControlNet and Reference-Only Control.
Some adapters now work by adapting child models with
"sub-adapters" that they inject / eject when needed.
2023-08-31 10:57:18 +02:00
Pierre Chapuis
18c84c7b72
shorter import paths
2023-08-29 16:57:40 +02:00
Doryan Kaced
3680f9d196
Add support for learned concepts e.g. via textual inversion
2023-08-28 10:37:39 +02:00
limiteinductive
92a21bc21e
refactor latent_diffusion module
2023-08-25 12:30:20 +02:00
Pierre Chapuis
1065dfe10b
add empty __init__.py files to make pytest happy
...
(otherwise it wants unique file basenames)
2023-08-23 17:49:59 +02:00
Pierre Chapuis
97b162d9a0
add InformativeDrawings
...
https://github.com/carolineec/informative-drawings
This is the preprocessor for the Lineart ControlNet.
2023-08-16 12:29:09 +02:00
Cédric Deltheil
48f674c433
initial commit
2023-08-04 15:28:41 +02:00