update dependencies and changelog

Signed-off-by: Vladimir Mandic <mandic00@live.com>
pull/3577/head^2
Vladimir Mandic 2024-11-12 11:42:02 -05:00
parent 5200d33f3c
commit 17a5f34cce
7 changed files with 46 additions and 33 deletions

View File

@ -1,19 +1,19 @@
# Change Log for SD.Next
## Update for 2024-11-10
## Update for 2024-11-12
Smaller release just few days after the last one, but with some important fixes and improvements.
This release can be considered an LTS release before we kick off the next round of major updates.
- Docs:
- new top-level **info** tab with access to [changelog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) and [wiki](https://github.com/vladmandic/automatic/wiki)
- new top-level **info** tab with access to [changelog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) and [wiki](https://github.com/vladmandic/automatic/wiki)
- UI built-in [changelog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) search
since changelog is the best up-to-date source of info
go to info -> changelog and search/highligh/navigate directly in UI!
- UI built-in [wiki](https://github.com/vladmandic/automatic/wiki)
go to info -> wiki and search wiki pages directly in UI!
- major [Wiki](https://github.com/vladmandic/automatic/wiki) and [Home](https://github.com/vladmandic/automatic) updates
- Integrations:
- Integrations:
- [PuLID](https://github.com/ToTheBeginning/PuLID): Pure and Lightning ID Customization via Contrastive Alignment
- advanced method of face id transfer with better quality as well as control over identity and appearance
try it out, likely the best quality available for sdxl models
@ -21,7 +21,7 @@ This release can be considered an LTS release before we kick off the next round
- compatible with *sdxl* for text-to-image, image-to-image, inpaint and detailer workflows
- can be used in xyz grid
- *note*: this module contains several advanced features on top of original implementation
- [InstantIR](https://github.com/instantX-research/InstantIR): Blind Image Restoration with Instant Generative Reference
- [InstantIR](https://github.com/instantX-research/InstantIR): Blind Image Restoration with Instant Generative Reference
- alternative to traditional `img2img` with more control over restoration process
- select in *image -> scripts -> instantir*
- compatible with *sdxl*
@ -29,19 +29,19 @@ This release can be considered an LTS release before we kick off the next round
- [ConsiStory](https://github.com/NVlabs/consistory): Consistent Image Generation
- create consistent anchor image and then generate images that are consistent with anchor
- select in *scripts -> consistory*
- compatible with *sdxl*
- compatible with *sdxl*
- *note*: very resource intensive and not compatible with model offloading
- *note*: changing default parameters can lead to unexpected results and/or failures
- *note*: after used once it cannot be unloaded without reloading base model
- [MiaoshouAI PromptGen v2.0](https://huggingface.co/MiaoshouAI/Florence-2-base-PromptGen-v2.0) base and large:
- *in process -> visual query*
- caption modes:
- [MiaoshouAI PromptGen v2.0](https://huggingface.co/MiaoshouAI/Florence-2-base-PromptGen-v2.0) base and large:
- *in process -> visual query*
- caption modes:
`<GENERATE_TAGS>` generate tags
`<CAPTION>`, `<DETAILED_CAPTION>`, `<MORE_DETAILED_CAPTION>` caption image
`<ANALYZE>` image composition
`<MIXED_CAPTION>`, `<MIXED_CAPTION_PLUS>` detailed caption and tags with optional analyze
- Model improvements:
- Model improvements:
- SD3: ControlNets:
- *InstantX Canny, Pose, Depth, Tile*
- *Alimama Inpainting, SoftEdge*
@ -51,38 +51,44 @@ This release can be considered an LTS release before we kick off the next round
- *examples*: [large](https://civitai.com/models/882666/sd35-large-google-flan?modelVersionId=1003031), [medium](https://civitai.com/models/900327)
- *note*: enable *bnb* on-the-fly quantization for even bigger gains
- Workflow improvements:
- Workflow improvements:
- XYZ grid:
- optional time benchmark info to individual images
- optional add params to individual images
- create video from generated grid images
supports all standard video types and interpolation
- Prompt parser:
- support for prompt scheduling
- renamed parser options: `native`, `xhinker`, `compel`, `a1111`, `fixed`
- improved caching
- UI:
- better gallery and networks sidebar sizing
- better gallery and networks sidebar sizing
- add additional [hotkeys](https://github.com/vladmandic/automatic/wiki/Hotkeys)
- add show networks on startup setting
- better mapping of networks previews
- optimize networks display load
- Image2image:
- integrated refine/upscale/hires workflow
- Image2image:
- integrated refine/upscale/hires workflow
- Other:
- Installer:
- Log `venv` and package search paths
- Installer:
- Log `venv` and package search paths
- Auto-remove invalid packages from `venv/site-packages`
e.g. packages starting with `~` which are left-over due to windows access violation
- Requirements: update
- Scripts:
- More verbose descriptions for all scripts
- Model loader:
- Scripts:
- More verbose descriptions for all scripts
- Model loader:
- Report modules included in safetensors when attempting to load a model
- CLI:
- refactor command line params
run `webui.sh`/`webui.bat` with `--help` to see all options
- added `cli/model-metadata.py` to display metadata in any safetensors file
- added `cli/model-keys.py` to quicky display content of any safetensors file
- Internal:
- added `cli/model-metadata.py` to display metadata in any safetensors file
- added `cli/model-keys.py` to quicky display content of any safetensors file
- Internal:
- Repo: move screenshots to GH pages
- Auto pipeline switching coveres wrapper classes and nested pipelines
- Full settings validation on load of `config.json`
- Refactor of all params in main processing classes
- Fixes:
- custom watermark add alphablending

@ -1 +1 @@
Subproject commit 257be050afd46a21e77cc9fe60a04d30ed5ffbe4
Subproject commit 4647bd7f86be9d2783a9ba1f38acaa9bcec942d2

View File

@ -459,12 +459,12 @@ def check_python(supported_minors=[9, 10, 11, 12], reason=None):
# check diffusers version
def check_diffusers():
sha = '0d1d267b12e47b40b0e8f265339c76e0f45f8c49'
sha = 'dac623b59f52c58383a39207d5147aa34e0047cd'
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 ''
if (minor == 0) or (cur != sha):
log.debug(f'Diffusers {"install" if minor == 0 else "upgrade"}: package={pkg} current={cur} target={sha}')
log.info(f'Diffusers {"install" if minor == 0 else "upgrade"}: package={pkg} current={cur} target={sha}')
if minor > 0:
pip('uninstall --yes diffusers', ignore=True, quiet=True, uv=False)
pip(f'install --upgrade git+https://github.com/huggingface/diffusers@{sha}', ignore=False, quiet=True, uv=False)

View File

@ -90,4 +90,4 @@ def setup_middleware(app: FastAPI, cmd_opts):
return handle_exception(req, e)
app.build_middleware_stack() # rebuild middleware stack on-the-fly
log.debug(f'FastAPI middleware: {[m.__class__.__name__ for m in app.user_middleware]}')
log.debug(f'API middleware: {[m.cls for m in app.user_middleware]}')

View File

@ -291,7 +291,7 @@ def get_prompt_schedule(prompt, steps):
def get_tokens(msg, prompt):
global token_dict, token_type # pylint: disable=global-statement
if not shared.native:
return
return 0
if shared.sd_loaded and hasattr(shared.sd_model, 'tokenizer') and shared.sd_model.tokenizer is not None:
if token_dict is None or token_type != shared.sd_model_type:
token_type = shared.sd_model_type

View File

@ -1,4 +1,7 @@
# required for python 3.12
setuptools==69.5.1
# standard
patch-ng
anyio
addict
@ -27,6 +30,8 @@ ruff
pylint
invisible-watermark
pi-heif
# versioned
safetensors==0.4.5
tensordict==0.1.2
peft==0.13.1
@ -36,7 +41,7 @@ torchsde==0.2.6
antlr4-python3-runtime==4.9.3
requests==2.32.3
tqdm==4.66.5
accelerate==1.0.1
accelerate==1.1.1
opencv-contrib-python-headless==4.9.0.80
einops==0.4.1
gradio==3.43.2
@ -44,9 +49,6 @@ huggingface_hub==0.26.2
numexpr==2.8.8
numpy==1.26.4
numba==0.59.1
blendmodes
scipy
pandas
protobuf==4.25.3
pytorch_lightning==1.9.4
tokenizers==0.20.3
@ -57,6 +59,11 @@ timm==0.9.16
pydantic==1.10.15
pyparsing==3.1.4
typing-extensions==4.12.2
# additional
blendmodes
scipy
pandas
torchdiffeq
dctorch
scikit-image

View File

@ -110,7 +110,7 @@ def initialize():
yolo.initialize()
timer.startup.record("detailer")
log.debug('Load extensions')
log.info('Load extensions')
t_timer, t_total = modules.scripts.load_scripts()
timer.startup.record("extensions")
timer.startup.records["extensions"] = t_total # scripts can reset the time
@ -179,7 +179,7 @@ def load_model():
def create_api(app):
log.debug('Creating API')
log.debug('API initialize')
from modules.api.api import Api
api = Api(app, queue_lock)
return api
@ -231,7 +231,7 @@ def start_common():
def start_ui():
log.debug('Creating UI')
log.info('UI start')
modules.script_callbacks.before_ui_callback()
timer.startup.record("before-ui")
shared.demo = modules.ui.create_ui(timer.startup)