Skip to content

Commit

Permalink
update dependencies and changelog
Browse files Browse the repository at this point in the history
Signed-off-by: Vladimir Mandic <[email protected]>
  • Loading branch information
vladmandic committed Nov 12, 2024
1 parent 5200d33 commit 17a5f34
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 33 deletions.
48 changes: 27 additions & 21 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
# 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
- select in *scripts -> pulid*
- 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*
- *note*: after used once it cannot be unloaded without reloading base model
- [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*
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion modules/api/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,4 @@ async def general_exception_handler(req: Request, e: Exception):
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]}')
2 changes: 1 addition & 1 deletion modules/prompt_parser_diffusers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 11 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# required for python 3.12
setuptools==69.5.1

# standard
patch-ng
anyio
addict
Expand Down Expand Up @@ -27,6 +30,8 @@ ruff
pylint
invisible-watermark
pi-heif

# versioned
safetensors==0.4.5
tensordict==0.1.2
peft==0.13.1
Expand All @@ -36,17 +41,14 @@ 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
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
Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 17a5f34

Please sign in to comment.