Cédric Deltheil
68cc346905
add minimal unit tests for DINOv2
...
To be completed with tests using image preprocessing, e.g. test cosine
similarity on a relevant pair of images
2023-12-18 10:29:28 +01:00
Cédric Deltheil
82a2aa1ec4
deprecate DDPM step which is unused for now
2023-12-13 15:51:42 +01:00
Cédric Deltheil
315b4ed2e4
test_schedulers: enforce manual seed
2023-12-12 17:26:14 +01:00
Cédric Deltheil
792a0fc3d9
run lint rules using latest isort settings
2023-12-11 11:58:43 +01:00
limiteinductive
86c54977b9
replace poetry by rye for python dependency management
...
Co-authored-by: Cédric Deltheil <cedric@deltheil.me>
Co-authored-by: Pierre Chapuis <git@catwell.info>
2023-12-08 17:40:10 +01:00
limiteinductive
0dc3a17fbf
remove unnecessary test
2023-12-04 15:27:06 +01:00
limiteinductive
37a74bd549
format test_scheduler file
2023-12-04 15:27:06 +01:00
limiteinductive
6f110ee2b2
fix test_scheduler_utils
2023-12-04 15:27:06 +01:00
Pierre Chapuis
f22f969d65
remove Black preview mode
...
also fix multiline logs in training
2023-12-04 14:15:56 +01:00
Cédric Deltheil
b306c7db1b
freeu: add one more test for identity scales
...
It should act as a NOP when [1.0, 1.0] is used for backbone and skip
scales.
2023-12-01 12:48:19 +01:00
Cédric Deltheil
ab0915d052
add tests for FreeU
2023-11-18 16:15:44 +01:00
Pierre Chapuis
02f3c46e2e
update pyright
2023-10-25 14:56:07 +02:00
Benjamin Trom
ea44262a39
unnest Residual subchain by modifying its forward
...
And replaced the remaining Sum-Identity layers by Residual.
The tolerance used to compare SAM's ViT models has been tweaked: for
some reasons there is a small difference (in float32) in the neck layer
(first conv2D)
Co-authored-by: Cédric Deltheil <cedric@deltheil.me>
2023-10-19 10:34:51 +02:00
Cédric Deltheil
7d2abf6fbc
scheduler: add remove noise
...
aka original sample prediction (or predict x0)
E.g. useful for methods like self-attention guidance (see equation (2)
in https://arxiv.org/pdf/2210.00939.pdf )
2023-10-05 17:05:15 +02:00
Cédric Deltheil
63f5723449
test_concepts: silent static type checker error
2023-09-25 13:54:26 +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
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
Cédric Deltheil
1b4dcebe06
make scheduler an actual abstract base class
2023-09-12 16:47:47 +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
3c056e2231
expose lookup_top_adapter
2023-09-12 11:58:24 +02:00
Cédric Deltheil
32cba1afd8
test_sdxl_double_encoder: use proper weights
2023-09-11 21:49:24 +02:00
Pierre Chapuis
dd0cca5855
use float32 reference for textual inversion (fixes tests on CPU)
2023-09-11 16:11:53 +02:00
Pierre Chapuis
78e69c7da0
fix typo + skip test if weights are not available
2023-09-07 17:31:20 +02:00
Pierre Chapuis
d9a461e9b5
stop relying on SDXL 0.9 weights in test
2023-09-07 12:18:38 +02:00
limiteinductive
88efa117bf
fix model comparison with custom layers
2023-09-05 12:34:38 +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
e91e31ebd2
check no two controlnets have the same name
2023-09-01 17:47:29 +02:00
Pierre Chapuis
73813310d0
rename SelfAttentionInjection to ReferenceOnlyControl and vice-versa
2023-09-01 17:29:48 +02:00
Doryan Kaced
9f6733de8e
Add concepts learning via textual inversion
2023-08-31 16:07:53 +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
Cédric Deltheil
7dc2e93cff
tests: add test for clip image encoder
...
This covers a CLIPImageEncoderH model (Stable Diffusion v2-1-unclip)
specifically
2023-08-30 21:50:01 +02:00
Pierre Chapuis
32c1cfdbb1
add black to CI
2023-08-30 14:50:03 +02:00
Pierre Chapuis
18c84c7b72
shorter import paths
2023-08-29 16:57:40 +02:00
limiteinductive
7ca6bd0ccd
implement the ConvertModule class and refactor conversion scripts
2023-08-28 14:39:14 +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
2ad26a06b0
fix LoRAs on Self target
2023-08-23 12:13:01 +02:00
limiteinductive
3565a4127f
implement DoubleTextEncoder for SDXL
2023-08-23 11:05:38 +02:00
limiteinductive
e7c1db50e0
turn CLIPTokenizer into a fl.Module
2023-08-22 00:09:01 +02:00
limiteinductive
4526d58cd5
update CTOR of CLIPTextEncoder with max_sequence_length
2023-08-21 11:21:12 +02:00
Cédric Deltheil
48f674c433
initial commit
2023-08-04 15:28:41 +02:00