update notes

This commit is contained in:
Vladimir Mandic
2024-06-21 08:35:32 -04:00
parent 0aaabfc2e6
commit a1beb777fc
2 changed files with 20 additions and 14 deletions
+12 -6
View File
@@ -4,24 +4,31 @@
### Highlights for 2024-06-21
Following zero-day **SD3** release, a week later here's a refresh with more than a few improvements.
But there's more than SD3:
- support for quantized **T5** text encoder in all models that use T5: FP4/FP8/FP16/INT8 (SD3, PixArt-Σ, etc)
- support for **PixArt-Sigma** in small/medium/large variants
Following zero-day **SD3** release, a week later here's a refresh with 10+ improvements
including full prompt attention, support for compressed weights, additional text-encoder quantization modes.
But there's more than SD3:
- support for quantized **T5** text encoder in all models that use T5: FP4/FP8/FP16/INT8 (SD3, PixArt-Σ, etc)
- support for **PixArt-Sigma** in small/medium/large variants
- support for **HunyuanDiT 1.1**
- (finally) new release of **Torch-DirectML**
- over 20 overall fixes
### Model Improvements
- **SD3**: enable tiny-VAE (TAESD) preview and non-full quality mode
- SD3: enable base LoRA support
- SD3: add support for FP4 quantized T5 text encoder
simply select in *settings -> model -> text encoder*
simply select in *settings -> model -> text encoder*
*note* for SD3 with T5, set SD.Next to use FP16 precision, not BF16 precision
- SD3: add support for INT8 quantized T5 text encoder, thanks @Disty0!
- SD3: enable cpu-offloading for T5 text encoder, thanks @Disty0!
- SD3: simplified loading of model in single-file safetensors format
model load can now be performed fully offline
- SD3: add support for NNCF compressed weights, thanks @Disty0!
- SD3: full support for prompt parsing and attention, thanks @AI-Casanova!
- SD3: ability to target different prompts to each of text-encoders, thanks @AI-Casanova!
example: `dog TE2: cat TE3: bird`
- SD3: add support for sampler shift for Euler FlowMatch
see *settings -> samplers*, also available as param in xyz grid
higher shift means model will spend more time on structure and less on details
@@ -32,7 +39,6 @@ But there's more than SD3:
simply select in *settings -> model -> text encoder* before or after model load
- **HunyuanDiT**: support for model version 1.1
### Improvements: General
- support FP4 quantized T5 text encoder, in addtion to existing FP8 and FP16
+8 -8
View File
@@ -562,30 +562,30 @@ def detect_pipeline(f: str, op: str = 'model', warning=True, quiet=False):
# guess by size
if os.path.isfile(f) and f.endswith('.safetensors'):
size = round(os.path.getsize(f) / 1024 / 1024)
if size < 128:
if (size < 128):
warn(f'Model size smaller than expected: {f} size={size} MB')
elif (size >= 316 and size <= 324) or (size >= 156 and size <= 164): # 320 or 160
warn(f'Model detected as VAE model, but attempting to load as model: {op}={f} size={size} MB')
guess = 'VAE'
elif size >= 4970 and size <= 4976: # 4973
elif (size >= 4970 and size <= 4976): # 4973
guess = 'Stable Diffusion 2' # SD v2 but could be eps or v-prediction
# elif size < 0: # unknown
# guess = 'Stable Diffusion 2B'
elif size >= 5791 and size <= 5799: # 5795
elif (size >= 5791 and size <= 5799): # 5795
if op == 'model':
warn(f'Model detected as SD-XL refiner model, but attempting to load a base model: {op}={f} size={size} MB')
guess = 'Stable Diffusion XL Refiner'
elif (size >= 6611 and size <= 7220): # 6617, HassakuXL is 6776, monkrenRealisticINT_v10 is 7217
guess = 'Stable Diffusion XL'
elif size >= 3361 and size <= 3369: # 3368
elif (size >= 3361 and size <= 3369): # 3368
guess = 'Stable Diffusion Upscale'
elif size >= 4891 and size <= 4899: # 4897
elif (size >= 4891 and size <= 4899): # 4897
guess = 'Stable Diffusion XL Inpaint'
elif size >= 9791 and size <= 9799: # 9794
elif (size >= 9791 and size <= 9799): # 9794
guess = 'Stable Diffusion XL Instruct'
elif size > 3138 and size < 3142: #3140
elif (size > 3138 and size < 3142): #3140
guess = 'Stable Diffusion XL'
elif size > 5692 and size < 5698 or size > 4134 and size < 4138:
elif (size > 5692 and size < 5698) or (size > 4134 and size < 4138) or (size > 10362 and size < 10366):
guess = 'Stable Diffusion 3'
# guess by name
"""