add sana chi

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2024-12-18 09:16:13 -05:00
parent 4b35dfc2a2
commit 85805f969a
4 changed files with 13 additions and 5 deletions
+6 -3
View File
@@ -1,15 +1,18 @@
# Change Log for SD.Next
## Update for 2024-12-17
## Update for 2024-12-18
### New models and integrations
- [NVLabs Sana](https://huggingface.co/Efficient-Large-Model/Sana_1600M_1024px)
**Sana** can synthesize high-resolution images with strong text-image alignment by using **Gemma2** as text-encoder
and its *fast* - typically at least **2x** faster than sd-xl even for 1.6B variant
support for both 1.6B and 0.6B models
**Sana** can synthesize high-resolution images with strong text-image alignment by using **Gemma2** as text-encoder
and its *fast* - typically at least **2x** faster than sd-xl even for 1.6B variant and maintains performance regardless of resolution
e.g., rendering at 4k is possible in less than 8GB vram
to use, select from *networks -> models -> reference* and models will be auto-downloaded on first use
*reference values*: sampler: default (or any flow-match variant), width/height: 1024, guidance scale: 4.5
*note* like other LLM-based text-encoders, sana prefers long and descriptive prompts
any short prompt below 300 characters will be auto-expanded using built in Gemma LLM before encoding while long prompts will be passed as-is
- [Flux Tools](https://blackforestlabs.ai/flux-1-tools/)
**Redux** is actually a tool, **Fill** is inpaint/outpaint optimized version of *Flux-dev*
**Canny** & **Depth** are optimized versions of *Flux-dev* for their respective tasks: they are *not* ControlNets that work on top of a model
+1 -1
View File
@@ -459,7 +459,7 @@ def check_python(supported_minors=[9, 10, 11, 12], reason=None):
def check_diffusers():
if args.skip_all or args.skip_requirements:
return
sha = '1524781b88ac1a082e755a030ba9d73cd6948e84' # diffusers commit hash
sha = '862a7d5038c1c53641ffcab146a7eeb5ab683656' # diffusers commit hash
pkg = pkg_resources.working_set.by_key.get('diffusers', None)
minor = int(pkg.version.split('.')[1] if pkg is not None else 0)
cur = opts.get('diffusers_version', '') if minor > 0 else ''
+5
View File
@@ -164,6 +164,11 @@ def set_pipeline_args(p, model, prompts: list, negative_prompts: list, prompts_2
args['negative_prompt'] = negative_prompts[0]
else:
args['negative_prompt'] = negative_prompts
if 'complex_human_instruction' in possible:
chi = any(len(p) < 300 for p in prompts)
p.extra_generation_params["CHI"] = chi
if not chi:
args['complex_human_instruction'] = None
if prompt_parser_diffusers.embedder is not None and not prompt_parser_diffusers.embedder.scheduled_prompt: # not scheduled so we dont need it anymore
prompt_parser_diffusers.embedder = None
+1 -1
Submodule wiki updated: 4dc357d289...470e75f0c7