Skip to content

Commit

Permalink
Merge branch 'dev' into Issue2339/EmbeddingLoad
Browse files Browse the repository at this point in the history
  • Loading branch information
midcoastal committed Jan 14, 2024
2 parents 6b037cc + ed9d3d9 commit 6dd0674
Show file tree
Hide file tree
Showing 179 changed files with 25,200 additions and 24,875 deletions.
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"max-len": [1, 275, 3],
"camelcase":"off",
"default-case":"off",
"no-await-in-loop":"off",
"no-bitwise":"off",
"no-confusing-arrow":"off",
"no-console":"off",
Expand Down Expand Up @@ -71,6 +72,8 @@
"restartReload": "readonly",
"updateInput": "readonly",
"toggleCompact": "readonly",
"setFontSize": "readonly",
"setTheme": "readonly",
// settings.js
"registerDragDrop": "readonly",
//extraNetworks.js
Expand Down
86 changes: 70 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,99 @@
# Change Log for SD.Next

## Update for 2023-01-06
## Update for 2023-01-14

Following-up on a major release, some more functionality in new Control module
Another release with a lot more functionality in new Control module and FaceID & IPAdapter modules
Plus welcome additions to UI performance and accessibility and flexibility of deployment
And it also includes fixes for all reported issues so far

