Commit fe8a10d4 authored by AUTOMATIC's avatar AUTOMATIC
Browse files

Merge branch 'release_candidate'

parents 22bcc7be 6fbd85dd
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -32,4 +32,5 @@ notification.mp3
/extensions
/extensions
/test/stdout.txt
/test/stdout.txt
/test/stderr.txt
/test/stderr.txt
/cache.json
/cache.json*
/config_states/

CHANGELOG.md

0 → 100644
+58 −0
Original line number Original line Diff line number Diff line
## Upcoming version:
### Features:
 * switch to torch 2.0.0 (except for AMD GPUs)
 * visual improvements to custom code scripts
 * add filename patterns: [clip_skip], [hasprompt<>], [batch_number], [generation_number]
 * add support for saving init images in img2img, and record their hashes in infotext for reproducability
 * automatically select current word when adjusting weight with ctrl+up/down
 * add dropdowns for X/Y/Z plot
 * setting: Stable Diffusion/Random number generator source: makes it possible to make images generated from a given manual seed consistent across different GPUs
 * support Gradio's theme API
 * use TCMalloc on Linux by default; possible fix for memory leaks
 * (optimization) option to remove negative conditioning at low sigma values #9177
 * embed model merge metadata in .safetensors file
 * extension settings backup/restore feature #9169
 * add "resize by" and "resize to" tabs to img2img
 * add option "keep original size" to textual inversion images preprocess
 * image viewer scrolling via analog stick
 * button to restore the progress from session lost / tab reload

### Minor:
 * gradio bumped to 3.28.1
 * in extra tab, change extras "scale to" to sliders
 * add labels to tool buttons to make it possible to hide them
 * add tiled inference support for ScuNET
 * add branch support for extension installation
 * change linux installation script to insall into current directory rather than /home/username
 * sort textual inversion embeddings by name (case insensitive)
 * allow styles.csv to be symlinked or mounted in docker
 * remove the "do not add watermark to images" option
 * make selected tab configurable with UI config
 * extra networks UI in now fixed height and scrollable
 * add disable_tls_verify arg for use with self-signed certs

### Extensions:
 * Add reload callback
 * add is_hr_pass field for processing

