mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 01:04:32 +02:00
refresh
This commit is contained in:
+51
-4
@@ -1,13 +1,60 @@
|
||||
# Change Log for SD.Next
|
||||
|
||||
## Update for 2024-02-24
|
||||
## TODO
|
||||
|
||||
- EDM samplers for Playground require `diffusers==0.27.0`
|
||||
- StableCascade requires diffusers `kashif/diffusers.git@wuerstchen-v3`
|
||||
|
||||
## Update for 2024-03-01
|
||||
|
||||
- [Playground v2.5](https://huggingface.co/playgroundai/playground-v2.5-1024px-aesthetic)
|
||||
- new model version from Playground: based on SDXL, but with some cool new concepts
|
||||
- download using networks -> reference
|
||||
- set sampler to *DPM++ 2M EDM* or *Euler EDM*
|
||||
- [KOALA 700M](https://github.com/youngwanLEE/sdxl-koala)
|
||||
- another very fast & light sd-xl model where original unet was compressed and distilled to 54% of original size
|
||||
- download using networks -> reference
|
||||
- *note* to download fp16 variant (recommended), set settings -> diffusers -> preferred model variant
|
||||
- **Image2Video**
|
||||
- new module for creating videos from images
|
||||
- simply enable from *img2img -> scripts -> image2video*
|
||||
- based on [VGen](https://huggingface.co/ali-vilab/i2vgen-xl)
|
||||
- **VQA** visual question & answer in interrogate
|
||||
- with support for multiple variations of base models: *GIT, BLIP, ViLT, PIX*
|
||||
- **Second Pass / Refine**
|
||||
- independent upscale and hires options: run hires without upscale or upscale without hires or both
|
||||
- upscale can now run 0.1-8.0 scale and will also run if enabled at 1.0 to allow for upscalers that simply improve image quality
|
||||
- update ui section to reflect changes
|
||||
- *note*: behavior using backend:original is unchanged for backwards compatibilty
|
||||
- **Samplers**
|
||||
- [TCD](https://mhh0318.github.io/tcd/): Trajectory Consistency Distillation
|
||||
new sampler that produces consistent results in a very low number of steps (comparable to LCM but without reliance on LoRA)
|
||||
for best results, use with TCD LoRA: <https://huggingface.co/h1t/TCD-SDXL-LoRA>
|
||||
- *DPM++ 2M EDM* and *Euler EDM*
|
||||
EDM is a new solver algorithm currently available for DPM++2M and Euler samplers
|
||||
Note that using EDM samplers with non-EDM optimized models will provide just noise and vice-versa
|
||||
- **Improvements**
|
||||
- default theme updates
|
||||
- additional built-in theme *black-gray*
|
||||
- **FaceID** extend support for LoRA, HyperTile and FreeU, thanks @Trojaner
|
||||
- **Tiling** now extends to both Unet and VAE producing smoother outputs, thanks @AI-Casanova
|
||||
- new setting in image options: *include mask in output*
|
||||
- default theme updates and additional built-in theme *black-gray*
|
||||
- add **ROCm** 6.0 nightly option to installer, thanks @jicka
|
||||
- support models with their own YAML model config files
|
||||
- support models with their own JSON per-component config files, for example: `playground-v2.5_vae.config`
|
||||
- **Internal**
|
||||
- remove obsolete textual inversion training code
|
||||
- remove obsolete hypernetworks training code
|
||||
- **Fixes**
|
||||
- improve model cpu offload compatibility
|
||||
- improve model sequential offload compatibility
|
||||
- improve bfloat16 compatibility
|
||||
- fix extra networks refresh
|
||||
- improve ZLUDA installer when using `--use-zluda` cli param, thanks @lshqqytiger
|
||||
- fix sdp memory attention in backend original
|
||||
- fix autodetect sd21 models
|
||||
- fix api info endpoint
|
||||
- fix sampler eta in xyz grid, thanks @AI-Casanova
|
||||
- exception handler around vram memory stats gather
|
||||
- improve ZLUDA installer with `--use-zluda` cli param, thanks @lshqqytiger
|
||||
|
||||
## Update for 2024-02-22
|
||||
|
||||
|
||||
+35
-4
@@ -482,13 +482,33 @@ def check_torch():
|
||||
torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.2.0 torchvision --index-url https://download.pytorch.org/whl/cu118')
|
||||
log.warning("ZLUDA support: experimental")
|
||||
zluda_need_dll_patch = is_windows and not installed('torch')
|
||||
zluda_path = find_zluda()
|
||||
if zluda_path is None:
|
||||
import urllib.request
|
||||
if is_windows:
|
||||
import zipfile
|
||||
archive_type = zipfile.ZipFile
|
||||
zluda_url = 'https://github.com/lshqqytiger/ZLUDA/releases/download/v3.5-win/ZLUDA-windows-amd64.zip'
|
||||
else:
|
||||
import tarfile
|
||||
archive_type = tarfile.TarFile
|
||||
zluda_url = 'https://github.com/vosen/ZLUDA/releases/download/v3/zluda-3-linux.tar.gz'
|
||||
urllib.request.urlretrieve(zluda_url, '_zluda')
|
||||
with archive_type('_zluda', 'r') as f:
|
||||
f.extractall('.zluda')
|
||||
zluda_path = os.path.abspath('./.zluda')
|
||||
os.remove('_zluda')
|
||||
log.debug(f'Found ZLUDA in {zluda_path}')
|
||||
paths = os.environ.get('PATH', '.')
|
||||
if zluda_path not in paths:
|
||||
os.environ['PATH'] = paths + ';' + zluda_path
|
||||
elif is_windows: # TODO TBD after ROCm for Windows is released
|
||||
log.warning("HIP SDK is detected, but no Torch release for Windows available")
|
||||
log.info("For ZLUDA support specify '--use-zluda'")
|
||||
log.info('Using CPU-only torch')
|
||||
torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision')
|
||||
else:
|
||||
if rocm_ver in {"5.7"}:
|
||||
if rocm_ver in {"5.7", "6.0"}:
|
||||
torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --pre --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}')
|
||||
elif rocm_ver in {"5.5", "5.6"}:
|
||||
torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}')
|
||||
@@ -909,7 +929,7 @@ def get_onnxruntime_source_for_rocm(rocm_ver):
|
||||
return 'onnxruntime-gpu'
|
||||
|
||||
|
||||
def patch_zluda():
|
||||
def find_zluda():
|
||||
zluda_path = os.environ.get('ZLUDA', None)
|
||||
if zluda_path is None:
|
||||
paths = os.environ.get('PATH', '').split(';')
|
||||
@@ -917,6 +937,11 @@ def patch_zluda():
|
||||
if os.path.exists(os.path.join(path, 'zluda_redirect.dll')):
|
||||
zluda_path = path
|
||||
break
|
||||
return zluda_path
|
||||
|
||||
|
||||
def patch_zluda():
|
||||
zluda_path = find_zluda()
|
||||
if zluda_path is None:
|
||||
log.warning('Failed to automatically patch torch with ZLUDA. Could not find ZLUDA from PATH.')
|
||||
return
|
||||
@@ -1028,8 +1053,6 @@ def check_timestamp():
|
||||
|
||||
def add_args(parser):
|
||||
group = parser.add_argument_group('Setup options')
|
||||
group.add_argument("--log", type=str, default=os.environ.get("SD_LOG", None), help="Set log file, default: %(default)s")
|
||||
group.add_argument('--debug', default = os.environ.get("SD_DEBUG",False), action='store_true', help = "Run installer with debug logging, default: %(default)s")
|
||||
group.add_argument('--reset', default = os.environ.get("SD_RESET",False), action='store_true', help = "Reset main repository to latest version, default: %(default)s")
|
||||
group.add_argument('--upgrade', default = os.environ.get("SD_UPGRADE",False), action='store_true', help = "Upgrade main repository to latest version, default: %(default)s")
|
||||
group.add_argument('--requirements', default = os.environ.get("SD_REQUIREMENTS",False), action='store_true', help = "Force re-check of requirements, default: %(default)s")
|
||||
@@ -1039,6 +1062,7 @@ def add_args(parser):
|
||||
group.add_argument("--use-ipex", default = os.environ.get("SD_USEIPEX",False), action='store_true', help="Force use Intel OneAPI XPU backend, default: %(default)s")
|
||||
group.add_argument("--use-cuda", default = os.environ.get("SD_USECUDA",False), action='store_true', help="Force use nVidia CUDA backend, default: %(default)s")
|
||||
group.add_argument("--use-rocm", default = os.environ.get("SD_USEROCM",False), action='store_true', help="Force use AMD ROCm backend, default: %(default)s")
|
||||
group.add_argument('--use-zluda', default=os.environ.get("SD_USEZLUDA", False), action='store_true', help = "Force use ZLUDA, AMD GPUs only, default: %(default)s")
|
||||
group.add_argument("--use-xformers", default = os.environ.get("SD_USEXFORMERS",False), action='store_true', help="Force use xFormers cross-optimization, default: %(default)s")
|
||||
group.add_argument('--skip-requirements', default = os.environ.get("SD_SKIPREQUIREMENTS",False), action='store_true', help = "Skips checking and installing requirements, default: %(default)s")
|
||||
group.add_argument('--skip-extensions', default = os.environ.get("SD_SKIPEXTENSION",False), action='store_true', help = "Skips running individual extension installers, default: %(default)s")
|
||||
@@ -1053,6 +1077,13 @@ def add_args(parser):
|
||||
group.add_argument('--ignore', default = os.environ.get("SD_IGNORE",False), action='store_true', help = "Ignore any errors and attempt to continue")
|
||||
group.add_argument('--safe', default = os.environ.get("SD_SAFE",False), action='store_true', help = "Run in safe mode with no user extensions")
|
||||
|
||||
group = parser.add_argument_group('Logging options')
|
||||
group.add_argument("--log", type=str, default=os.environ.get("SD_LOG", None), help="Set log file, default: %(default)s")
|
||||
group.add_argument('--debug', default = os.environ.get("SD_DEBUG",False), action='store_true', help = "Run installer with debug logging, default: %(default)s")
|
||||
group.add_argument("--profile", default=os.environ.get("SD_PROFILE", False), action='store_true', help="Run profiler, default: %(default)s")
|
||||
group.add_argument('--docs', default=os.environ.get("SD_DOCS", False), action='store_true', help = "Mount API docs, default: %(default)s")
|
||||
group.add_argument("--api-log", default=os.environ.get("SD_APILOG", False), action='store_true', help="Enable logging of all API requests, default: %(default)s")
|
||||
|
||||
|
||||
def parse_args(parser):
|
||||
# command line args
|
||||
|
||||
+1
-1
Submodule wiki updated: ddd8158ac1...5c52cbb730
Reference in New Issue
Block a user