Commit graph

645 commits

Author SHA1 Message Date
Cédric Deltheil 9fbe86fbc9 make set_scale for T2I-Adapter really dynamic
Before this change, `set_scale` had only an impact on the condition
encoder. So calling `set_scale` after `set_condition_features` had no
effect at runtime.
2023-10-04 11:30:09 +02:00
Cédric Deltheil 694661ee10 ip-adapter add set_scale 2023-10-02 11:49:12 +02:00
Cédric Deltheil 7f7e129bb6 convert autoencoder: add an option for subfolder 2023-09-29 18:54:24 +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 88e454f1cb Distribute: improve sanity check error message
E.g.:

    AssertionError: Number of positional arguments (1) must match number of sub-modules (2).
2023-09-28 14:06:06 +02:00
Cédric Deltheil 620e58a593 README: add T2I-Adapter to the Adapter Zoo 2023-09-25 13:54:26 +02:00
Cédric Deltheil 63f5723449 test_concepts: silent static type checker error 2023-09-25 13:54:26 +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
Cédric Deltheil 2106c237d9 add T2I-Adapter conversion script 2023-09-25 13:54:26 +02:00
Cédric Deltheil 622882711d update poetry.lock 2023-09-25 13:54:26 +02:00
Cédric Deltheil e352fea7c0 poetry add --optional diffusers@^0.21.0
T2I-Adapter for SDXL has been released part of v0.21.0
2023-09-25 13:54:26 +02:00
Cédric Deltheil 14864857b1 add T2I-Adapter to foundationals/latent_diffusion 2023-09-25 13:54:26 +02:00
Cédric Deltheil d72e1d3478 chain: add insert_before_type 2023-09-25 13:54:26 +02:00
Cédric Deltheil 4352e78483 add pixel unshuffle to fluxion's layers 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
Pierre Chapuis 72854de669 fix device in DDPM / DDIM timesteps 2023-09-21 17:42:49 +02:00
Pierre Chapuis b046f0cf3f update Pillow 2023-09-21 13:56:22 +02:00
Pierre Chapuis fad4f371ea correctly initialize context in structural_copy
fixes a regression introduced in 1cb798e8ae
2023-09-21 12:02:37 +02:00
Pierre Chapuis cd1fdb5585 fix scheduler device choice 2023-09-21 12:00:19 +02:00
Benjamin Trom 282578ddc0 add Segment Anything (SAM) to foundational models
Note: dense prompts (i.e. masks) support is still partial (see MaskEncoder)

Co-authored-by: Cédric Deltheil <cedric@deltheil.me>
2023-09-21 11:44:30 +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
Benjamin Trom 85095418aa implement multi_diffusion for SD1 and SDXL 2023-09-19 15:30:50 +02:00
Benjamin Trom b86521da2f implement abstract MultiDiffusion class 2023-09-19 15:30:50 +02:00
Cédric Deltheil e319f13d05 utils: remove inplace opt-in from normalize 2023-09-18 18:07:20 +02:00
Cédric Deltheil bce3910383 utils: simplify normalize a bit 2023-09-18 18:07:20 +02:00
Cédric Deltheil d6046e1fbf move image tensor normalize under fluxion's utils 2023-09-18 18:07:20 +02:00
dnsbrl 91ac2353e7 Update README.md
- Added new sections ("adapter zoo", "awesome adaptation papers")
- Tweaked sections order
2023-09-18 15:08:11 +02:00
Benjamin Trom dc1fc239aa show an ellipsis when chain has been shortened because of depth and count siblings with same class name 2023-09-15 02:08:50 +02:00
Benjamin Trom 1cb798e8ae remove structural_attrs 2023-09-14 14:49:06 +02:00
Benjamin Trom 121ef4df39 add is_optimized option for attention 2023-09-14 14:12:27 +02:00
Pierre Chapuis fc2390ad1c fix legacy wording for refonly control 2023-09-14 11:21:11 +02:00
Pierre Chapuis 0e0c39b4b5 black 2023-09-13 17:02:47 +02:00
Pierre Chapuis eb88cde7ac document use of Poetry (main branch) instead of pip 2023-09-13 17:02:47 +02:00
Pierre Chapuis 0dfdd0d419 use extras instead of groups 2023-09-13 17:02:47 +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 1b4dcebe06 make scheduler an actual abstract base class 2023-09-12 16:47:47 +02:00
Cédric Deltheil 12e37f5d85 controlnet: replace Lambda w/ Slicing basic layer 2023-09-12 15:37:33 +02:00
Pierre Chapuis 7a32699cc6 add ensure_find and ensure_find_parent helpers 2023-09-12 14:19:10 +02:00
Pierre Chapuis b69dbc4e5c improve CrossAttentionAdapter test 2023-09-12 11:58:24 +02:00
Pierre Chapuis dc2c3e0163 implement CrossAttentionAdapter using chain operations 2023-09-12 11:58:24 +02:00
Pierre Chapuis 43075f60b0 do not use get_parameter_name in conversion script 2023-09-12 11:58:24 +02:00
Pierre Chapuis 3c056e2231 expose lookup_top_adapter 2023-09-12 11:58:24 +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
Benjamin Trom b515c02867 add new basic layers and Matmul chain 2023-09-12 10:55:34 +02:00