Skip to content

Commit d182cd5

Browse files
committed
refresh
1 parent 8925cdc commit d182cd5

File tree

3 files changed

+88
-10
lines changed

3 files changed

+88
-10
lines changed

CHANGELOG.md

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,60 @@
11
# Change Log for SD.Next
22

3-
## Update for 2024-02-24
4-
3+
## TODO
4+
5+
- EDM samplers for Playground require `diffusers==0.27.0`
6+
- StableCascade requires diffusers `kashif/diffusers.git@wuerstchen-v3`
7+
8+
## Update for 2024-03-01
9+
10+
- [Playground v2.5](https://huggingface.co/playgroundai/playground-v2.5-1024px-aesthetic)
11+
- new model version from Playground: based on SDXL, but with some cool new concepts
12+
- download using networks -> reference
13+
- set sampler to *DPM++ 2M EDM* or *Euler EDM*
14+
- [KOALA 700M](https://github.com/youngwanLEE/sdxl-koala)
15+
- another very fast & light sd-xl model where original unet was compressed and distilled to 54% of original size
16+
- download using networks -> reference
17+
- *note* to download fp16 variant (recommended), set settings -> diffusers -> preferred model variant
18+
- **Image2Video**
19+
- new module for creating videos from images
20+
- simply enable from *img2img -> scripts -> image2video*
21+
- based on [VGen](https://huggingface.co/ali-vilab/i2vgen-xl)
22+
- **VQA** visual question & answer in interrogate
23+
- with support for multiple variations of base models: *GIT, BLIP, ViLT, PIX*
24+
- **Second Pass / Refine**
25+
- independent upscale and hires options: run hires without upscale or upscale without hires or both
26+
- 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
27+
- update ui section to reflect changes
28+
- *note*: behavior using backend:original is unchanged for backwards compatibilty
29+
- **Samplers**
30+
- [TCD](https://mhh0318.github.io/tcd/): Trajectory Consistency Distillation
31+
new sampler that produces consistent results in a very low number of steps (comparable to LCM but without reliance on LoRA)
32+
for best results, use with TCD LoRA: <https://huggingface.co/h1t/TCD-SDXL-LoRA>
33+
- *DPM++ 2M EDM* and *Euler EDM*
34+
EDM is a new solver algorithm currently available for DPM++2M and Euler samplers
35+
Note that using EDM samplers with non-EDM optimized models will provide just noise and vice-versa
536
- **Improvements**
6-
- default theme updates
7-
- additional built-in theme *black-gray*
37+
- **FaceID** extend support for LoRA, HyperTile and FreeU, thanks @Trojaner
38+
- **Tiling** now extends to both Unet and VAE producing smoother outputs, thanks @AI-Casanova
39+
- new setting in image options: *include mask in output*
40+
- default theme updates and additional built-in theme *black-gray*
41+
- add **ROCm** 6.0 nightly option to installer, thanks @jicka
42+
- support models with their own YAML model config files
43+
- support models with their own JSON per-component config files, for example: `playground-v2.5_vae.config`
44+
- **Internal**
45+
- remove obsolete textual inversion training code
46+
- remove obsolete hypernetworks training code
847
- **Fixes**
48+
- improve model cpu offload compatibility
49+
- improve model sequential offload compatibility
50+
- improve bfloat16 compatibility
951
- fix extra networks refresh
10-
- improve ZLUDA installer when using `--use-zluda` cli param, thanks @lshqqytiger
52+
- fix sdp memory attention in backend original
53+
- fix autodetect sd21 models
54+
- fix api info endpoint
55+
- fix sampler eta in xyz grid, thanks @AI-Casanova
56+
- exception handler around vram memory stats gather
57+
- improve ZLUDA installer with `--use-zluda` cli param, thanks @lshqqytiger
1158

1259
## Update for 2024-02-22
1360

installer.py

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,13 +482,33 @@ def is_rocm_available():
482482
torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.2.0 torchvision --index-url https://download.pytorch.org/whl/cu118')
483483
log.warning("ZLUDA support: experimental")
484484
zluda_need_dll_patch = is_windows and not installed('torch')
485+
zluda_path = find_zluda()
486+
if zluda_path is None:
487+
import urllib.request
488+
if is_windows:
489+
import zipfile
490+
archive_type = zipfile.ZipFile
491+
zluda_url = 'https://github.com/lshqqytiger/ZLUDA/releases/download/v3.5-win/ZLUDA-windows-amd64.zip'
492+
else:
493+
import tarfile
494+
archive_type = tarfile.TarFile
495+
zluda_url = 'https://github.com/vosen/ZLUDA/releases/download/v3/zluda-3-linux.tar.gz'
496+
urllib.request.urlretrieve(zluda_url, '_zluda')
497+
with archive_type('_zluda', 'r') as f:
498+
f.extractall('.zluda')
499+
zluda_path = os.path.abspath('./.zluda')
500+
os.remove('_zluda')
501+
log.debug(f'Found ZLUDA in {zluda_path}')
502+
paths = os.environ.get('PATH', '.')
503+
if zluda_path not in paths:
504+
os.environ['PATH'] = paths + ';' + zluda_path
485505
elif is_windows: # TODO TBD after ROCm for Windows is released
486506
log.warning("HIP SDK is detected, but no Torch release for Windows available")
487507
log.info("For ZLUDA support specify '--use-zluda'")
488508
log.info('Using CPU-only torch')
489509
torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision')
490510
else:
491-
if rocm_ver in {"5.7"}:
511+
if rocm_ver in {"5.7", "6.0"}:
492512
torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --pre --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}')
493513
elif rocm_ver in {"5.5", "5.6"}:
494514
torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}')
@@ -909,14 +929,19 @@ def get_onnxruntime_source_for_rocm(rocm_ver):
909929
return 'onnxruntime-gpu'
910930

911931

912-
def patch_zluda():
932+
def find_zluda():
913933
zluda_path = os.environ.get('ZLUDA', None)
914934
if zluda_path is None:
915935
paths = os.environ.get('PATH', '').split(';')
916936
for path in paths:
917937
if os.path.exists(os.path.join(path, 'zluda_redirect.dll')):
918938
zluda_path = path
919939
break
940+
return zluda_path
941+
942+
943+
def patch_zluda():
944+
zluda_path = find_zluda()
920945
if zluda_path is None:
921946
log.warning('Failed to automatically patch torch with ZLUDA. Could not find ZLUDA from PATH.')
922947
return
@@ -1028,8 +1053,6 @@ def check_timestamp():
10281053

10291054
def add_args(parser):
10301055
group = parser.add_argument_group('Setup options')
1031-
group.add_argument("--log", type=str, default=os.environ.get("SD_LOG", None), help="Set log file, default: %(default)s")
1032-
group.add_argument('--debug', default = os.environ.get("SD_DEBUG",False), action='store_true', help = "Run installer with debug logging, default: %(default)s")
10331056
group.add_argument('--reset', default = os.environ.get("SD_RESET",False), action='store_true', help = "Reset main repository to latest version, default: %(default)s")
10341057
group.add_argument('--upgrade', default = os.environ.get("SD_UPGRADE",False), action='store_true', help = "Upgrade main repository to latest version, default: %(default)s")
10351058
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):
10391062
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")
10401063
group.add_argument("--use-cuda", default = os.environ.get("SD_USECUDA",False), action='store_true', help="Force use nVidia CUDA backend, default: %(default)s")
10411064
group.add_argument("--use-rocm", default = os.environ.get("SD_USEROCM",False), action='store_true', help="Force use AMD ROCm backend, default: %(default)s")
1065+
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")
10421066
group.add_argument("--use-xformers", default = os.environ.get("SD_USEXFORMERS",False), action='store_true', help="Force use xFormers cross-optimization, default: %(default)s")
10431067
group.add_argument('--skip-requirements', default = os.environ.get("SD_SKIPREQUIREMENTS",False), action='store_true', help = "Skips checking and installing requirements, default: %(default)s")
10441068
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):
10531077
group.add_argument('--ignore', default = os.environ.get("SD_IGNORE",False), action='store_true', help = "Ignore any errors and attempt to continue")
10541078
group.add_argument('--safe', default = os.environ.get("SD_SAFE",False), action='store_true', help = "Run in safe mode with no user extensions")
10551079

1080+
group = parser.add_argument_group('Logging options')
1081+
group.add_argument("--log", type=str, default=os.environ.get("SD_LOG", None), help="Set log file, default: %(default)s")
1082+
group.add_argument('--debug', default = os.environ.get("SD_DEBUG",False), action='store_true', help = "Run installer with debug logging, default: %(default)s")
1083+
group.add_argument("--profile", default=os.environ.get("SD_PROFILE", False), action='store_true', help="Run profiler, default: %(default)s")
1084+
group.add_argument('--docs', default=os.environ.get("SD_DOCS", False), action='store_true', help = "Mount API docs, default: %(default)s")
1085+
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")
1086+
10561087

10571088
def parse_args(parser):
10581089
# command line args

wiki

Submodule wiki updated from ddd8158 to 5c52cbb

0 commit comments

Comments
 (0)