Cédric Deltheil
ddcd84c740
training_utils: export neptune config and mixin
...
Like W&B. With this, #371 would have broken `test_import_training_utils`.
Follow up of #371 and #372 .
2024-05-29 10:29:34 +02:00
Laurent
7dba1c8034
(training_utils) neptune callback pydantic fix
2024-05-28 22:42:28 +02:00
Laurent
3ad7f592db
(training_utils) add NeptuneCallback
2024-05-28 16:35:11 +02:00
limiteinductive
3a7f14e4dc
Fix clock log order ; fix that the first iteration was skipped
2024-05-21 17:57:14 +02:00
limiteinductive
0bec9a855d
annotated validators for TimeValue
2024-05-09 10:53:58 +02:00
limiteinductive
22f4f4faf1
DataLoader validation
2024-05-09 10:53:58 +02:00
limiteinductive
38bddc49bd
implement data_iterable
2024-05-09 10:53:58 +02:00
Benjamin Trom
05a63ef44e
apply suggestions from code review
2024-05-09 10:53:58 +02:00
limiteinductive
d6c225a112
implement data_iterable (bis)
2024-05-09 10:53:58 +02:00
limiteinductive
de8334b6fc
remove dataset length
2024-05-09 10:53:58 +02:00
limiteinductive
b497b27cd3
remove dataset length (bis)
2024-05-09 10:53:58 +02:00
limiteinductive
603c8abb1e
fix clock
2024-05-09 10:53:58 +02:00
limiteinductive
44760ac19f
deprecate evaluation
2024-05-09 10:53:58 +02:00
limiteinductive
061d44888f
batch to step
2024-05-09 10:53:58 +02:00
limiteinductive
b7bb8bba80
remove EventConfig
...
This is a partial rollback of commit 5dde281
2024-05-09 10:53:58 +02:00
Laurent
7aff743019
initialize StableDiffusion_1_Inpainting with a 9 channel SD1Unet if not provided
2024-04-23 16:58:22 +02:00
limiteinductive
f32ccc3474
Remove seed_everything logging because it is too verbose
2024-04-22 18:14:33 +02:00
limiteinductive
5dde281ada
Implement EventConfig
2024-04-22 18:14:33 +02:00
limiteinductive
446796da57
Refactor TimeValue
2024-04-18 20:58:47 +02:00
Laurent
17246708b9
Add sample_noise
staticmethod and modify add_noise
to support batched steps
2024-04-18 12:55:49 +02:00
limiteinductive
7427c171f6
fix training_utils requirements check
2024-04-17 18:10:28 +02:00
Pierre Colle
bf7852b88e
SAM: image_to_scaled_tensor gray images
2024-04-16 18:45:17 +02:00
Laurent
eb4bb34f8b
(training_utils) add new ForceCommit callback
2024-04-16 14:43:10 +02:00
limiteinductive
be7d065a33
Add DataloadeConfig to Trainer
2024-04-15 20:56:19 +02:00
limiteinductive
b9b999ccfe
turn scoped_seed into a context manager
2024-04-13 15:03:35 +02:00
Pierre Colle
64692c3b5b
TrainerClock: assert dataset_length >= batch_size
2024-04-12 15:05:52 +02:00
Pierre Colle
0ac290f67d
SAM: expose sizing helpers
2024-04-12 08:56:23 +02:00
Laurent
06ff2f0a5f
add support for dinov2 giant flavors
2024-04-11 14:48:33 +02:00
Laurent
04e59bf3d9
fix GLU Activation docstrings
2024-04-11 14:48:33 +02:00
limiteinductive
f26b6ee00a
add static typing to __call__ method for latent_diffusion models ; fix multi_diffusion bug that wasn't taking guidance_scale into account
2024-04-11 12:13:30 +02:00
Cédric Deltheil
a2ee705783
hq sam: add constructor args to docstring
...
Additionally, mark `register_adapter_module` for internal use.
2024-04-08 11:46:37 +02:00
Pierre Colle
d05ebb8dd3
SAM/HQSAMAdapter: docstring examples
2024-04-08 07:12:57 +02:00
hugojarkoff
bbb46e3fc7
Fix clock step inconsistencies on batch end
2024-04-05 15:52:43 +02:00
Pierre Chapuis
09af570b23
add DINOv2-FD metric
2024-04-03 16:45:00 +02:00
Laurent
5f07fa9c21
fix dinov2 interpolation, support batching
2024-04-02 18:57:25 +02:00
Pierre Chapuis
fd5a15c7e0
update pyright and fix Pillow 10.3 typing issues
2024-04-02 18:15:52 +02:00
Laurent
4f94dfb494
implement dinov2 positional embedding interpolation
2024-04-02 10:02:43 +02:00
Laurent
0336bc78b5
simplify interpolate function and layer
2024-04-02 10:02:43 +02:00
Pierre Colle
6c37e3f933
hq-sam : weights/load_weights
2024-03-29 11:25:43 +01:00
Pierre Chapuis
404a15aad2
tweak auto_attach_loras so debugging is easier when it fails
2024-03-26 16:12:48 +01:00
Laurent
a0715806d2
modify ip_adapter's ImageCrossAttention scale getter and setter
...
this new version makes it robust in case mulitple Mulitply-s are inside the Chain (e.g. if the Linear layers are LoRA-ified)
2024-03-26 11:15:04 +01:00
Laurent
7e64ba4011
modify ip_adapter's CrossAttentionAdapters injection logic
2024-03-26 11:15:04 +01:00
Cédric Deltheil
df0cc2aeb8
do not call __getattr__ with keyword argument
...
Same for __setattr__. Use positional arguments instead. E.g.:
import torch
import refiners.fluxion.layers as fl
m = torch.compile(fl.Linear(1,1))
m(torch.zeros(1))
# TypeError: Module.__getattr__() got an unexpected keyword argument 'name'
2024-03-25 21:46:13 +01:00
Pierre Colle
cba83b0558
SAM init with mask_decoder after #325
2024-03-24 20:18:57 +01:00
Pierre Chapuis
364e196874
support no CFG in compute_clip_text_embedding
2024-03-22 17:06:51 +01:00
Pierre Colle
94e8b9c23f
SAM MaskDecoder token slicing
2024-03-22 13:11:40 +01:00
hugojarkoff
a93ceff752
Add HQ-SAM Adapter
2024-03-21 15:36:55 +01:00
limiteinductive
38c86f59f4
Switch gradient clipping to native torch torch.nn.utils.clip_grad_norm_
2024-03-19 22:08:48 +01:00
Pierre Colle
68fe725767
Add multimask_output flag to SAM
2024-03-19 17:40:26 +01:00
limiteinductive
6a72943ff7
change TimeValue to a dataclass
2024-03-19 14:49:24 +01:00
Laurent
b8fae60d38
make LoRA's weight initialization overridable
2024-03-13 17:32:16 +01:00
Pierre Chapuis
e32d8d16f0
LoRA loading: forward exclusions when preprocessing parts of the UNet
2024-03-13 15:25:00 +01:00
limiteinductive
ff5341c85c
Change weight decay for Optimizer to normal PyTorch default
2024-03-12 15:20:21 +01:00
Pierre Chapuis
975560165c
improve docstrings
2024-03-08 15:43:57 +01:00
Pierre Chapuis
cd5fa97c20
ability to get LoRA weights in SDLoraManager
2024-03-08 15:43:57 +01:00
Pierre Chapuis
fb90b00e75
add_loras_to_unet: add preprocess values as exclusions in last step
2024-03-08 15:43:57 +01:00
Pierre Chapuis
4259261f17
simplify LCM weights loader using new manager features
2024-03-08 15:43:57 +01:00
Pierre Chapuis
ccd9414ff1
fix debug map when attaching two LoRAs
...
(in that case return the path of the LoraAdapter)
2024-03-08 15:43:57 +01:00
Pierre Chapuis
8c7fcbc00f
LoRA manager: move exclude / include to add_loras call
...
Always exclude the TimestepEncoder by default.
This is because some keys include both e.g. `resnet` and `time_emb_proj`.
Preprocess blocks that tend to mix up with others in a separate
auto_attach call.
2024-03-08 15:43:57 +01:00
Pierre Chapuis
052a20b897
remove add_multiple_loras
2024-03-08 15:43:57 +01:00
Pierre Chapuis
ed8ec26e63
allow passing inclusions and exlusions to SDLoraManager
2024-03-08 15:43:57 +01:00
Pierre Chapuis
cce2a98fa6
add sanity check to auto_attach_loras
2024-03-08 15:43:57 +01:00
Pierre Chapuis
1eb71077aa
use same scale setter / getter interface for all controls
2024-03-08 11:29:28 +01:00
Laurent
5e7986ef08
adding more log messages in training_utils
2024-03-08 10:52:14 +01:00
Pierre Chapuis
be2368cf20
ruff 3 formatting (Rye 0.28)
2024-03-08 10:42:05 +01:00
Pierre Chapuis
91d1b46aa9
Add a note that we mitigate non-zero SNR in DDIM.
2024-02-26 12:14:02 +01:00
Pierre Chapuis
7f51d18045
clarify that add_lcm_lora can load SDXL-Lightning
2024-02-26 12:14:02 +01:00
Pierre Chapuis
7e4e0f0650
correctly scale init latents for Euler scheduler
2024-02-26 12:14:02 +01:00
Pierre Chapuis
bf0ba58541
refactor solver params, add sample prediction type
2024-02-26 12:14:02 +01:00
Pierre Chapuis
ddc1cf8ca7
refactor solvers to support different timestep spacings
2024-02-26 12:14:02 +01:00
Cédric Deltheil
176807740b
control_lora: fix adapter set scale
...
The adapter set scale did not propagate the scale to the underlying
zero convolutions. The value set at CTOR time was used instead.
Follow up of #285
2024-02-22 10:01:05 +01:00
Pierre Chapuis
03b79d6d34
rename ResidualBlock to ConditionScaleBlock in LCM
2024-02-21 16:37:27 +01:00
Pierre Chapuis
684e2b9a47
add docstrings for LCM / LCM-LoRA
2024-02-21 16:37:27 +01:00
Pierre Chapuis
12b6829a26
add support for LCM LoRA weights loading
2024-02-21 16:37:27 +01:00
Pierre Chapuis
fafe5f8f5a
Improve filtering when auto-attaching LoRAs.
...
Also support debug output to help diagnose bad mappings.
2024-02-21 16:37:27 +01:00
Pierre Chapuis
f8d55ccb20
add LcmAdapter
...
This adds support for the condition scale embedding.
Also updates the UNet converter to support LCM.
2024-02-21 16:37:27 +01:00
Pierre Chapuis
c8c6294550
add LCMSolver (Latent Consistency Models)
2024-02-21 16:37:27 +01:00
Pierre Chapuis
4a619e84f0
support disabling CFG in LatentDiffusionModel
2024-02-21 16:37:27 +01:00
Pierre Colle
d199cd4f24
batch sdxl + sd1 + compute_clip_text_embedding
...
Co-authored-by: Cédric Deltheil <355031+deltheil@users.noreply.github.com>
2024-02-21 15:17:11 +01:00
Cédric Deltheil
5ab5d7fd1c
import ControlLoraAdapter part of latent_diffusion
2024-02-19 14:11:32 +01:00
Laurent
2a3e353f04
enable StyleAligned
related docstrings in mkdocstrings
2024-02-15 15:22:47 +01:00
Laurent
efa3988638
implement StyleAlignedAdapter
2024-02-15 15:22:47 +01:00
limiteinductive
432e32f94f
rename Scheduler -> LRScheduler
2024-02-15 11:48:36 +01:00
Laurent
684303230d
export ControlLora
and ControlLoraAdapter
in refiners.foundationals.latent_diffusion.stable_diffusion_xl
2024-02-15 11:32:49 +01:00
Laurent
41a5ce2052
implement ControlLora
and ControlLoraAdapter
2024-02-14 18:20:46 +01:00
Laurent
a54808e757
add context_key getter and setter to RangeAdapter2d
2024-02-14 18:20:46 +01:00
Laurent
35b6e2f7c5
add context_key getter and setter to TimestepEncoder
2024-02-14 18:20:46 +01:00
Laurent
0230971543
simplify is_compatible
in lora.py
2024-02-14 18:20:46 +01:00
Pierre Chapuis
35868ba34b
Move helper to attach several LoRAs from SD to Fluxion
2024-02-14 13:35:46 +01:00
limiteinductive
bec845553f
update deprecated validator for field_validator
2024-02-13 18:35:51 +01:00
limiteinductive
ab506b4db2
fix bug that was causing double registration
2024-02-13 11:12:13 +01:00
limiteinductive
3488273f50
Enforce correct subtype for the config param in both decorators
...
Also add a custom ModelConfig for the MockTrainer test
Update src/refiners/training_utils/config.py
Co-authored-by: Cédric Deltheil <355031+deltheil@users.noreply.github.com>
2024-02-12 16:21:04 +01:00
limiteinductive
0caa72a082
remove deprecated on_checkpoint_save
2024-02-12 16:21:04 +01:00
limiteinductive
cef8a9936c
refactor register_model decorator
2024-02-12 16:21:04 +01:00
limiteinductive
d6546c9026
add @register_model and @register_callback decorators
...
Refactor ClockTrainer to include Callback
2024-02-12 10:24:19 +01:00
limiteinductive
f541badcb3
Allow optional train ModelConfig + forbid extra input for configs
2024-02-10 16:13:10 +01:00
Pierre Chapuis
402d3105b4
support multiple IP adapter inputs as tensor
2024-02-09 17:16:17 +01:00
Cédric Deltheil
5a7085bb3a
training_utils/config.py: inline type alias
...
Follow up of #227
2024-02-09 14:36:22 +01:00
Pierre Colle
25bfa78907
lr, betas, eps, weight_decay at model level
...
Co-authored-by: Cédric Deltheil <355031+deltheil@users.noreply.github.com>
2024-02-09 12:05:13 +01:00
Colle
f4aa0271b8
less than 1 epoch training duration
2024-02-08 19:20:31 +01:00