ostris / ai-toolkit

Various AI scripts. Mostly Stable Diffusion stuff.
MIT License
3.16k stars 317 forks source link

Sampling fails when sampler is euler. #83

Closed fivecanal5 closed 2 months ago

fivecanal5 commented 2 months ago

The initial sampling fails when sampler is set to euler. It's fine when reverted back to to flowmatch. BTW what is this flowmatch sampler? Haven't seen it anywhere before.

Error msg:

Traceback (most recent call last): File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/run.py", line 90, in main() File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/run.py", line 86, in main raise e File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/run.py", line 78, in main job.run() File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/jobs/ExtensionJob.py", line 22, in run process.run() File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/jobs/process/BaseSDTrainProcess.py", line 1582, in run self.sample(self.step_num) File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/jobs/process/BaseSDTrainProcess.py", line 269, in sample self.sd.generate_images(gen_img_config_list, sampler=sample_config.sampler) File "/ssd/62_only/bjhonson/miniconda3/envs/lora_training/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context return func(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/ssd/62_only/bjhonson/flux_training/ai-toolkit/toolkit/stable_diffusion_model.py", line 1140, in generate_images img = pipeline( ^^^^^^^^^ File "/ssd/62_only/bjhonson/miniconda3/envs/lora_training/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context return func(args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/ssd/62_only/bjhonson/miniconda3/envs/lora_training/lib/python3.11/site-packages/diffusers/pipelines/flux/pipeline_flux.py", line 664, in call self.scheduler.config.base_image_seq_len, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'FrozenDict' object has no attribute 'base_image_seq_len'

jaretburkett commented 2 months ago

the 'flowmatch' sampler is a euler version that supports flowmatching. The sampler cannot handle other samplers currently as none of the other ones in diffusers support flowmatching. Just stick to flowmatching for now for both sampling and training.