From e959a3d7ab06490979f98c7adffc2092da62804a Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 17:42:32 +0530 Subject: [PATCH 1/8] ui --- scripts/check_modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_modules.py b/scripts/check_modules.py index b5f9caa0..9da9b1c4 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -18,7 +18,7 @@ os_name = platform.system() modules_to_check = { "torch": ("1.11.0", "1.13.1", "2.0.0", "2.0.1"), "torchvision": ("0.12.0", "0.14.1", "0.15.1", "0.15.2"), - "sdkit": "2.0.5", + "sdkit": "2.0.6", "stable-diffusion-sdkit": "2.1.4", "rich": "12.6.0", "uvicorn": "0.19.0", From 16f0950ebd018e4bc92ff496e69ee4f31bd448fb Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 17:42:50 +0530 Subject: [PATCH 2/8] sdkit 2.0.6 - Fix broken VAE tiling --- CHANGES.md | 1 + ui/easydiffusion/types.py | 2 +- ui/media/js/dnd.js | 7 ++++++- ui/media/js/main.js | 10 ++++++---- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index d54a1d84..bfbbc6e6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,7 @@ - **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use. ### Detailed changelog +* 3.0.2 - 30 Aug 2023 - Fix broken VAE tiling. This allows you to create larger images with lesser VRAM usage. * 3.0.2 - 30 Aug 2023 - Allow blocking NSFW images using a server-side config. This prevents the browser from generating NSFW images or changing the config. Open `config.yaml` in a text editor (e.g. Notepad), and add `block_nsfw: true` at the end, and save the file. * 3.0.2 - 29 Aug 2023 - Fixed incorrect matching of embeddings from prompts. * 3.0.2 - 24 Aug 2023 - Fix broken seamless tiling. diff --git a/ui/easydiffusion/types.py b/ui/easydiffusion/types.py index eeffcb72..29082438 100644 --- a/ui/easydiffusion/types.py +++ b/ui/easydiffusion/types.py @@ -26,7 +26,7 @@ class GenerateImageRequest(BaseModel): sampler_name: str = None # "ddim", "plms", "heun", "euler", "euler_a", "dpm2", "dpm2_a", "lms" hypernetwork_strength: float = 0 lora_alpha: Union[float, List[float]] = 0 - tiling: str = "none" # "none", "x", "y", "xy" + tiling: str = None # None, "x", "y", "xy" class FilterImageRequest(BaseModel): diff --git a/ui/media/js/dnd.js b/ui/media/js/dnd.js index 5cdb9539..cf082406 100644 --- a/ui/media/js/dnd.js +++ b/ui/media/js/dnd.js @@ -268,7 +268,11 @@ const TASK_MAPPING = { tiling: { name: "Tiling", setUI: (val) => { - tilingField.value = val + if (val === null || val === "None") { + tilingField.value = "none" + } else { + tilingField.value = val + } }, readUI: () => tilingField.value, parse: (val) => val, @@ -583,6 +587,7 @@ const TASK_TEXT_MAPPING = { lora_alpha: "LoRA Strength", use_controlnet_model: "ControlNet model", control_filter_to_apply: "ControlNet Filter", + tiling: "Seamless Tiling", } function parseTaskFromText(str) { const taskReqBody = {} diff --git a/ui/media/js/main.js b/ui/media/js/main.js index 12ad5a0c..cff8cb6c 100644 --- a/ui/media/js/main.js +++ b/ui/media/js/main.js @@ -680,7 +680,7 @@ function getAllModelNames(type) { // gets a flattened list of all models of a certain type. e.g. "path/subpath/modelname" // use the filter to search for all models having a certain name. -function getAllModelPathes(type,filter="") { +function getAllModelPathes(type, filter = "") { function f(tree, prefix) { if (tree == undefined) { return [] @@ -690,7 +690,7 @@ function getAllModelPathes(type,filter="") { if (typeof e == "object") { result = result.concat(f(e[1], prefix + e[0] + "/")) } else { - if (filter=="" || e==filter) { + if (filter == "" || e == filter) { result.push(prefix + e) } } @@ -700,7 +700,6 @@ function getAllModelPathes(type,filter="") { return f(modelsOptions[type], "") } - function onUseAsThumbnailClick(req, img) { let scale = 1 let targetWidth = img.naturalWidth @@ -1237,7 +1236,6 @@ function getCurrentUserRequest() { //render_device: undefined, // Set device affinity. Prefer this device, but wont activate. use_stable_diffusion_model: stableDiffusionModelField.value, clip_skip: clipSkipField.checked, - tiling: tilingField.value, use_vae_model: vaeModelField.value, stream_progress_updates: true, stream_image_progress: numOutputsTotal > 50 ? false : streamImageProgressField.checked, @@ -1302,6 +1300,10 @@ function getCurrentUserRequest() { newTask.reqBody.use_lora_model = modelNames newTask.reqBody.lora_alpha = modelStrengths } + + if (tilingField.value !== "none") { + newTask.reqBody.tiling = tilingField.value + } } if (testDiffusers.checked && document.getElementById("toggle-tensorrt-install").innerHTML == "Uninstall") { // TRT is installed From 04cbb052d7ea4c66d697db89f85118837cea696c Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 17:54:19 +0530 Subject: [PATCH 3/8] bump version --- CHANGES.md | 4 ++-- ui/index.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index bfbbc6e6..59a0a466 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,8 +17,8 @@ - **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use. ### Detailed changelog -* 3.0.2 - 30 Aug 2023 - Fix broken VAE tiling. This allows you to create larger images with lesser VRAM usage. -* 3.0.2 - 30 Aug 2023 - Allow blocking NSFW images using a server-side config. This prevents the browser from generating NSFW images or changing the config. Open `config.yaml` in a text editor (e.g. Notepad), and add `block_nsfw: true` at the end, and save the file. +* 3.0.3 - 30 Aug 2023 - Fix broken VAE tiling. This allows you to create larger images with lesser VRAM usage. +* 3.0.3 - 30 Aug 2023 - Allow blocking NSFW images using a server-side config. This prevents the browser from generating NSFW images or changing the config. Open `config.yaml` in a text editor (e.g. Notepad), and add `block_nsfw: true` at the end, and save the file. * 3.0.2 - 29 Aug 2023 - Fixed incorrect matching of embeddings from prompts. * 3.0.2 - 24 Aug 2023 - Fix broken seamless tiling. * 3.0.2 - 23 Aug 2023 - Fix styling on mobile devices. diff --git a/ui/index.html b/ui/index.html index 57683bbf..12efa1ae 100644 --- a/ui/index.html +++ b/ui/index.html @@ -35,7 +35,7 @@

Easy Diffusion - v3.0.2 + v3.0.3

From 8f1c1b128e57278240c96de1ddcbf1b9c453671c Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 18:24:23 +0530 Subject: [PATCH 4/8] sdkit 2.0.7 - Allow loading NovelAI-based models --- scripts/check_modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_modules.py b/scripts/check_modules.py index 9da9b1c4..e42375fe 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -18,7 +18,7 @@ os_name = platform.system() modules_to_check = { "torch": ("1.11.0", "1.13.1", "2.0.0", "2.0.1"), "torchvision": ("0.12.0", "0.14.1", "0.15.1", "0.15.2"), - "sdkit": "2.0.6", + "sdkit": "2.0.7", "stable-diffusion-sdkit": "2.1.4", "rich": "12.6.0", "uvicorn": "0.19.0", From e49b5e0e6bffb1c610b6a35b39abff9cc77a0cf6 Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 18:24:46 +0530 Subject: [PATCH 5/8] changelog --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 59a0a466..5b1da5f1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,7 @@ - **Major rewrite of the code** - We've switched to using diffusers under-the-hood, which allows us to release new features faster, and focus on making the UI and installer even easier to use. ### Detailed changelog +* 3.0.3 - 30 Aug 2023 - Allow loading NovelAI-based custom models. * 3.0.3 - 30 Aug 2023 - Fix broken VAE tiling. This allows you to create larger images with lesser VRAM usage. * 3.0.3 - 30 Aug 2023 - Allow blocking NSFW images using a server-side config. This prevents the browser from generating NSFW images or changing the config. Open `config.yaml` in a text editor (e.g. Notepad), and add `block_nsfw: true` at the end, and save the file. * 3.0.2 - 29 Aug 2023 - Fixed incorrect matching of embeddings from prompts. From 781e812f22d61cdc02b9696cf0872f4c810b26ea Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 18:51:34 +0530 Subject: [PATCH 6/8] sdkit 2.0.8 - temp hack for allowing onnx export on pytorch 2.0 --- scripts/check_modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_modules.py b/scripts/check_modules.py index e42375fe..30e46fdd 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -18,7 +18,7 @@ os_name = platform.system() modules_to_check = { "torch": ("1.11.0", "1.13.1", "2.0.0", "2.0.1"), "torchvision": ("0.12.0", "0.14.1", "0.15.1", "0.15.2"), - "sdkit": "2.0.7", + "sdkit": "2.0.8", "stable-diffusion-sdkit": "2.1.4", "rich": "12.6.0", "uvicorn": "0.19.0", From 847d27bffbe3fca0156c06027e09f9a336042ee2 Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 19:32:09 +0530 Subject: [PATCH 7/8] sdkit 2.0.9 - another fix for torch 2.0 and onnx export --- scripts/check_modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_modules.py b/scripts/check_modules.py index 30e46fdd..db3e8098 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -18,7 +18,7 @@ os_name = platform.system() modules_to_check = { "torch": ("1.11.0", "1.13.1", "2.0.0", "2.0.1"), "torchvision": ("0.12.0", "0.14.1", "0.15.1", "0.15.2"), - "sdkit": "2.0.8", + "sdkit": "2.0.9", "stable-diffusion-sdkit": "2.1.4", "rich": "12.6.0", "uvicorn": "0.19.0", From a7c12e61d80a3ce4c10cbc6da74eb44d679f7995 Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Wed, 30 Aug 2023 19:32:29 +0530 Subject: [PATCH 8/8] Fix incorrect tiling message in the task info --- ui/media/js/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/media/js/main.js b/ui/media/js/main.js index cff8cb6c..d26fe0db 100644 --- a/ui/media/js/main.js +++ b/ui/media/js/main.js @@ -22,7 +22,8 @@ const taskConfigSetup = { }, tiling: { label: "Tiling", - visible: ({ reqBody }) => reqBody?.tiling != "none", + visible: ({ reqBody }) => + reqBody?.tiling != "none" && reqBody?.tiling !== null && reqBody?.tiling !== undefined, value: ({ reqBody }) => reqBody?.tiling, }, use_vae_model: {