### Bug Fixes:
 * fix broken batch image processing on 'Extras/Batch Process' tab
 * add "None" option to extra networks dropdowns
 * fix FileExistsError for CLIP Interrogator
 * fix /sdapi/v1/txt2img endpoint not working on Linux #9319
 * fix disappearing live previews and progressbar during slow tasks
 * fix fullscreen image view not working properly in some cases
 * prevent alwayson_scripts args param resizing script_arg list when they are inserted in it
 * fix prompt schedule for second order samplers
 * fix image mask/composite for weird resolutions #9628
 * use correct images for previews when using AND (see #9491)
 * one broken image in img2img batch won't stop all processing
 * fix image orientation bug in train/preprocess
 * fix Ngrok recreating tunnels every reload
 * fix --realesrgan-models-path and --ldsr-models-path not working
 * fix --skip-install not working
 * outpainting Mk2 & Poorman should use the SAMPLE file format to save images, not GRID file format
 * do not fail all Loras if some have failed to load when making a picture

## Before versions:
  * everything
+4 −3
Original line number Original line Diff line number Diff line
@@ -100,7 +100,7 @@ Alternatively, use online services (like Google Colab):
- [List of Online Services](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Online-Services)
- [List of Online Services](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Online-Services)


### Automatic Installation on Windows
### Automatic Installation on Windows
1. Install [Python 3.10.6](https://www.python.org/downloads/windows/), checking "Add Python to PATH".
1. Install [Python 3.10.6](https://www.python.org/downloads/release/python-3106/) (Newer version of Python does not support torch), checking "Add Python to PATH".
2. Install [git](https://git-scm.com/download/win).
2. Install [git](https://git-scm.com/download/win).
3. Download the stable-diffusion-webui repository, for example by running `git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git`.
3. Download the stable-diffusion-webui repository, for example by running `git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git`.
4. Run `webui-user.bat` from Windows Explorer as normal, non-administrator, user.
4. Run `webui-user.bat` from Windows Explorer as normal, non-administrator, user.
@@ -115,11 +115,12 @@ sudo dnf install wget git python3
# Arch-based:
# Arch-based:
sudo pacman -S wget git python3
sudo pacman -S wget git python3
```
```
2. To install in `/home/$(whoami)/stable-diffusion-webui/`, run:
2. Navigate to the directory you would like the webui to be installed and execute the following command:
```bash
```bash
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
```
```
3. Run `webui.sh`.
3. Run `webui.sh`.
4. Check `webui-user.sh` for options.
### Installation on Apple Silicon
### Installation on Apple Silicon


Find the instructions [here](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon).
Find the instructions [here](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon).
+5 −5
Original line number Original line Diff line number Diff line
@@ -4,8 +4,8 @@ channels:
  - defaults
  - defaults
dependencies:
dependencies:
  - python=3.10
  - python=3.10
  - pip=22.2.2
  - pip=23.0
  - cudatoolkit=11.3
  - cudatoolkit=11.8
  - pytorch=1.12.1
  - pytorch=2.0
  - torchvision=0.13.1
  - torchvision=0.15
  - numpy=1.23.1
  - numpy=1.23
 No newline at end of file
+13 −7
Original line number Original line Diff line number Diff line
@@ -25,22 +25,28 @@ class UpscalerLDSR(Upscaler):
        yaml_path = os.path.join(self.model_path, "project.yaml")
        yaml_path = os.path.join(self.model_path, "project.yaml")
        old_model_path = os.path.join(self.model_path, "model.pth")
        old_model_path = os.path.join(self.model_path, "model.pth")
        new_model_path = os.path.join(self.model_path, "model.ckpt")
        new_model_path = os.path.join(self.model_path, "model.ckpt")
        safetensors_model_path = os.path.join(self.model_path, "model.safetensors")

        local_model_paths = self.find_models(ext_filter=[".ckpt", ".safetensors"])
        local_ckpt_path = next(iter([local_model for local_model in local_model_paths if local_model.endswith("model.ckpt")]), None)
        local_safetensors_path = next(iter([local_model for local_model in local_model_paths if local_model.endswith("model.safetensors")]), None)
        local_yaml_path = next(iter([local_model for local_model in local_model_paths if local_model.endswith("project.yaml")]), None)

        if os.path.exists(yaml_path):
        if os.path.exists(yaml_path):
            statinfo = os.stat(yaml_path)
            statinfo = os.stat(yaml_path)
            if statinfo.st_size >= 10485760:
            if statinfo.st_size >= 10485760:
                print("Removing invalid LDSR YAML file.")
                print("Removing invalid LDSR YAML file.")
                os.remove(yaml_path)
                os.remove(yaml_path)

        if os.path.exists(old_model_path):
        if os.path.exists(old_model_path):
            print("Renaming model from model.pth to model.ckpt")
            print("Renaming model from model.pth to model.ckpt")
            os.rename(old_model_path, new_model_path)
            os.rename(old_model_path, new_model_path)
        if os.path.exists(safetensors_model_path):

            model = safetensors_model_path
        if local_safetensors_path is not None and os.path.exists(local_safetensors_path):
            model = local_safetensors_path
        else:
        else:
            model = load_file_from_url(url=self.model_url, model_dir=self.model_path,
            model = local_ckpt_path if local_ckpt_path is not None else load_file_from_url(url=self.model_url, model_dir=self.model_path, file_name="model.ckpt", progress=True)
                                       file_name="model.ckpt", progress=True)

        yaml = load_file_from_url(url=self.yaml_url, model_dir=self.model_path,
        yaml = local_yaml_path if local_yaml_path is not None else load_file_from_url(url=self.yaml_url, model_dir=self.model_path, file_name="project.yaml", progress=True)
                                  file_name="project.yaml", progress=True)


        try:
        try:
            return LDSR(model, yaml)
            return LDSR(model, yaml)
Loading