aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBilly Cao <aliencaocao@gmail.com>2022-11-06 08:33:08 +0000
committerGitHub <noreply@github.com>2022-11-06 08:33:08 +0000
commitc13e234444e98d112e9fe99d518c834edeb79471 (patch)
tree8dfa10582dccb75685b4dd3ee28d1d48c0a6f595
parent55ca04095845b41bf66333b3b7343e3ea0babed1 (diff)
parent5302e2cdd4c8f039a68e900d739285d15d99d200 (diff)
downloadstable-diffusion-webui-gfx803-c13e234444e98d112e9fe99d518c834edeb79471.tar.gz
stable-diffusion-webui-gfx803-c13e234444e98d112e9fe99d518c834edeb79471.tar.bz2
stable-diffusion-webui-gfx803-c13e234444e98d112e9fe99d518c834edeb79471.zip
Merge branch 'master' into enable-override-hypernet
-rw-r--r--CODEOWNERS23
-rw-r--r--README.md7
-rw-r--r--javascript/edit-attention.js3
-rw-r--r--javascript/progressbar.js30
-rw-r--r--javascript/ui.js2
-rw-r--r--launch.py13
-rw-r--r--localizations/de_DE.json4
-rw-r--r--localizations/es_ES.json422
-rw-r--r--localizations/it_IT.json628
-rw-r--r--localizations/ko_KR.json23
-rw-r--r--localizations/pt_BR.json57
-rw-r--r--localizations/zh_CN.json418
-rw-r--r--localizations/zh_TW.json324
-rw-r--r--models/VAE/Put VAE here.txt0
-rw-r--r--modules/api/api.py123
-rw-r--r--modules/api/models.py86
-rw-r--r--modules/esrgan_model.py17
-rw-r--r--modules/extensions.py7
-rw-r--r--modules/extras.py5
-rw-r--r--modules/hypernetworks/hypernetwork.py91
-rw-r--r--modules/hypernetworks/ui.py2
-rw-r--r--modules/img2img.py5
-rw-r--r--modules/ldsr_model_arch.py14
-rw-r--r--modules/localization.py6
-rw-r--r--modules/masking.py2
-rw-r--r--modules/modelloader.py3
-rw-r--r--modules/processing.py63
-rw-r--r--modules/safe.py40
-rw-r--r--modules/script_callbacks.py100
-rw-r--r--modules/scripts.py57
-rw-r--r--modules/sd_models.py48
-rw-r--r--modules/sd_samplers.py15
-rw-r--r--modules/sd_vae.py207
-rw-r--r--modules/shared.py59
-rw-r--r--modules/txt2img.py2
-rw-r--r--modules/ui.py91
-rw-r--r--modules/ui_extensions.py57
-rw-r--r--modules/upscaler.py25
-rw-r--r--requirements.txt2
-rw-r--r--requirements_versions.txt2
-rw-r--r--scripts/custom_code.py2
-rw-r--r--scripts/img2imgalt.py3
-rw-r--r--scripts/outpainting_mk_2.py2
-rw-r--r--scripts/poor_mans_outpainting.py4
-rw-r--r--scripts/prompts_from_file.py15
-rw-r--r--scripts/sd_upscale.py4
-rw-r--r--scripts/xy_grid.py8
-rw-r--r--style.css17
-rw-r--r--test/utils_test.py63
-rw-r--r--webui.py49
50 files changed, 2527 insertions, 723 deletions
diff --git a/CODEOWNERS b/CODEOWNERS
index a48d8012..7438c9bc 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1,13 +1,12 @@
* @AUTOMATIC1111
-/localizations/ar_AR.json @xmodar @blackneoo
-/localizations/de_DE.json @LunixWasTaken
-/localizations/es_ES.json @innovaciones
-/localizations/fr_FR.json @tumbly
-/localizations/it_IT.json @EugenioBuffo
-/localizations/ja_JP.json @yuuki76
-/localizations/ko_KR.json @36DB
-/localizations/pt_BR.json @M-art-ucci
-/localizations/ru_RU.json @kabachuha
-/localizations/tr_TR.json @camenduru
-/localizations/zh_CN.json @dtlnor @bgluminous
-/localizations/zh_TW.json @benlisquare
+
+# if you were managing a localization and were removed from this file, this is because
+# the intended way to do localizations now is via extensions. See:
+# https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions
+# Make a repo with your localization and since you are still listed as a collaborator
+# you can add it to the wiki page yourself. This change is because some people complained
+# the git commit log is cluttered with things unrelated to almost everyone and
+# because I believe this is the best overall for the project to handle localizations almost
+# entirely without my oversight.
+
+
diff --git a/README.md b/README.md
index 55c050d5..33508f31 100644
--- a/README.md
+++ b/README.md
@@ -155,14 +155,15 @@ The documentation was moved from this README over to the project's [wiki](https:
- Swin2SR - https://github.com/mv-lab/swin2sr
- LDSR - https://github.com/Hafiidz/latent-diffusion
- Ideas for optimizations - https://github.com/basujindal/stable-diffusion
-- Doggettx - Cross Attention layer optimization - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing.
-- InvokeAI, lstein - Cross Attention layer optimization - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion)
-- Rinon Gal - Textual Inversion - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas).
+- Cross Attention layer optimization - Doggettx - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing.
+- Cross Attention layer optimization - InvokeAI, lstein - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion)
+- Textual Inversion - Rinon Gal - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas).
- Idea for SD upscale - https://github.com/jquesnelle/txt2imghd
- Noise generation for outpainting mk2 - https://github.com/parlance-zz/g-diffuser-bot
- CLIP interrogator idea and borrowing some code - https://github.com/pharmapsychotic/clip-interrogator
- Idea for Composable Diffusion - https://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch
- xformers - https://github.com/facebookresearch/xformers
- DeepDanbooru - interrogator for anime diffusers https://github.com/KichangKim/DeepDanbooru
+- Security advice - RyotaK
- Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
- (You)
diff --git a/javascript/edit-attention.js b/javascript/edit-attention.js
index c0d29a74..b947cbec 100644
--- a/javascript/edit-attention.js
+++ b/javascript/edit-attention.js
@@ -1,7 +1,6 @@
addEventListener('keydown', (event) => {
let target = event.originalTarget || event.composedPath()[0];
- if (!target.hasAttribute("placeholder")) return;
- if (!target.placeholder.toLowerCase().includes("prompt")) return;
+ if (!target.matches("#toprow textarea.gr-text-input[placeholder]")) return;
if (! (event.metaKey || event.ctrlKey)) return;
diff --git a/javascript/progressbar.js b/javascript/progressbar.js
index 7a05726e..671fde34 100644
--- a/javascript/progressbar.js
+++ b/javascript/progressbar.js
@@ -3,8 +3,21 @@ global_progressbars = {}
galleries = {}
galleryObservers = {}
+// this tracks laumnches of window.setTimeout for progressbar to prevent starting a new timeout when the previous is still running
+timeoutIds = {}
+
function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip, id_interrupt, id_preview, id_gallery){
- var progressbar = gradioApp().getElementById(id_progressbar)
+ // gradio 3.8's enlightened approach allows them to create two nested div elements inside each other with same id
+ // every time you use gr.HTML(elem_id='xxx'), so we handle this here
+ var progressbar = gradioApp().querySelector("#"+id_progressbar+" #"+id_progressbar)
+ var progressbarParent
+ if(progressbar){
+ progressbarParent = gradioApp().querySelector("#"+id_progressbar)
+ } else{
+ progressbar = gradioApp().getElementById(id_progressbar)
+ progressbarParent = null
+ }
+
var skip = id_skip ? gradioApp().getElementById(id_skip) : null
var interrupt = gradioApp().getElementById(id_interrupt)
@@ -26,18 +39,26 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip
global_progressbars[id_progressbar] = progressbar
var mutationObserver = new MutationObserver(function(m){
+ if(timeoutIds[id_part]) return;
+
preview = gradioApp().getElementById(id_preview)
gallery = gradioApp().getElementById(id_gallery)
if(preview != null && gallery != null){
preview.style.width = gallery.clientWidth + "px"
preview.style.height = gallery.clientHeight + "px"
+ if(progressbarParent) progressbar.style.width = progressbarParent.clientWidth + "px"
//only watch gallery if there is a generation process going on
check_gallery(id_gallery);
var progressDiv = gradioApp().querySelectorAll('#' + id_progressbar_span).length > 0;
- if(!progressDiv){
+ if(progressDiv){
+ timeoutIds[id_part] = window.setTimeout(function() {
+ timeoutIds[id_part] = null
+ requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt)
+ }, 500)
+ } else{
if (skip) {
skip.style.display = "none"
}
@@ -47,13 +68,10 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip
if (galleryObservers[id_gallery]) {
galleryObservers[id_gallery].disconnect();
galleries[id_gallery] = null;
- }
+ }
}
-
-
}
- window.setTimeout(function() { requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt) }, 500)
});
mutationObserver.observe( progressbar, { childList:true, subtree:true })
}
diff --git a/javascript/ui.js b/javascript/ui.js
index 7e116465..95cfd106 100644
--- a/javascript/ui.js
+++ b/javascript/ui.js
@@ -208,4 +208,6 @@ function update_token_counter(button_id) {
function restart_reload(){
document.body.innerHTML='<h1 style="font-family:monospace;margin-top:20%;color:lightgray;text-align:center;">Reloading...</h1>';
setTimeout(function(){location.reload()},2000)
+
+ return []
}
diff --git a/launch.py b/launch.py
index ff2f74ba..5fa11560 100644
--- a/launch.py
+++ b/launch.py
@@ -142,7 +142,7 @@ def prepare_enviroment():
stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc")
taming_transformers_commit_hash = os.environ.get('TAMING_TRANSFORMERS_COMMIT_HASH', "24268930bf1dce879235a7fddd0b2355b84d7ea6")
- k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "f4e99857772fc3a126ba886aadf795a332774878")
+ k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "60e5042ca0da89c14d1dd59d73883280f8fce991")
codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af")
blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9")
@@ -238,12 +238,15 @@ def tests(argv):
proc.kill()
-def start_webui():
- print(f"Launching Web UI with arguments: {' '.join(sys.argv[1:])}")
+def start():
+ print(f"Launching {'API server' if '--nowebui' in sys.argv else 'Web UI'} with arguments: {' '.join(sys.argv[1:])}")
import webui
- webui.webui()
+ if '--nowebui' in sys.argv:
+ webui.api_only()
+ else:
+ webui.webui()
if __name__ == "__main__":
prepare_enviroment()
- start_webui()
+ start()
diff --git a/localizations/de_DE.json b/localizations/de_DE.json
index 56d54b54..5e254446 100644
--- a/localizations/de_DE.json
+++ b/localizations/de_DE.json
@@ -70,7 +70,7 @@
"None": "Nichts",
"Prompt matrix": "Promptmatrix",
"Prompts from file or textbox": "Prompts aus Datei oder Textfeld",
- "X/Y plot": "X/Y Graf",
+ "X/Y plot": "X/Y Graph",
"Put variable parts at start of prompt": "Variable teile am start des Prompt setzen",
"Iterate seed every line": "Iterate seed every line",
"List of prompt inputs": "List of prompt inputs",
@@ -455,4 +455,4 @@
"Only applies to inpainting models. Determines how strongly to mask off the original image for inpainting and img2img. 1.0 means fully masked, which is the default behaviour. 0.0 means a fully unmasked conditioning. Lower values will help preserve the overall composition of the image, but will struggle with large changes.": "Gilt nur für Inpainting-Modelle. Legt fest, wie stark das Originalbild für Inpainting und img2img maskiert werden soll. 1.0 bedeutet vollständig maskiert, was das Standardverhalten ist. 0.0 bedeutet eine vollständig unmaskierte Konditionierung. Niedrigere Werte tragen dazu bei, die Gesamtkomposition des Bildes zu erhalten, sind aber bei großen Änderungen problematisch.",
"List of setting names, separated by commas, for settings that should go to the quick access bar at the top, rather than the usual setting tab. See modules/shared.py for setting names. Requires restarting to apply.": "Liste von Einstellungsnamen, getrennt durch Kommas, für Einstellungen, die in der Schnellzugriffsleiste oben erscheinen sollen, anstatt in dem üblichen Einstellungs-Tab. Siehe modules/shared.py für Einstellungsnamen. Erfordert einen Neustart zur Anwendung.",
"If this values is non-zero, it will be added to seed and used to initialize RNG for noises when using samplers with Eta. You can use this to produce even more variation of images, or you can use this to match images of other software if you know what you are doing.": "Wenn dieser Wert ungleich Null ist, wird er zum Seed addiert und zur Initialisierung des RNG für Noise bei der Verwendung von Samplern mit Eta verwendet. Dies kann verwendet werden, um noch mehr Variationen von Bildern zu erzeugen, oder um Bilder von anderer Software zu erzeugen, wenn Sie wissen, was Sie tun."
-} \ No newline at end of file
+}
diff --git a/localizations/es_ES.json b/localizations/es_ES.json
index d9ca4ef7..9ba66c5b 100644
--- a/localizations/es_ES.json
+++ b/localizations/es_ES.json
@@ -5,18 +5,21 @@
"❮": "❮",
"❯": "❯",
"Loading...": "Cargando...",
- "view": "mostrar",
- "api": "api",
- "•": "•",
- "built with gradio": "Construido con Gradio",
+ "view": "Mostrar ",
+ "api": "API",
+ "•": " • ",
+ "Construido con Gradio": "Construido con Gradio",
"Stable Diffusion checkpoint": "Stable Diffusion checkpoint",
"txt2img": "txt2img",
"img2img": "img2img",
"Extras": "Extras",
- "PNG Info": "PNG Info",
- "Checkpoint Merger": "Checkpoint Merger",
- "Train": "Train",
+ "PNG Info": "Info PNG",
+ "Checkpoint Merger": "Fusionar Checkpoints",
+ "Train": "Entrenar",
+ "Deforum": "Deforum",
+ "Image Browser": "Navegador de Imágenes",
"Settings": "Ajustes",
+ "Extensions": "Extensiones",
"Prompt": "Prompt",
"Negative prompt": "Prompt negativo",
"Run": "Ejecutar",
@@ -27,15 +30,15 @@
"Style 2": "Estilo 2",
"Label": "Etiqueta",
"File": "Archivo",
- "Drop File Here": "Suelta el Archivo Aquí",
+ "Coloque el archivo aquí": "Suelta el archivo aquí",
"-": "-",
"o": "o",
- "Click to Upload": "Click para Cargar",
+ "Haga click para cargar": "Haz click para cargar",
"Image": "Imagen",
"Check progress": "Comprobar progreso",
"Check progress (first)": "Comprobar progreso (inicial)",
"Sampling Steps": "Sampling Steps",
- "Sampling method": "Sampling method",
+ "Sampling method": "Método de Sampling",
"Euler a": "Euler a",
"Euler": "Euler",
"LMS": "LMS",
@@ -57,33 +60,34 @@
"Firstpass width": "Ancho original",
"Firstpass height": "Alto original",
"Denoising strength": "Denoising strength",
- "Batch count": "Batch count",
- "Batch size": "Batch size",
- "CFG Scale": "CFG Scale",
+ "Batch count": "Cantidad del Batch",
+ "Batch size": "Tamaño del Batch",
+ "CFG Scale": "Escala CFG",
"Seed": "Seed",
"Extra": "Extra",
- "Variation seed": "Variation seed",
- "Variation strength": "Variation strength",
+ "Variation seed": "Seed de variación",
+ "Variation strength": "Fuerza de variación",
"Resize seed from width": "Redimensionar seed del ancho",
"Resize seed from height": "Redimensionar seed del alto",
"Script": "Script",
"None": "Ninguno",
- "Prompt matrix": "Prompt matrix",
+ "Prompt matrix": "Prompt en matriz",
"Prompts from file or textbox": "Prompts desde archivo o campo de texto",
- "X/Y plot": "X/Y plot",
+ "X/Y plot": "Tabla X/Y",
"Put variable parts at start of prompt": "Poner partes variables al inicio del prompt",
- "Show Textbox": "Mostrar Campo de texto",
- "File with inputs": "Archivo con inputs",
- "Prompts": "Prompts",
- "X type": "X type",
+ "Iterate seed every line": "Repetir seed en cada línea",
+ "Use same random seed for all lines": "Utiliza el mismo seed aleatorio para todas las líneas",
+ "List of prompt inputs": "Listado de prompts",
+ "Upload prompt inputs": "Cargar archivo de prompts",
+ "X type": "X",
"Nothing": "Nada",
"Var. seed": "Var. seed",
- "Var. strength": "Var. strength",
+ "Var. strength": "Var. fuerza",
"Steps": "Steps",
"Prompt S/R": "Prompt S/R",
"Prompt order": "Prompt order",
"Sampler": "Sampler",
- "Checkpoint name": "Checkpoint name",
+ "Checkpoint name": "Nombre Checkpoint",
"Hypernetwork": "Hypernetwork",
"Hypernet str.": "Hypernet str.",
"Sigma Churn": "Sigma Churn",
@@ -93,13 +97,13 @@
"Eta": "Eta",
"Clip skip": "Clip skip",
"Denoising": "Denoising",
- "X values": "X values",
- "Y type": "Y type",
- "Y values": "Y values",
+ "Cond. Image Mask Weight": "Cond. Image Mask Weight",
+ "X values": "Valores X",
+ "Y type": "Y",
+ "Y values": "Valores Y",
"Draw legend": "Agregar leyenda",
"Include Separate Images": "Incluir Imágenes Separadas",
"Keep -1 for seeds": "Mantener -1 para seeds",
- "Drop Image Here": "Suelta la Imagen Aquí",
"Save": "Guardar",
"Send to img2img": "Enviar a img2img",
"Send to inpaint": "Enviar a inpaint",
@@ -110,22 +114,23 @@
"Inpaint": "Inpaint",
"Batch img2img": "Batch img2img",
"Image for img2img": "Imagen para img2img",
- "Image for inpainting with mask": "Imagen para inpainting con mask",
- "Mask": "Mask",
- "Mask blur": "Mask blur",
- "Mask mode": "Mask mode",
- "Draw mask": "Dibujar mask",
- "Upload mask": "Cargar mask",
- "Masking mode": "Masking mode",
- "Inpaint masked": "Inpaint masked",
- "Inpaint not masked": "Inpaint not masked",
- "Masked content": "Masked content",
- "fill": "fill",
+ "Coloque la imagen aquí": "Suelta la imagen aquí",
+ "Image for inpainting with mask": "Imagen para inpainting con máscara",
+ "Mask": "Máscara",
+ "Mask blur": "Difuminar máscara",
+ "Mask mode": "Modo máscara",
+ "Draw mask": "Dibujar máscara",
+ "Upload mask": "Cargar máscara",
+ "Masking mode": "Modo de enmascarado",
+ "Inpaint masked": "Inpaint con enmascarado",
+ "Inpaint not masked": "Inpaint sin enmascarado",
+ "Masked content": "Contenido enmascarado",
+ "fill": "rellenar",
"original": "original",
"latent noise": "latent noise",
"latent nothing": "latent nothing",
"Inpaint at full resolution": "Inpaint a resolución completa",
- "Inpaint at full resolution padding, pixels": "Inpaint a resolución completa padding, pixeles",
+ "Inpaint at full resolution padding, pixels": "Inpaint a resolución completa con relleno, en pixeles",
"Process images in a directory on the same machine where the server is running.": "Procesa imágenes en un directorio en la misma máquina donde se ejecuta el servidor.",
"Use an empty output directory to save pictures normally instead of writing to the output directory.": "Usa un directorio de salida vacío para guardar imágenes normalmente en lugar de escribir en el directorio de salida.",
"Input directory": "Directorio de entrada",
@@ -139,15 +144,16 @@
"Outpainting mk2": "Outpainting mk2",
"Poor man's outpainting": "Poor man's outpainting",
"SD upscale": "SD upscale",
+ "Deforum-webui (use tab extension instead!)": "Deforum-webui (utiliza la extensión en su lugar!)",
"should be 2 or lower.": "debe ser 2 o menos.",
- "Override `Sampling method` to Euler?(this method is built for it)": "Anular `Sampling method` a Euler? (este método está diseñado para ello)",
- "Override `prompt` to the same value as `original prompt`?(and `negative prompt`)": "Anular `prompt` al mismo valor `prompt original`? (y `prompt negativo`)",
+ "Override `Sampling method` to Euler?(this method is built for it)": "Invalidar `Sampling method` a Euler? (este método está diseñado para ello)",
+ "Override `prompt` to the same value as `original prompt`?(and `negative prompt`)": "Invalidar `prompt` al mismo valor `prompt original`? (y `prompt negativo`)",
"Original prompt": "Prompt original",
"Original negative prompt": "Promp negativo original",
- "Override `Sampling Steps` to the same value as `Decode steps`?": "Anular `Sampling Steps` al mismo valor de `Decode steps`?",
+ "Override `Sampling Steps` to the same value as `Decode steps`?": "Invalidar `Sampling Steps` al mismo valor de `Decode steps`?",
"Decode steps": "Decode steps",
- "Override `Denoising strength` to 1?": "Anular `Denoising strength` a 1?",
- "Decode CFG scale": "Decode CFG scale",
+ "Override `Denoising strength` to 1?": "Invalidar `Denoising strength` a 1?",
+ "Decode CFG scale": "Decodificar escala CFG",
"Randomness": "Aleatoriedad",
"Sigma adjustment for finding noise for image": "Ajuste Sigma para encontrar ruido para la imagen.",
"Loops": "Loops",
@@ -165,29 +171,35 @@
"Tile overlap": "Solapar mosaicos",
"Upscaler": "Upscaler",
"Lanczos": "Lanczos",
+ "Nearest": "Nearest",
"LDSR": "LDSR",
- "SwinIR 4x": "SwinIR 4x",
+ "ESRGAN_4x": "ESRGAN_4x",
"ScuNET GAN": "ScuNET GAN",
"ScuNET PSNR": "ScuNET PSNR",
- "ESRGAN_4x": "ESRGAN_4x",
+ "SwinIR 4x": "SwinIR 4x",
+ "Deforum v0.5-webui-beta": "Deforum v0.5-webui-beta",
+ "This script is deprecated. Please use the full Deforum extension instead.": "Este script está obsoleto. Utiliza la extensión completa de Deforum en su lugar.",
+ "Update instructions:": "Instrucciones para actualizar:",
+ "github.com/deforum-art/deforum-for-automatic1111-webui/blob/automatic1111-webui/README.md": "github.com/deforum-art/deforum-for-automatic1111-webui/blob/automatic1111-webui/README.md",
+ "discord.gg/deforum": "discord.gg/deforum",
"Single Image": "Imagen Única",
"Batch Process": "Batch Process",
"Batch from Directory": "Batch desde Directorio",
"Source": "Origen",
- "Show result images": "Mostrar resultados de imágenes",
+ "Show result images": "Mostrar imágenes generadas",
"Scale by": "Escalar por",
"Scale to": "Escalar a",
"Resize": "Redimensionar",
"Crop to fit": "Recortar para ajustar",
- "Upscaler 2 visibility": "Upscaler 2 visibilidad",
- "GFPGAN visibility": "GFPGAN visibilidad",
- "CodeFormer visibility": "CodeFormer visibilidad",
- "CodeFormer weight (0 = maximum effect, 1 = minimum effect)": "CodeFormer peso (0 = efecto máximo, 1 = efecto mínimo)",
- "Open output directory": "Abrir directorio de salida",
+ "Upscaler 2 visibility": "Visibilidad Upscaler 2",
+ "GFPGAN visibility": "Visibilidad GFPGAN",
+ "CodeFormer visibility": "Visibilidad CodeFormer",
+ "CodeFormer weight (0 = maximum effect, 1 = minimum effect)": "Influencia CodeFormer (0 = efecto máximo, 1 = efecto mínimo)",
+ "Upscale Before Restoring Faces": "Escalar antes de Restaurar Rostros",
"Send to txt2img": "Enviar a txt2img",
- "A merger of the two checkpoints will be generated in your": "Se generará una fusión de los dos checkpoints en su",
- "checkpoint": "checkpoint",
- "directory.": "directorio.",
+ "A merger of the two checkpoints will be generated in your": "Se generará una fusión de los dos checkpoints en tu ",
+ "checkpoint": "directorio ",
+ "directory.": "de modelos.",
"Primary model (A)": "Modelo primario (A)",
"Secondary model (B)": "Modelo secundario (B)",
"Tertiary model (C)": "Modelo terciario (C)",
@@ -215,6 +227,36 @@
"leakyrelu": "leakyrelu",
"elu": "elu",
"swish": "swish",
+ "tanh": "tanh",
+ "sigmoid": "sigmoid",
+ "celu": "celu",
+ "gelu": "gelu",
+ "glu": "glu",
+ "hardshrink": "hardshrink",
+ "hardsigmoid": "hardsigmoid",
+ "hardtanh": "hardtanh",
+ "logsigmoid": "logsigmoid",
+ "logsoftmax": "logsoftmax",
+ "mish": "mish",
+ "prelu": "prelu",
+ "rrelu": "rrelu",
+ "relu6": "relu6",
+ "selu": "selu",
+ "silu": "silu",
+ "softmax": "softmax",
+ "softmax2d": "softmax2d",
+ "softmin": "softmin",
+ "softplus": "softplus",
+ "softshrink": "softshrink",
+ "softsign": "softsign",
+ "tanhshrink": "tanhshrink",
+ "threshold": "threshold",
+ "Select Layer weights initialization. relu-like - Kaiming, sigmoid-like - Xavier is recommended": "Seleccionar inicialización de modelos de capa. relu-like - Kaiming, sigmoid-like - Xavier es el recomendado",
+ "Normal": "Normal",
+ "KaimingUniform": "KaimingUniform",
+ "KaimingNormal": "KaimingNormal",
+ "XavierUniform": "XavierUniform",
+ "XavierNormal": "XavierNormal",
"Add layer normalization": "Agregar normalización de capa",
"Use dropout": "Usar dropout",
"Overwrite Old Hypernetwork": "Sobrescribir Hypernetwork Anterior",
@@ -226,11 +268,16 @@
"prepend": "anteponer",
"append": "añadir",
"Create flipped copies": "Crear copias volteadas",
- "Split oversized images": "Dividir imágenes grandes",
- "Use BLIP for caption": "Usar BLIP para subtítulo",
- "Use deepbooru for caption": "Usar deepbooru para subtítulo",
- "Split image threshold": "Threshold imagen dividida",
- "Split image overlap ratio": "Overlap ratio imagen dividida",
+ "Split oversized images": "Dividir imágenes muy grandes",
+ "Auto focal point crop": "Recorte de punto focal automático",
+ "Use BLIP for caption": "Usar BLIP para leyenda",
+ "Use deepbooru for caption": "Usar deepbooru para leyenda",
+ "Split image threshold": "Umbral en imagen dividida",
+ "Split image overlap ratio": "Relación de superposición en imagen dividida",
+ "Focal point face weight": "Peso de la cara del punto focal",
+ "Focal point entropy weight": "Focal point entropy weight",
+ "Focal point edges weight": "Focal point edges weight",
+ "Create debug image": "Crear imagen de depuración",
"Preprocess": "Preproceso",
"Train an embedding or Hypernetwork; you must specify a directory with a set of 1:1 ratio images": "Entrenar un embedding o Hypernetwork; debes especificar un directorio con un conjunto de imágenes con una proporción de 1:1 ",
"[wiki]": "[wiki]",
@@ -245,13 +292,194 @@
"Save a copy of embedding to log directory every N steps, 0 to disable": "Guarda una copia de embedding en el directorio log cada N pasos, 0 para deshabilitar",
"Save images with embedding in PNG chunks": "Guarda imágenes con embedding en fragmentos PNG",
"Read parameters (prompt, etc...) from txt2img tab when making previews": "Leer parámetros (prompt, etc...) desde la pestaña txt2img al hacer vistas previas",
- "Train Hypernetwork": "Train Hypernetwork",
- "Train Embedding": "Train Embedding",
+ "Train Hypernetwork": "Entrenar Hypernetwork",