- **Control**:
- add **inpaint** support
applies to both *img2img* and *controlnet* workflows
*note*: set blur to level you desire
- add **outpaint** support
applies to both *img2img* and *controlnet* workflows
*note*: increase denoising strength since outpainted area is blank by default
- new **mask** module
- granular blur (gaussian), errode (reduce or remove noise) and dilate (pad or expand)
- optional **live preview**
- optional **auto-segmentation** (e.g. segment-anything) using ml models
*note*: auto segmentation will automatically expand user-masked area to segments that include current user mask
- allow **resize** both *before* and *after* generate operation
this allows for workflows such as: *image -> upscale or downscale -> generate -> upscale or downscale -> output*
providing more flexibility and than standard hires workflow
*note*: resizing before generate can be done using standard upscalers or latent
- implicit **hires**
since hires is only used for txt2img, control reuses existing resize functionality
any image size is used as txt2img target size
but if resize scale is also set its used to additionally upscale image after initial txt2img and for hires pass
- add support for **scripts** and **extensions**
you can now combine control workflow with your favorite script or extension
*note* extensions that are hard-coded for txt2img or img2img tabs may not work until they are updated
- add **marigold** depth map processor
this is state-of-the-art depth estimation model, but its quite heavy on resources
- add **openpose xl** controlnet
- add blip/booru **interrogate** functionality to both input and output images
- configurable output folder in settings
- auto-refresh available models on tab activate
- add image preview for override images set per-unit
- more compact unit layout
- reduce usage of temp files
- add context menu to action buttons
- move ip-adapter implementation to control tabs
- resize by now applies to input image or frame individually
allows for processing where input images are of different sizes
- fix input image size
- fix video color mode
- fix correct image mode
- fix batch/folder/video modes
- fix processor switching within same unit
- fix pipeline switching between different modes
- [FaceID](https://huggingface.co/h94/IP-Adapter-FaceID)
full implementation for *SD15* and *SD-XL*, to use simply select from *Scripts*
- **Base** (93MB) uses *InsightFace* to generate face embeds and *OpenCLIP-ViT-H-14* (2.5GB) as image encoder
- **SXDL** (1022MB) uses *InsightFace* to generate face embeds and *OpenCLIP-ViT-bigG-14* (3.7GB) as image encoder
- **Plus** (150MB) uses *InsightFace* to generate face embeds and *CLIP-ViT-H-14-laion2B* (3.8GB) as image encoder
*note*: all models are downloaded on first use
- full implementation for *SD15* and *SD-XL*, to use simply select from *Scripts*
**Base** (93MB) uses *InsightFace* to generate face embeds and *OpenCLIP-ViT-H-14* (2.5GB) as image encoder
**SXDL** (1022MB) uses *InsightFace* to generate face embeds and *OpenCLIP-ViT-bigG-14* (3.7GB) as image encoder
**Plus** (150MB) uses *InsightFace* to generate face embeds and *CLIP-ViT-H-14-laion2B* (3.8GB) as image encoder
- *note*: all models are downloaded on first use
- enable use via api, thanks @trojaner
- [IPAdapter](https://huggingface.co/h94/IP-Adapter)
additional models for *SD15* and *SD-XL*, to use simply select from *Scripts*:
- **SD15**: Base, Base ViT-G, Light, Plus, Plus Face, Full Face
- **SDXL**: Base SXDL, Base ViT-H SXDL, Plus ViT-H SXDL, Plus Face ViT-H SXDL
- additional models for *SD15* and *SD-XL*, to use simply select from *Scripts*:
**SD15**: Base, Base ViT-G, Light, Plus, Plus Face, Full Face
**SDXL**: Base SXDL, Base ViT-H SXDL, Plus ViT-H SXDL, Plus Face ViT-H SXDL
- enable use via api, thanks @trojaner
- **Improvements**
- **ui**
- check version and **update** SD.Next via UI
simply go to: settings -> update
- globally configurable **font size**
will dynamically rescale ui depending on settings -> user interface
- built-in **themes** can be changed on-the-fly
this does not work with gradio-default themes as css is created by gradio itself
- modularized blip/booru interrogate
now appears as toolbuttons on image/gallery output
- faster browser page load
- cleanup hints
- cleanup settings
- **server startup**: performance
- reduced module imports
ldm support is now only loaded when running in backend=original
- faster extension load
- faster json parsing
- faster lora indexing
- lazy load optional imports
- **extra networks**
- 4x faster civitai metadata and previews lookup
- better display and selection of tags & trigger words
- better search
- reduce html overhead
- **offline deployment**: allow deployment without git clone
for example, you can now deploy a zip of the sdnext folder
- **latent upscale**: updated latent upscalers (some are new)
*nearest, nearest-exact, area, bilinear, bicubic, bilinear-antialias, bicubic-antialias*
- **xyz grid**: continue on error
now you can use xyz grid with different params and test which ones work and which dont
- **xyz grid**
- range control
example: `5.0-6.0:3` will generate 3 images with values `5.0,5.5,6.0`
example: `10-20:4` will generate 4 images with values `10,13,16,20`
- continue on error
now you can use xyz grid with different params and test which ones work and which dont
- **hypertile**
- enable vae tiling
- add autodetect optimial value
Expand All @@ -68,7 +109,7 @@ And it also includes fixes for all reported issues so far
- major internal ui module refactoring
this may cause compatibility issues if an extension is doing a direct import from `ui.py`
in which case, report it so i can add a compatibility layer
- **Compile**
- **compile**
- new option: **fused projections**
pretty much free 5% performance boost for compatible models
enable in settings -> compute settings
Expand All @@ -85,29 +126,42 @@ And it also includes fixes for all reported issues so far
- rewrite ipex hijacks without CondFunc
improves compatibilty and performance
fixes random memory leaks
- out of the box support for Intel Data Center GPU Max Series
- remove IPEX / Torch 2.0 specific hijacks
- add `IPEX_SDPA_SLICE_TRIGGER_RATE` and `IPEX_ATTENTION_SLICE_RATE` env variables
- add `IPEX_SDPA_SLICE_TRIGGER_RATE`, `IPEX_ATTENTION_SLICE_RATE` and `IPEX_FORCE_ATTENTION_SLICE` env variables
- disable 1024x1024 workaround if the GPU supports 64 bit
- fix lock-ups at very high resolutions
- **OpenVINO**, thanks @disty0
- **4-bit support with NNCF**
enable *Compress Model weights with NNCF* from *Compute Settings* and set a 4-bit NNCF mode
4-bit and 8-bit with OpenVINO is CPU only for now
- experimental support for *Text Encoder* compiling
OpenVINO is faster than IPEX now
- add device selection to `Compute Settings`
selecting multiple devices will use `HETERO` device
- remove `OPENVINO_TORCH_BACKEND_DEVICE` env variable
- reduce system memory usage after compile
- fix cache loading with multiple models
- **Fixes**
- **fixes**
- ipadapter: allow changing of model/image on-the-fly
- ipadapter: fix fallback of cross-attention on unload
- prompt scheduler, thanks @AI-Casanova
- python: fix python 3.9 compatibility
- sdxl: fix positive prompt embeds
- img2img: clip and blip interrogate
- img2img: sampler selection offset
- api: return current image in progress api if requested
- api: sanitize response object
- api: cleanup error logging
- sampler: guard against invalid sampler index
- sampler: add img2img_extra_noise option
- config: reset default cfg scale to 6.0
- processing: correct display metadata
- processing: fix batch file names
- live preview: fix when using `bfloat16`
- upscale: fix ldsr
- cli: fix cmd args parsing
- global crlf->lf switch

## Update for 2023-12-29

Expand Down
Loading

0 comments on commit 6dd0674

Please sign in to comment.