mirror of https://github.com/vladmandic/automatic
update dependencies and changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>pull/3577/head^2
parent
5200d33f3c
commit
17a5f34cce
48
CHANGELOG.md
48
CHANGELOG.md
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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]}')
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
6
webui.py
6
webui.py
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue