Commit f300d0f2 authored by yfszzx's avatar yfszzx

Merge branch 'Inspiron' of https://github.com/yfszzx/stable-diffusion-webui-plus into Inspiron

parents 9ba439b5 5bfa2b23
......@@ -62,8 +62,8 @@ titles = {
"Interrogate": "Reconstruct prompt from existing image and put it into the prompt field.",
"Images filename pattern": "Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp]; leave empty for default.",
"Directory name pattern": "Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp]; leave empty for default.",
"Images filename pattern": "Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.",
"Directory name pattern": "Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.",
"Max prompt words": "Set the maximum number of words to be used in the [prompt_words] option; ATTENTION: If the words are too long, they may exceed the maximum length of the file path that the system can handle",
"Loopback": "Process an image, use it as an input, repeat.",
......
......@@ -108,6 +108,9 @@ function processNode(node){
function dumpTranslations(){
dumped = {}
if (localization.rtl) {
dumped.rtl = true
}
Object.keys(original_lines).forEach(function(text){
if(dumped[text] !== undefined) return
......@@ -129,6 +132,24 @@ onUiUpdate(function(m){
document.addEventListener("DOMContentLoaded", function() {
processNode(gradioApp())
if (localization.rtl) { // if the language is from right to left,
(new MutationObserver((mutations, observer) => { // wait for the style to load
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.tagName === 'STYLE') {
observer.disconnect();
for (const x of node.sheet.rules) { // find all rtl media rules
if (Array.from(x.media || []).includes('rtl')) {
x.media.appendMedium('all'); // enable them
}
}
}
})
});
})).observe(gradioApp(), { childList: true });
}
})
function download_localization() {
......
{ "⤡": "⤡",
{
"rtl": true,
"⤡": "⤡",
"⊞": "⊞",
"×": "×",
"❮": "❮",
......@@ -13,9 +15,10 @@
"img2img": "صورة لصورة",
"Extras": "الإضافات",
"PNG Info": "معلومات PNG",
"Image Browser": "مستعرض الصور",
"Checkpoint Merger": "دمج النماذج",
"Train": "التدريب",
"Create aesthetic embedding": "Create aesthetic embedding",
"Image Browser": "مستعرض الصور",
"Settings": "الإعدادات",
"Prompt": "الموجه",
"Negative prompt": "الموجه السلبي",
......@@ -66,8 +69,18 @@
"Variation strength": "قوة التباين",
"Resize seed from width": "تغيير حجم البذرة من العرض",
"Resize seed from height": "تغيير حجم البذرة من الارتفاع",
"Script": "سكريبت",
"Open for Clip Aesthetic!": "Open for Clip Aesthetic!",
"▼": "▼",
"Aesthetic weight": "Aesthetic weight",
"Aesthetic steps": "Aesthetic steps",
"Aesthetic learning rate": "Aesthetic learning rate",
"Slerp interpolation": "Slerp interpolation",
"Aesthetic imgs embedding": "Aesthetic imgs embedding",
"None": "لايوجد",
"Aesthetic text for imgs": "Aesthetic text for imgs",
"Slerp angle": "Slerp angle",
"Is negative text": "Is negative text",
"Script": "سكريبت",
"Prompt matrix": "مصفوفة الموجهات",
"Prompts from file or textbox": "موجهات من ملف أو مربع النص",
"X/Y plot": "الرسم البياني X/Y",
......@@ -134,214 +147,11 @@
"Just resize": "تغييير الحجم فقط",
"Crop and resize": "اقتصاص وتغيير الحجم",
"Resize and fill": "تغيير الحجم والتعبئة",
"Animator": "محرك الرسوم",
"Animator v2": "محرك الرسوم نسخة 2",
"Deforum v0.5-webui-beta": "ديفوروم 0.5",
"External Image Masking": "تقنيع الصور الخارجي",
"img2img alternative test": "صورة لصورة البديلة",
"Loopback": "الحلقة الراجعة",
"Outpainting mk2": "الرسم الخارجي نسخة 2",
"Poor man's outpainting": "الرسم الخارجي للفقراء",
"SD upscale": "ترقية الانتشار المستقر",
"txt2mask v0.1.1": "نص لقناع 0.1.1",
"[C] Video to video": "فيديو لفيديو",
"Videos": "فيديوهات",
"Render these video formats:": "رسم تنسيقات الفيديو:",
"GIF": "GIF",
"MP4": "MP4",
"WEBM": "WEBM",
"Animation Parameters": "متغيرات تحريك الرسوم",
"Total Animation Length (s)": "المدة الكلية للرسوم المتحركة",
"Framerate": "Framerate",
"Add_Noise": "Add_Noise",
"Noise Strength": "Noise Strength",
"Denoising_Decay": "Denoising_Decay",
"Denoising Decay Rate": "Denoising Decay Rate",
"Initial Parameters": "Initial Parameters",
"Denoising Strength (overrides img2img slider)": "Denoising Strength (overrides img2img slider)",
"Zoom Factor (scale/s)": "Zoom Factor (scale/s)",
"X Pixel Shift (pixels/s)": "X Pixel Shift (pixels/s)",
"Y Pixel Shift (pixels/s)": "Y Pixel Shift (pixels/s)",
"Prompt Template, applied to each keyframe below": "Prompt Template, applied to each keyframe below",
"Positive Prompts": "Positive Prompts",
"Negative Prompts": "Negative Prompts",
"Keyframe Format:": "Keyframe Format:",
"Time (s) | Desnoise | Zoom (/s) | X Shift (pix/s) | Y shift (pix/s) | Positive Prompts | Negative Prompts | Seed": "Time (s) | Desnoise | Zoom (/s) | X Shift (pix/s) | Y shift (pix/s) | Positive Prompts | Negative Prompts | Seed",
"Keyframes:": "Keyframes:",
"Rotation (deg/s)": "Rotation (deg/s)",
"Props": "Props",
"Folder:": "Folder:",
"Supported Keyframes:": "Supported Keyframes:",
"time_s | prompt | positive_prompts | negative_prompts": "time_s | prompt | positive_prompts | negative_prompts",
"time_s | transform | zoom | x_shift | y_shift | rotation": "time_s | transform | zoom | x_shift | y_shift | rotation",
"time_s | seed | new_seed_int": "time_s | seed | new_seed_int",
"time_s | denoise | denoise_value": "time_s | denoise | denoise_value",
"time_s | prop | prop_filename | x_pos | y_pos | scale | rotation": "time_s | prop | prop_filename | x_pos | y_pos | scale | rotation",
"time_s | set_text | textblock_name | text_prompt | x | y | fore_R | fore_G | fore_B | back_R | back_G | back_B | font_name | font_size": "time_s | set_text | textblock_name | text_prompt | x | y | fore_R | fore_G | fore_B | back_R | back_G | back_B | font_name | font_size",
"time_s | clear_text | textblock_name": "time_s | clear_text | textblock_name",
"time_s | prop | prop_name | prop_filename | x pos | y pos | scale | rotation": "time_s | prop | prop_name | prop_filename | x pos | y pos | scale | rotation",
"time_s | set_stamp | stamp_name | stamp_filename | x pos | y pos | scale | rotation": "time_s | set_stamp | stamp_name | stamp_filename | x pos | y pos | scale | rotation",
"time_s | clear_stamp | stamp_name": "time_s | clear_stamp | stamp_name",
"time_s | col_set": "time_s | col_set",
"time_s | col_clear": "time_s | col_clear",
"time_s | model | 2022-10-19T08-10-53_VV_6_training_images_1212_max_training_steps_VV_V_token_woman_class_word, 2022-10-19T09-06-28_VV_6_training_images_1212_max_training_steps_VV_V_token_woman_class_word, 2022-10-20T10-07-46_Zori_New_20_training_images_2020_max_training_steps_ZZ_W_token_woman_class_word, 2022-10-20T10-39-38_Zori_New_20_training_images_1010_max_training_steps_ZZ_W_token_woman_class_word, HD-16, L, L2_1, L2_2, LM, MT_V, Main+Trinart, Z1, Z2, model, modelZ, nai, robo-diffusion-v1, sd-v1-5-inpainting, trinart2_step115000, v1-5-pruned, v1-5-pruned-emaonly, wd-v1-2-full-ema, wd-v1-3-float16": "time_s | model | 2022-10-19T08-10-53_VV_6_training_images_1212_max_training_steps_VV_V_token_woman_class_word, 2022-10-19T09-06-28_VV_6_training_images_1212_max_training_steps_VV_V_token_woman_class_word, 2022-10-20T10-07-46_Zori_New_20_training_images_2020_max_training_steps_ZZ_W_token_woman_class_word, 2022-10-20T10-39-38_Zori_New_20_training_images_1010_max_training_steps_ZZ_W_token_woman_class_word, HD-16, L, L2_1, L2_2, LM, MT_V, Main+Trinart, Z1, Z2, model, modelZ, nai, robo-diffusion-v1, sd-v1-5-inpainting, trinart2_step115000, v1-5-pruned, v1-5-pruned-emaonly, wd-v1-2-full-ema, wd-v1-3-float16",
"Click here after the generation to show the video": "Click here after the generation to show the video",
"Made by deforum.github.io, port for AUTOMATIC1111's webui maintained by kabachuha": "Made by deforum.github.io, port for AUTOMATIC1111's webui maintained by kabachuha",
"Original Deforum Github repo github.com/deforum/stable-diffusion": "Original Deforum Github repo github.com/deforum/stable-diffusion",
"This fork for auto1111's webui github.com/deforum-art/deforum-for-automatic1111-webui": "This fork for auto1111's webui github.com/deforum-art/deforum-for-automatic1111-webui",
"Join the official Deforum Discord discord.gg/deforum to share your creations and suggestions": "Join the official Deforum Discord discord.gg/deforum to share your creations and suggestions",
"User guide for v0.5 docs.google.com/document/d/1pEobUknMFMkn8F5TMsv8qRzamXX_75BShMMXV8IFslI/edit": "User guide for v0.5 docs.google.com/document/d/1pEobUknMFMkn8F5TMsv8qRzamXX_75BShMMXV8IFslI/edit",
"Math keyframing explanation docs.google.com/document/d/1pfW1PwbDIuW0cv-dnuyYj1UzPqe23BlSLTJsqazffXM/edit?usp=sharing": "Math keyframing explanation docs.google.com/document/d/1pfW1PwbDIuW0cv-dnuyYj1UzPqe23BlSLTJsqazffXM/edit?usp=sharing",
"Keyframes": "Keyframes",
"Init": "Init",
"Video output": "Video output",
"Run settings": "Run settings",
"Import settings from file": "Import settings from file",
"Override settings": "Override settings",
"Custom settings file": "Custom settings file",
"Sampling settings": "Sampling settings",
"The following settings have already been set up in the webui": "The following settings have already been set up in the webui",
"Do you want to override them with the values above?": "Do you want to override them with the values above?",
"FIXME! Need to make deforum <-> webui samplers map. Before that, the sampler gets used from webui anyway. If your images are changing too adruptly, lower steps or increase strength schedule!": "FIXME! Need to make deforum <-> webui samplers map. Before that, the sampler gets used from webui anyway. If your images are changing too adruptly, lower steps or increase strength schedule!",
"override_these_with_webui": "override_these_with_webui",
"W, H, seed, sampler, steps, scale, ddim_eta, n_batch, make_grid, grid_rows": "W, H, seed, sampler, steps, scale, ddim_eta, n_batch, make_grid, grid_rows",
"W": "W",
"H": "H",
"seed": "seed",
"sampler": "sampler",
"klms": "klms",
"dpm2": "dpm2",
"dpm2_ancestral": "dpm2_ancestral",
"heun": "heun",
"euler": "euler",
"euler_ancestral": "euler_ancestral",
"plms": "plms",
"ddim": "ddim",
"steps": "steps",
"scale": "scale",
"ddim_eta": "ddim_eta",
"n_batch": "n_batch",
"make_grid": "make_grid",
"grid_rows": "grid_rows",
"save_settings": "save_settings",
"save_samples": "save_samples",
"display_samples": "display_samples",
"save_sample_per_step": "save_sample_per_step",
"show_sample_per_step": "show_sample_per_step",
"Batch settings": "Batch settings",
"batch_name": "batch_name",
"filename_format": "filename_format",
"seed_behavior": "seed_behavior",
"iter": "iter",
"fixed": "fixed",
"random": "random",
"schedule": "schedule",
"Animation settings": "Animation settings",
"animation_mode": "animation_mode",
"2D": "2D",
"3D": "3D",
"Video Input": "Video Input",
"max_frames": "max_frames",
"border": "border",
"replicate": "replicate",
"wrap": "wrap",
"Motion parameters:": "Motion parameters:",
"2D and 3D settings": "2D and 3D settings",
"angle": "angle",
"zoom": "zoom",
"translation_x": "translation_x",
"translation_y": "translation_y",
"3D settings": "3D settings",
"translation_z": "translation_z",
"rotation_3d_x": "rotation_3d_x",
"rotation_3d_y": "rotation_3d_y",
"rotation_3d_z": "rotation_3d_z",
"Prespective flip — Low VRAM pseudo-3D mode:": "Prespective flip — Low VRAM pseudo-3D mode:",
"flip_2d_perspective": "flip_2d_perspective",
"perspective_flip_theta": "perspective_flip_theta",
"perspective_flip_phi": "perspective_flip_phi",
"perspective_flip_gamma": "perspective_flip_gamma",
"perspective_flip_fv": "perspective_flip_fv",
"Generation settings:": "Generation settings:",
"noise_schedule": "noise_schedule",
"strength_schedule": "strength_schedule",
"contrast_schedule": "contrast_schedule",
"cfg_scale_schedule": "cfg_scale_schedule",
"To enable seed schedule select seed behavior — 'schedule'": "To enable seed schedule select seed behavior — 'schedule'",
"seed_schedule": "seed_schedule",
"Coherence:": "Coherence:",
"color_coherence": "color_coherence",
"Match Frame 0 HSV": "Match Frame 0 HSV",
"Match Frame 0 LAB": "Match Frame 0 LAB",
"Match Frame 0 RGB": "Match Frame 0 RGB",
"diffusion_cadence": "diffusion_cadence",
"3D Depth Warping:": "3D Depth Warping:",
"use_depth_warping": "use_depth_warping",
"midas_weight": "midas_weight",
"near_plane": "near_plane",
"far_plane": "far_plane",
"fov": "fov",
"padding_mode": "padding_mode",
"reflection": "reflection",
"zeros": "zeros",
"sampling_mode": "sampling_mode",
"bicubic": "bicubic",
"bilinear": "bilinear",
"nearest": "nearest",
"save_depth_maps": "save_depth_maps",
"`animation_mode: None` batches on list of *prompts*. (Batch mode disabled atm, only animation_prompts are working)": "`animation_mode: None` batches on list of *prompts*. (Batch mode disabled atm, only animation_prompts are working)",
"*Important change from vanilla Deforum!*": "*Important change from vanilla Deforum!*",
"This script uses the built-in webui weighting settings.": "This script uses the built-in webui weighting settings.",
"So if you want to use math functions as prompt weights,": "So if you want to use math functions as prompt weights,",
"keep the values above zero in both parts": "keep the values above zero in both parts",
"Negative prompt part can be specified with --neg": "Negative prompt part can be specified with --neg",
"batch_prompts (disabled atm)": "batch_prompts (disabled atm)",
"animation_prompts": "animation_prompts",
"Init settings": "Init settings",
"use_init": "use_init",
"from_img2img_instead_of_link": "from_img2img_instead_of_link",
"strength_0_no_init": "strength_0_no_init",
"strength": "strength",
"init_image": "init_image",
"use_mask": "use_mask",
"use_alpha_as_mask": "use_alpha_as_mask",
"invert_mask": "invert_mask",
"overlay_mask": "overlay_mask",
"mask_file": "mask_file",
"mask_brightness_adjust": "mask_brightness_adjust",
"mask_overlay_blur": "mask_overlay_blur",
"Video Input:": "Video Input:",
"video_init_path": "video_init_path",
"extract_nth_frame": "extract_nth_frame",
"overwrite_extracted_frames": "overwrite_extracted_frames",
"use_mask_video": "use_mask_video",
"video_mask_path": "video_mask_path",
"Interpolation (turned off atm)": "Interpolation (turned off atm)",
"interpolate_key_frames": "interpolate_key_frames",
"interpolate_x_frames": "interpolate_x_frames",
"Resume animation:": "Resume animation:",
"resume_from_timestring": "resume_from_timestring",
"resume_timestring": "resume_timestring",
"Video output settings": "Video output settings",
"skip_video_for_run_all": "skip_video_for_run_all",
"fps": "fps",
"output_format": "output_format",
"PIL gif": "PIL gif",
"FFMPEG mp4": "FFMPEG mp4",
"ffmpeg_location": "ffmpeg_location",
"add_soundtrack": "add_soundtrack",
"soundtrack_path": "soundtrack_path",
"use_manual_settings": "use_manual_settings",
"render_steps": "render_steps",
"max_video_frames": "max_video_frames",
"path_name_modifier": "path_name_modifier",
"x0_pred": "x0_pred",
"x": "x",
"image_path": "image_path",
"mp4_path": "mp4_path",
"Masking preview size": "Masking preview size",
"Draw new mask on every run": "Draw new mask on every run",
"Process non-contigious masks separately": "Process non-contigious masks separately",
"should be 2 or lower.": "should be 2 or lower.",
"Override `Sampling method` to Euler?(this method is built for it)": "Override `Sampling method` to Euler?(this method is built for it)",
"Override `prompt` to the same value as `original prompt`?(and `negative prompt`)": "Override `prompt` to the same value as `original prompt`?(and `negative prompt`)",
......@@ -368,53 +178,6 @@
"Tile overlap": "تداخل التبليط",
"Upscaler": "المرقي",
"Lanczos": "Lanczos",
"LDSR": "LDSR",
"ESRGAN 4x": "ESRGAN 4x",
"R-ESRGAN General 4xV3": "R-ESRGAN General 4xV3",
"R-ESRGAN General WDN 4xV3": "R-ESRGAN General WDN 4xV3",
"R-ESRGAN AnimeVideo": "R-ESRGAN AnimeVideo",
"R-ESRGAN 4x+": "R-ESRGAN 4x+",
"R-ESRGAN 4x+ Anime6B": "R-ESRGAN 4x+ Anime6B",
"R-ESRGAN 2x+": "R-ESRGAN 2x+",
"ScuNET GAN": "ScuNET GAN",
"ScuNET PSNR": "ScuNET PSNR",
"SwinIR_4x": "SwinIR_4x",
"Mask prompt": "Mask prompt",
"Negative mask prompt": "Negative mask prompt",
"Mask precision": "Mask precision",
"Mask padding": "Mask padding",
"Brush mask mode": "Brush mask mode",
"discard": "discard",
"add": "add",
"subtract": "subtract",
"Show mask in output?": "Show mask in output?",
"If you like my work, please consider showing your support on": "If you like my work, please consider showing your support on",
"Patreon": "Patreon",
"Input file path": "Input file path",
"CRF (quality, less is better, x264 param)": "CRF (quality, less is better, x264 param)",
"FPS": "FPS",
"Seed step size": "Seed step size",
"Seed max distance": "Seed max distance",
"Start time": "Start time",
"End time": "End time",
"End Prompt Blend Trigger Percent": "End Prompt Blend Trigger Percent",
"Prompt end": "Prompt end",
"Smooth video": "Smooth video",
"Seconds": "Seconds",
"Zoom": "Zoom",
"Zoom level": "Zoom level",
"Direction X": "Direction X",
"Direction Y": "Direction Y",
"Rotate": "Rotate",
"Degrees": "Degrees",
"Is the Image Tiled?": "Is the Image Tiled?",
"TranslateX": "TranslateX",
"Left": "Left",
"PercentX": "PercentX",
"TranslateY": "TranslateY",
"Up": "Up",
"PercentY": "PercentY",
"Show generated pictures in ui": "عرض الصور المنشئة في واجهة الاستخدام",
"Single Image": "صورة واحدة",
"Batch Process": "معالجة الدفعات",
"Batch from Directory": "دفعة من المجلد",
......@@ -430,27 +193,6 @@
"CodeFormer weight (0 = maximum effect, 1 = minimum effect)": "وزن CodeFormer (0 = أقصى تأثير ، 1 = تأثير أدنى)",
"Open output directory": "افتح مجلد المخرجات",
"Send to txt2img": "أرسل إلى كتابة لصورة",
"extras": "إضافات",
"favorites": "المفضلة",
"Load": "تحميل",
"Images directory": "مجلد الصور",
"Prev batch": "الدفعة السابقة",
"Next batch": "الدفعة التالية",
"First Page": "الصفحة الأولى",
"Prev Page": "الصفحة السابقة",
"Page Index": "فهرس الصفحات",
"Next Page": "الصفحة التالية",
"End Page": "صفحة النهاية",
"number of images to delete consecutively next": "عدد الصور المطلوب حذفها على التوالي بعد ذلك",
"Delete": "حذف",
"Generate Info": "معلومات الإنشاء",
"File Name": "اسم الملف",
"Collect": "جمع",
"Refresh page": "إعادة تحميل الصفحة",
"Date to": "التاريخ إلى",
"Number": "الرقم",
"set_index": "وضع الفهرس",
"Checkbox": "صندوق اختيار",
"A merger of the two checkpoints will be generated in your": "سيتم إنشاء نموذجمدمج من النموذجين في",
"checkpoint": "النموذج",
"directory.": "المجلد.",
......@@ -513,11 +255,36 @@
"Read parameters (prompt, etc...) from txt2img tab when making previews": "قراءة المتغيرات (الموجه ، إلخ ...) من علامة تبويب نص لصورة عند إجراء المعاينات",
"Train Hypernetwork": "تدريب الشبكة الفائقة",
"Train Embedding": "تدريب التضمين",
"Create an aesthetic embedding out of any number of images": "Create an aesthetic embedding out of any number of images",
"Create images embedding": "Create images embedding",
"extras": "إضافات",
"favorites": "المفضلة",
"custom fold": "custom fold",
"Load": "تحميل",
"Images directory": "مجلد الصور",
"Prev batch": "الدفعة السابقة",
"Next batch": "الدفعة التالية",
"First Page": "الصفحة الأولى",
"Prev Page": "الصفحة السابقة",
"Page Index": "فهرس الصفحات",
"Next Page": "الصفحة التالية",
"End Page": "صفحة النهاية",
"number of images to delete consecutively next": "عدد الصور المطلوب حذفها على التوالي بعد ذلك",
"Delete": "حذف",
"Generate Info": "معلومات الإنشاء",
"File Name": "اسم الملف",
"Collect": "جمع",
"Refresh page": "إعادة تحميل الصفحة",
"Date to": "التاريخ إلى",
"Number": "الرقم",
"set_index": "وضع الفهرس",
"Checkbox": "صندوق اختيار",
"Apply settings": "تطبيق الإعدادات",
"Saving images/grids": "حفظ الصور / الإطار الشبكي",
"Always save all generated images": "احفظ دائمًا جميع الصور التي تم إنشائها",
"File format for images": "تنسيق ملفات الصور",
"Images filename pattern": "نمط اسم ملفات الصور",
"Add number to filename when saving": "Add number to filename when saving",
"Always save all generated image grids": "احفظ دائمًا جميع الإطارات الشبكية للصور التي تم إنشاؤها",
"File format for grids": "تنسيق ملفات الإطارات الشبكية",
"Add extended info (seed, prompt) to filename when saving grid": "أضف معلومات إضافية (البذرة ، الموجه) إلى اسم الملف عند حفظ الإطار الشبكي",
......@@ -544,7 +311,7 @@
"Saving to a directory": "يتم الحفظ إلى المجلد..",
"Save images to a subdirectory": "حفظ الصور في مجلد فرعي",
"Save grids to a subdirectory": "حفظ الإطارات الشبكية في مجلد فرعي",
"When using 'Save' button, save images to a subdirectory": "عند استخدام زر 'حفظ' ، احفظ الصور في مجلد فرعي",
"When using \"Save\" button, save images to a subdirectory": "احفظ الصور في مجلد فرعي عند الضغط على زر الحفظ",
"Directory name pattern": "نمط اسم المجلد",
"Max prompt words for [prompt_words] pattern": "أقصى عدد لكلمات التوجيه لنمط [كلمات_التوجيه]",
"Upscaling": "الارتقاء",
......@@ -592,6 +359,7 @@
"Interrogate: deepbooru score threshold": "الاستجواب: عتبة درجات deepbooru",
"Interrogate: deepbooru sort alphabetically": "الاستجواب: الترتيب الأبجدي لـ deepbooru",
"use spaces for tags in deepbooru": "استخدام مسافات للعلامات في deepbooru",
"escape (\\) brackets in deepbooru (so they are used as literal brackets and not for emphasis)": "تجاهل الأقواس عند استخدام deepbooru (كي لا تعامل كأقواس التشديد)",
"User interface": "واجهة المستخدم",
"Show progressbar": "إظهار شريط التقدم",
"Show image creation progress every N sampling steps. Set 0 to disable.": "إظهار تقدم إنشاء الصورة لكل N خطوة من خطوات أخذ العينات. قم بتعيين 0 للتعطيل.",
......@@ -607,9 +375,6 @@
"Show generation progress in window title.": "إظهار تقدم الإنشاء في عنوان الشاشة.",
"Quicksettings list": "قائمة الإعدادات السريعة",
"Localization (requires restart)": "الترجمة (يتطلب إعادة التشغيل)",
"ar_AR": "العربية",
"ja_JP": "اليابانية",
"ru_RU": "الروسية",
"Sampler parameters": "متغيرات أنظمة اخذ العينات",
"Hide samplers in user interface (requires restart)": "إخفاء أنظمة أخذ العينات في واجهة المستخدم (يتطلب إعادة التشغيل)",
"eta (noise multiplier) for DDIM": "الوقت المتبقي (مضاعف الضوضاء) لـ DDIM",
......@@ -623,9 +388,9 @@
"Eta noise seed delta": "الوقت المتوقع لديلتا بذرة الضجيج ",
"Images Browser": "مستعرض الصور",
"Preload images at startup": "تحميل الصور مسبقًا عند بدء التشغيل",
"Number of pictures displayed on each page": "عدد الصور المعروضة في كل صفحة",
"Number of columns on the page": "Number of columns on the page",
"Number of rows on the page": "Number of rows on the page",
"Minimum number of pages per load": "الحد الأدنى لعدد الصفحات لكل تحميل",
"Number of grids in each row": "عدد الإطارات الشبكية لكل صف",
"Request browser notifications": "طلب إشعارات المتصفح",
"Download localization template": "تنزيل نموذج الترجمة",
"Reload custom script bodies (No ui updates, No restart)": "إعادة تحميل السكريبتات المخصصة (لا توجد تحديثات لواجهة المستخدم ، لا إعادة تشغيل)",
......@@ -655,6 +420,7 @@
"Seed of a different picture to be mixed into the generation.": "استخدام بذرة من صورة مختلفة ليتم مزجها في الإنشاء.",
"How strong of a variation to produce. At 0, there will be no effect. At 1, you will get the complete picture with variation seed (except for ancestral samplers, where you will just get something).": "ما مدى قوة التباين عند الإنشاء. 0 ، لن يكون هناك أي تأثير. 1 ، ستحصل على الصورة الكاملة ببذور التباين (باستثناء أنظمة عينات الأسلاف ، حيث ستحصل على شيء ما فقط).",
"Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution": "قم بمحاولة لإنتاج صورة مشابهة لما تم إنتاجه بنفس البذرة بناءا على دقة محددة",
"This text is used to rotate the feature space of the imgs embs": "This text is used to rotate the feature space of the imgs embs",
"Separate values for X axis using commas.": "افصل بين قيم المحور X باستخدام الفواصل.",
"Separate values for Y axis using commas.": "افصل بين قيم المحور Y باستخدام الفواصل.",
"Write image to a directory (default - log/images) and generation parameters into csv file.": "اكتب الصورة إلى مجلد (الافتراضي - log/images) وتوليد المتغيرات في ملف csv.",
......@@ -674,16 +440,15 @@
"For SD upscale, how much overlap in pixels should there be between tiles. Tiles overlap so that when they are merged back into one picture, there is no clearly visible seam.": "الترقية باستخدام الانتشار المستقر ، كم يجب أن يكون مقدار التداخل بالبكسل بين المربعات. تتداخل المربعات بحيث لا يكون هناك خط واضح للعيان عند دمجها مرة أخرى في صورة واحدة.",
"A directory on the same machine where the server is running.": "مجلد على نفس الجهاز حيث يتم تشغيل الخادم.",
"Leave blank to save images to the default path.": "اتركه فارغًا لحفظ الصور في المسار الافتراضي.",
"Input images directory": "مجلد الصور المدخلة",
"Result = A * (1 - M) + B * M": "النتيجة = A * (1 - M) + B * M",
"Result = A + (B - C) * M": "النتيجة = A + (B - C) * M",
"1st and last digit must be 1. ex:'1, 2, 1'": "يجب أن يكون الرقم الأول والأخير 1. على سبيل المثال: '1 ، 2 ، 1'",
"Path to directory with input images": "المسار إلى مجلد الصور المدخلة",
"Path to directory where to write outputs": "المسار إلى مجلد كتابة النتائج",
"Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp]; leave empty for default.": "استخدم العلامات التالية لتعريف كيفية اختيار أسماء الملفات للصور: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp] ؛ اتركه فارغا للوضع الافتراضي.",
"Input images directory": "مجلد الصور المدخلة",
"Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.": "استخدم العلامات التالية لتعريف كيفية اختيار أسماء الملفات للصور: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp] ؛ اتركه فارغا للوضع الافتراضي.",
"If this option is enabled, watermark will not be added to created images. Warning: if you do not add watermark, you may be behaving in an unethical manner.": "إذا تم تمكين هذا الخيار ، فلن تتم إضافة العلامة المائية إلى الصور التي تم إنشاؤها. تحذير: إذا لم تقم بإضافة علامة مائية ، فقد تكون تتصرف بطريقة غير أخلاقية.",
"Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp]; leave empty for default.": "استخدم العلامات التالية لتحديد كيفية اختيار المجادت الفرعية للصور و الإطارات الشبكية : [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [job_timestamp] ؛ اتركه فارغا للوضع الافتراضي.",
"Restore low quality faces using GFPGAN neural network": "ترميم الوجوه منخفضة الجودة باستخدام الشبكة العصبية GFPGAN ",
"Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.": "استخدم العلامات التالية لتحديد كيفية اختيار المجادت الفرعية للصور و الإطارات الشبكية : [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp] ؛ اتركه فارغا للوضع الافتراضي.",
"This regular expression will be used extract words from filename, and they will be joined using the option below into label text used for training. Leave empty to keep filename text as it is.": "سيتم استخدام هذا التعبير العادي لاستخراج الكلمات من اسم الملف ، وسيتم ضمها باستخدام الخيار أدناه في نص التسمية المستخدم للتدريب. اتركه فارغًا للاحتفاظ بنص اسم الملف كما هو.",
"This string will be used to join split words into a single line if the option above is enabled.": "سيتم استخدام هذا النص لضم الكلمات المقسمة إلى سطر واحد إذا تم تمكين الخيار أعلاه.",
"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.": "قائمة أسماء الإعدادات ، مفصولة بفواصل ، للإعدادات التي يجب أن تنتقل إلى شريط الوصول السريع في الأعلى ، بدلاً من علامة تبويب الإعداد المعتادة. انظر modules / shared.py للتعرف على أسماء الإعدادات. يتطلب إعادة التشغيل للتطبيق.",
......
{
"⤡": "⤡",
"⊞": "⊞",
"×": "×",
"❮": "❮",
"❯": "❯",
"Loading...": "Cargando...",
"view": "mostrar",
"api": "api",
"•": "•",
"built with 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",
"Settings": "Ajustes",
"Prompt": "Prompt",
"Negative prompt": "Prompt negativo",
"Run": "Ejecutar",
"Skip": "Saltar",
"Interrupt": "Interrumpir",
"Generate": "Generar",
"Style 1": "Estilo 1",
"Style 2": "Estilo 2",
"Label": "Etiqueta",
"File": "Archivo",
"Drop File Here": "Suelta el Archivo Aquí",
"-": "-",
"o": "o",
"Click to Upload": "Click para Cargar",
"Image": "Imagen",
"Check progress": "Comprobar progreso",
"Check progress (first)": "Comprobar progreso (inicial)",
"Sampling Steps": "Sampling Steps",
"Sampling method": "Sampling method",
"Euler a": "Euler a",
"Euler": "Euler",
"LMS": "LMS",
"Heun": "Heun",
"DPM2": "DPM2",
"DPM2 a": "DPM2 a",
"DPM fast": "DPM fast",
"DPM adaptive": "DPM adaptive",
"LMS Karras": "LMS Karras",
"DPM2 Karras": "DPM2 Karras",
"DPM2 a Karras": "DPM2 a Karras",
"DDIM": "DDIM",
"PLMS": "PLMS",
"Width": "Ancho",
"Height": "Alto",
"Restore faces": "Restaurar rostros",
"Tiling": "Mosaico",
"Highres. fix": "Highres. fix",
"Firstpass width": "Ancho original",
"Firstpass height": "Alto original",
"Denoising strength": "Denoising strength",
"Batch count": "Batch count",
"Batch size": "Batch size",
"CFG Scale": "CFG Scale",
"Seed": "Seed",
"Extra": "Extra",
"Variation seed": "Variation seed",
"Variation strength": "Variation strength",
"Resize seed from width": "Redimensionar seed del ancho",
"Resize seed from height": "Redimensionar seed del alto",
"Script": "Script",
"None": "Ninguno",
"Prompt matrix": "Prompt matrix",
"Prompts from file or textbox": "Prompts desde archivo o campo de texto",
"X/Y plot": "X/Y plot",
"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",
"Nothing": "Nada",
"Var. seed": "Var. seed",
"Var. strength": "Var. strength",
"Steps": "Steps",
"Prompt S/R": "Prompt S/R",
"Prompt order": "Prompt order",
"Sampler": "Sampler",
"Checkpoint name": "Checkpoint name",
"Hypernetwork": "Hypernetwork",
"Hypernet str.": "Hypernet str.",
"Sigma Churn": "Sigma Churn",
"Sigma min": "Sigma min",
"Sigma max": "Sigma max",
"Sigma noise": "Sigma noise",
"Eta": "Eta",
"Clip skip": "Clip skip",
"Denoising": "Denoising",
"X values": "X values",
"Y type": "Y type",
"Y values": "Y values",
"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",
"Send to extras": "Enviar a extras",
"Make Zip when Save?": "Crear Zip al Guardar?",
"Textbox": "Campo de texto",
"Interrogate\nCLIP": "Interrogar\nCLIP",
"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",
"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",
"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",
"Output directory": "Directorio de salida",
"Resize mode": "Modo de cambio de tamaño",
"Just resize": "Solo redimensionar",
"Crop and resize": "Recortar y redimensionar",
"Resize and fill": "Redimensionar y rellenar",
"img2img alternative test": "img2img alternative test",
"Loopback": "Loopback",
"Outpainting mk2": "Outpainting mk2",
"Poor man's outpainting": "Poor man's outpainting",
"SD upscale": "SD upscale",
"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`)",
"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`?",
"Decode steps": "Decode steps",
"Override `Denoising strength` to 1?": "Anular `Denoising strength` a 1?",
"Decode CFG scale": "Decode CFG scale",
"Randomness": "Aleatoriedad",
"Sigma adjustment for finding noise for image": "Ajuste Sigma para encontrar ruido para la imagen.",
"Loops": "Loops",
"Denoising strength change factor": "Denoising strength change factor",
"Recommended settings: Sampling Steps: 80-100, Sampler: Euler a, Denoising strength: 0.8": "Ajustes recomendados: Sampling Steps: 80-100, Sampler: Euler a, Denoising strength: 0.8",
"Pixels to expand": "Píxeles para expandir",
"Outpainting direction": "Dirección Outpainting",
"left": "izquierda",
"right": "derecha",
"up": "arriba",
"down": "abajo",
"Fall-off exponent (lower=higher detail)": "Fall-off exponent (inferior=mayor detalle)",
"Color variation": "Variación de color",
"Will upscale the image to twice the dimensions; use width and height sliders to set tile size": "Mejorará la imagen al doble de las dimensiones; usa los controles deslizantes de ancho y alto para establecer el tamaño del mosaico",
"Tile overlap": "Solapar mosaicos",
"Upscaler": "Upscaler",
"Lanczos": "Lanczos",
"LDSR": "LDSR",
"SwinIR 4x": "SwinIR 4x",
"ScuNET GAN": "ScuNET GAN",
"ScuNET PSNR": "ScuNET PSNR",
"ESRGAN_4x": "ESRGAN_4x",
"Single Image": "Imagen Única",
"Batch Process": "Batch Process",
"Batch from Directory": "Batch desde Directorio",
"Source": "Origen",
"Show result images": "Mostrar resultados de imágenes",
"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",
"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.",
"Primary model (A)": "Modelo primario (A)",
"Secondary model (B)": "Modelo secundario (B)",
"Tertiary model (C)": "Modelo terciario (C)",
"Custom Name (Optional)": "Nombre personalizado (Opcional)",
"Multiplier (M) - set to 0 to get model A": "Multiplier (M) - establecer en 0 para obtener el modelo A",
"Interpolation Method": "Método de interpolación",
"Weighted sum": "Weighted sum",
"Add difference": "Add difference",
"Save as float16": "Guardar como float16",
"See": "Ver ",
"wiki": "wiki ",
"for detailed explanation.": "para una explicación detallada.",
"Create embedding": "Crear embedding",
"Create hypernetwork": "Crear hypernetwork",
"Preprocess images": "Preprocesar imágenes",
"Name": "Nombre",
"Initialization text": "Texto de inicialización",
"Number of vectors per token": "Número de vectores por token",
"Overwrite Old Embedding": "Sobrescribir Embedding Anterior",
"Modules": "Módulos",
"Enter hypernetwork layer structure": "Ingresa la estructura de capa del hypernetwork",
"Select activation function of hypernetwork": "Selecciona la función de activación del hypernetwork",
"linear": "linear",
"relu": "relu",
"leakyrelu": "leakyrelu",
"elu": "elu",
"swish": "swish",
"Add layer normalization": "Agregar normalización de capa",
"Use dropout": "Usar dropout",
"Overwrite Old Hypernetwork": "Sobrescribir Hypernetwork Anterior",
"Source directory": "Directorio de origen",
"Destination directory": "Directorio de salida",
"Existing Caption txt Action": "Existing Caption txt Action",
"ignore": "ignorar",
"copy": "copiar",
"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",
"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]",
"Embedding": "Embedding",
"Embedding Learning rate": "Embedding Learning rate",
"Hypernetwork Learning rate": "Hypernetwork Learning rate",
"Dataset directory": "Directorio dataset",
"Log directory": "Directorio log",
"Prompt template file": "Prompt archivos plantilla",
"Max steps": "Max steps",
"Save an image to log directory every N steps, 0 to disable": "Guarda una imagen en el directorio log cada N pasos, 0 para deshabilitar",
"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",
"Apply settings": "Aplicar ajustes",
"Saving images/grids": "Guardar imágenes/grids",
"Always save all generated images": "Siempre guardar imágenes generadas",
"File format for images": "Formato de archivo para imágenes",
"Images filename pattern": "Patrón nombre archivo imágenes",
"Add number to filename when saving": "Agregar número al nombre de archivo al guardar",
"Always save all generated image grids": "Siempre guardar grids de imágenes generadas",
"File format for grids": "Formato de archivo para grids",
"Add extended info (seed, prompt) to filename when saving grid": "Agregar información extendida (seed, prompt) al nombre del archivo al guardar grid",
"Do not save grids consisting of one picture": "No guardar grids que consisten en una imagen",
"Prevent empty spots in grid (when set to autodetect)": "Evitar espacios vacíos en grids (cuando se establece detección automática)",
"Grid row count; use -1 for autodetect and 0 for it to be same as batch size": "Recuento de filas de grids; usar -1 para la detección automática y 0 para que sea igual al batch size",
"Save text information about generation parameters as chunks to png files": "Guardar información de texto sobre parámetros de generación como fragmentos en archivos png",
"Create a text file next to every image with generation parameters.": "Crear un archivo de texto junto a cada imagen con parámetros de generación.",
"Save a copy of image before doing face restoration.": "Guardar una copia de la imagen antes de restaurar rostro.",
"Quality for saved jpeg images": "Calidad para imágenes jpeg guardadas",
"If PNG image is larger than 4MB or any dimension is larger than 4000, downscale and save copy as JPG": "Si la imagen PNG es más grande de 4 MB o cualquier dimensión es más grande que 4000, reduce la escala y guarda la copia como JPG",
"Use original name for output filename during batch process in extras tab": "Use el nombre original para el nombre del archivo de salida durante el batch process en la pestaña extras",
"When using 'Save' button, only save a single selected image": "Al usar el botón 'Guardar', solo guarda una sola imagen seleccionada",
"Do not add watermark to images": "No agregar watermark a las imágenes",
"Paths for saving": "Directorios para guardar",
"Output directory for images; if empty, defaults to three directories below": "Directorio de imágenes; si está vacío, se utilizan los siguientes 3 directorios",
"Output directory for txt2img images": "Directorio para guardar imágenes de txt2img",
"Output directory for img2img images": "Directorio para guardar imágenes de img2img",
"Output directory for images from extras tab": "Directorio para guardar imágenes de extras",
"Output directory for grids; if empty, defaults to two directories below": "Directorio de grids; si está vacío, se utilizan los siguientes 2 directorios",
"Output directory for txt2img grids": "Directorio para guardar txt2img grids",
"Output directory for img2img grids": "Directorio para guardar img2img grids",
"Directory for saving images using the Save button": "Directorio para guardar imágenes usando el botón Guardar",
"Saving to a directory": "Guardando a un directorio",
"Save images to a subdirectory": "Guardar imágenes a un subdirectorio",
"Save grids to a subdirectory": "Guardar grids a un subdirectorio",
"When using \"Save\" button, save images to a subdirectory": "Al usar el botón \"Guardar\", guarda las imágenes en un subdirectorio",
"Directory name pattern": "Patrón nombre directorio",
"Max prompt words for [prompt_words] pattern": "Máximo de palabras en prompt [prompt_words] para patrón",
"Upscaling": "Upscaling",
"Tile size for ESRGAN upscalers. 0 = no tiling.": "Tamaño mosaico para ESRGAN upscalers. 0 = sin mosaico.",
"Tile overlap, in pixels for ESRGAN upscalers. Low values = visible seam.": "Solapar mosaico, en pixeles para ESRGAN upscalers. Valores bajos = unión visible.",
"Tile size for all SwinIR.": "Tamaño mosaico para SwinIR.",
"Tile overlap, in pixels for SwinIR. Low values = visible seam.": "Solapar mosaico, en pixeles para SwinIR. Valores bajos = unión visible.",
"LDSR processing steps. Lower = faster": "LDSR processing steps. Más bajo = rápido",
"Upscaler for img2img": "Upscaler para img2img",
"Upscale latent space image when doing hires. fix": "Upscale latent space al aplicar hires. fix",
"Face restoration": "Restauración de rostro",
"CodeFormer weight parameter; 0 = maximum effect; 1 = minimum effect": "CodeFormer parámetro peso; 0 = máximo efecto; 1 = mínimo efecto",
"Move face restoration model from VRAM into RAM after processing": "Mover modelo de restauración de rostro del VRAM al RAM después de procesar",
"System": "Sistema",
"VRAM usage polls per second during generation. Set to 0 to disable.": "Sondeos de uso de VRAM por segundo durante la generación. Establecer en 0 para deshabilitar.",
"Always print all generation info to standard output": "Imprime siempre toda la información de generación en la salida estándar",
"Add a second progress bar to the console that shows progress for an entire job.": "Agrega una segunda barra de progreso a la consola que muestra el progreso de un trabajo completo.",
"Training": "Entrenamiento",
"Move VAE and CLIP to RAM when training hypernetwork. Saves VRAM.": "Mover VAE y CLIP al RAM al entrenar un hypernetwork. Ahorra VRAM.",
"Filename word regex": "Filename word regex",
"Filename join string": "Filename join string",
"Number of repeats for a single input image per epoch; used only for displaying epoch number": "Número de repeticiones para una sola imagen de entrada por epoch; utilizado solo para mostrar el número epoch",
"Save an csv containing the loss to log directory every N steps, 0 to disable": "Guarda un csv que contenga la pérdida en el directorio log cada N pasos, 0 para deshabilitar",
"Stable Diffusion": "Stable Diffusion",
"Checkpoints to cache in RAM": "Checkpoints al cache en RAM",
"Hypernetwork strength": "Hypernetwork strength",
"Apply color correction to img2img results to match original colors.": "Aplica la corrección de color a los resultados de img2img para que coincidan con los colores originales.",
"Save a copy of image before applying color correction to img2img results": "Guarda una copia de la imagen antes de aplicar la corrección de color a los resultados de img2img",
"With img2img, do exactly the amount of steps the slider specifies (normally you'd do less with less denoising).": "Con img2img, hace exactamente la cantidad de pasos que especifica el slider (normalmente haría menos con menos eliminación de ruido).",
"Enable quantization in K samplers for sharper and cleaner results. This may change existing seeds. Requires restart to apply.": "Habilita la cuantificación en K samplers para obtener resultados más nítidos y limpios. Esto puede cambiar los seeds existentes. Requiere reiniciar para aplicar.",
"Emphasis: use (text) to make model pay more attention to text and [text] to make it pay less attention": "Énfasis: utiliza (texto) para que el modelo preste más atención al texto y [texto] para que preste menos atención",
"Use old emphasis implementation. Can be useful to reproduce old seeds.": "Utiliza la implementación de énfasis antiguo. Puede ser útil para reproducir seeds anteriores.",
"Make K-diffusion samplers produce same images in a batch as when making a single image": "Hace que los K-diffusion samplers produzcan las mismas imágenes en un lote que cuando se crea una sola imagen",
"Increase coherency by padding from the last comma within n tokens when using more than 75 tokens": "Aumenta la coherencia rellenando desde la última coma dentro de n tokens cuando se use más de 75 tokens",
"Filter NSFW content": "Filtrar contenido NSFW",
"Stop At last layers of CLIP model": "Detener en las últimas capas del modelo CLIP",
"Interrogate Options": "Opciones de Interrogar",
"Interrogate: keep models in VRAM": "Interrogar: mantener modelos en VRAM",
"Interrogate: use artists from artists.csv": "Interrogar: utilizar artistas de artists.csv",
"Interrogate: include ranks of model tags matches in results (Has no effect on caption-based interrogators).": "Interrogar: incluir rangos de coincidencias de etiquetas de modelos en los resultados (No tiene efecto en los interrogadores basados en subtítulos).",
"Interrogate: num_beams for BLIP": "Interrogar: num_beams para BLIP",
"Interrogate: minimum description length (excluding artists, etc..)": "Interrogar: longitud mínima de la descripción (excluyendo artistas, etc.)",
"Interrogate: maximum description length": "Interrogar: longitud máxima de la descripción",
"CLIP: maximum number of lines in text file (0 = No limit)": "CLIP: número máximo de líneas en el archivo de texto (0 = Sin límite)",
"Interrogate: deepbooru score threshold": "Interrogar: deepbooru score threshold",
"Interrogate: deepbooru sort alphabetically": "Interrogar: deepbooru ordenar alfabéticamente",
"use spaces for tags in deepbooru": "usar espacios para etiquetas en deepbooru",
"escape (\\) brackets in deepbooru (so they are used as literal brackets and not for emphasis)": "corchetes de escape (\\) en deepbooru (por lo que se usan como corchetes literales y no para enfatizar)",
"User interface": "Interfaz de usuario",
"Show progressbar": "Mostrar barra de progreso",
"Show image creation progress every N sampling steps. Set 0 to disable.": "Muestra el progreso de creación de la imagen cada N sampling steps. Establecer 0 para deshabilitar.",
"Show previews of all images generated in a batch as a grid": "Mostrar vistas previas de todas las imágenes generadas en un batch como un grid",
"Show grid in results for web": "Mostrar grids en resultados para web",
"Do not show any images in results for web": "No mostrar ninguna imagen en los resultados para web",
"Add model hash to generation information": "Agregar hash de modelo a la información de generación",
"Add model name to generation information": "Agregar nombre de modelo a la información de generación",
"When reading generation parameters from text into UI (from PNG info or pasted text), do not change the selected model/checkpoint.": "Al leer los parámetros de generación del texto en la interfaz de usuario (desde PNG Info o texto pegado), no cambia el modelo/checkpoint seleccionado.",
"Font for image grids that have text": "Tipografía para grids de imágenes que tienen texto",
"Enable full page image viewer": "Habilitar visor de imágenes de página completa",
"Show images zoomed in by default in full page image viewer": "Mostrar imágenes ampliadas de forma predeterminada en el visor de imágenes de página completa",
"Show generation progress in window title.": "Muestra el progreso de la generación en el título de la ventana del navegador.",
"Quicksettings list": "Lista de ajustes rápidos",
"Localization (requires restart)": "Traducción (requiere reiniciar)",
"Sampler parameters": "Parámetros sampler",
"Hide samplers in user interface (requires restart)": "Ocultar samplers en interfaz de usuario (requiere reiniciar)",
"eta (noise multiplier) for DDIM": "eta (noise multiplier) para DDIM",
"eta (noise multiplier) for ancestral samplers": "eta (noise multiplier) para ancestral samplers",
"img2img DDIM discretize": "img2img DDIM discretize",
"uniform": "uniform",
"quad": "quad",
"sigma churn": "sigma churn",
"sigma tmin": "sigma tmin",
"sigma noise": "sigma noise",
"Eta noise seed delta": "Eta noise seed delta",
"Request browser notifications": "Solicitar notificaciones del navegador",
"Download localization template": "Descargar plantilla de traducción",
"Reload custom script bodies (No ui updates, No restart)": "Recargar custom script bodies (Sin actualizar UI, Sin reiniciar)",
"Restart Gradio and Refresh components (Custom Scripts, ui.py, js and css only)": "Reiniciar Gradio y Refrescar componentes (Custom Scripts, ui.py, js y css)",
"Prompt (press Ctrl+Enter or Alt+Enter to generate)": "Prompt (presiona Ctrl+Enter o Alt+Enter para generar)",
"Negative prompt (press Ctrl+Enter or Alt+Enter to generate)": "Prompt negativo (presiona Ctrl+Enter o Alt+Enter para generar)",
"Add a random artist to the prompt.": "Agregar un artista aleatorio al prompt.",
"Read generation parameters from prompt or last generation if prompt is empty into user interface.": "Leer los parámetros de generación del prompt o de la última generación si el prompt está vacío en la interfaz de usuario.",
"Save style": "Guardar estilo",
"Apply selected styles to current prompt": "Aplicar estilos seleccionados al prompt",
"Stop processing current image and continue processing.": "Dejar de procesar la imagen actual y continuar procesando.",
"Stop processing images and return any results accumulated so far.": "Dejar de procesar imágenes y devuelva los resultados acumulados hasta el momento.",
"Style to apply; styles have components for both positive and negative prompts and apply to both": "Estilo a aplicar; los estilos tienen componentes tanto para prompts positivos como negativos y se aplican a ambos",
"Do not do anything special": "No hacer nada especial",
"Which algorithm to use to produce the image": "Qué algoritmo usar para producir la imagen",
"Euler Ancestral - very creative, each can get a completely different picture depending on step count, setting steps to higher than 30-40 does not help": "Euler Ancestral - muy creativo, cada uno puede obtener una imagen completamente diferente dependiendo del conteo de steps, configurar los steps a más de 30-40 no ayuda",
"Denoising Diffusion Implicit Models - best at inpainting": "Denoising Diffusion Implicit Models - funcionan mejor para inpainting",
"Produce an image that can be tiled.": "Produce una imagen que puede usarse como mosaico.",
"Use a two step process to partially create an image at smaller resolution, upscale, and then improve details in it without changing composition": "Usa un proceso de dos pasos para crear parcialmente una imagen con una resolución más pequeña, mejora la escala y luego mejora los detalles sin cambiar la composición",
"Determines how little respect the algorithm should have for image's content. At 0, nothing will change, and at 1 you'll get an unrelated image. With values below 1.0, processing will take less steps than the Sampling Steps slider specifies.": "Determina qué tan poco respeto debe tener el algoritmo por el contenido de la imagen. En 0, nada cambiará y en 1 obtendrá una imagen no relacionada. Con valores por debajo de 1.0, el procesamiento tomará menos steps de los que especifica el slider de Sampling Steps.",
"How many batches of images to create": "Cuantos batches de imágenes para crear",
"How many image to create in a single batch": "Cuantas imágenes para crear en un solo batch",
"Classifier Free Guidance Scale - how strongly the image should conform to prompt - lower values produce more creative results": "Classifier Free Guidance Scale - con qué fuerza debe ajustarse la imagen al prompt: los valores más bajos producen resultados más creativos",
"A value that determines the output of random number generator - if you create an image with same parameters and seed as another image, you'll get the same result": "Un valor que determina la salida del generador de números aleatorios: si creas una imagen con los mismos parámetros y el seed que otra imagen, obtendrás el mismo resultado",
"Set seed to -1, which will cause a new random number to be used every time": "Establece el seed a -1, lo que hará que se use un nuevo número aleatorio cada vez",
"Reuse seed from last generation, mostly useful if it was randomed": "Reutilice el seed de la última generación, muy útil si fue aleatoria",
"Seed of a different picture to be mixed into the generation.": "Seed de una imagen diferente para ser mezclada en la generación.",
"How strong of a variation to produce. At 0, there will be no effect. At 1, you will get the complete picture with variation seed (except for ancestral samplers, where you will just get something).": "Qué fuerte de una variación para producir. En 0, no habrá ningún efecto. En 1, obtendrá la imagen completa con variation seed (excepto para ancestral samplers, donde solo obtendrás algo).",
"Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution": "Intenta producir una imagen similar a la que se habría producido con el mismo seed a la resolución especificada",
"Separate values for X axis using commas.": "Separar valores para X usando comas.",
"Separate values for Y axis using commas.": "Separar valores para Y usando comas.",
"Write image to a directory (default - log/images) and generation parameters into csv file.": "Escribe la imagen en un directorio (predeterminado: log/images) y los parámetros de generación en el archivo csv.",
"Open images output directory": "Abrir directorio de imágenes",
"How much to blur the mask before processing, in pixels.": "Cuánto blur al mask antes de procesar, en píxeles.",
"What to put inside the masked area before processing it with Stable Diffusion.": "Qué poner dentro del área con mask antes de procesarlo con Stable Diffusion.",
"fill it with colors of the image": "rellenarlo con los colores de la imagen",
"keep whatever was there originally": "mantener lo que estaba allí originalmente",
"fill it with latent space noise": "rellenarlo con latent space noise",
"fill it with latent space zeroes": "rellenarlo con latent space zeroes",
"Upscale masked region to target resolution, do inpainting, downscale back and paste into original image": "Upscale la región con mask a la resolución objetivo, vuelve a pintar, reduce la escala hacia atrás y pégala en la imagen original",
"Resize image to target resolution. Unless height and width match, you will get incorrect aspect ratio.": "Cambia el tamaño de la imagen a la resolución destino. A menos que la altura y el ancho coincidan, obtendrás una relación de aspecto incorrecta.",
"Resize the image so that entirety of target resolution is filled with the image. Crop parts that stick out.": "Cambia el tamaño de la imagen para que la totalidad de la resolución destino se llene con la imagen. Recorta las partes que sobresalen.",
"Resize the image so that entirety of image is inside target resolution. Fill empty space with image's colors.": "Cambia el tamaño de la imagen para que la totalidad de la imagen esté dentro de la resolución de destino. Rellena el espacio vacío con los colores de la imagen.",
"How many times to repeat processing an image and using it as input for the next iteration": "Cuántas veces repetir el procesamiento de una imagen y usarla como entrada para la próxima iteración",
"In loopback mode, on each loop the denoising strength is multiplied by this value. <1 means decreasing variety so your sequence will converge on a fixed picture. >1 means increasing variety so your sequence will become more and more chaotic.": "En modo loopback, en cada bucle, la fuerza de eliminación de ruido se multiplica por este valor. <1 significa variedad decreciente, por lo que su secuencia convergerá en una imagen fija. >1 significa aumentar la variedad, por lo que su secuencia se volverá cada vez más caótica.",
"For SD upscale, how much overlap in pixels should there be between tiles. Tiles overlap so that when they are merged back into one picture, there is no clearly visible seam.": "Para SD upscale, cuánta superposición en píxeles debe haber entre mosaicos. Los mosaicos se superponen de modo que cuando se fusionan nuevamente en una imagen, no hay una unión claramente visible.",
"A directory on the same machine where the server is running.": "Un directorio en la misma máquina donde se ejecuta el servidor.",
"Leave blank to save images to the default path.": "Déjalo en blanco para guardar las imágenes en la ruta predeterminada.",
"Result = A * (1 - M) + B * M": "Resultado = A * (1 - M) + B * M",
"Result = A + (B - C) * M": "Resultado = A + (B - C) * M",
"1st and last digit must be 1. ex:'1, 2, 1'": "Primer y último dígito debe ser 1. ej:'1, 2, 1'",
"Path to directory with input images": "Ruta al directorio con imágenes de entrada",
"Path to directory where to write outputs": "Ruta al directorio donde escribir salidas",
"Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.": "Usa las siguientes etiquetas para definir cómo se eligen los nombres de archivo para las imágenes: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; dejar vacío para utilizar predeterminados.",
"If this option is enabled, watermark will not be added to created images. Warning: if you do not add watermark, you may be behaving in an unethical manner.": "Si esta opción está habilitada, el watermark no se agregará a las imágenes creadas. Advertencia: si no agregas un watermark, es posible que te estés comportando de manera poco ética.",
"Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; leave empty for default.": "Usa las siguiente etiquetas para definir cómo los subdirectorios para imágenes y grids son seleccionados: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime<Format>], [datetime<Format><Time Zone>], [job_timestamp]; dejar vacío para utilizar predeterminados.",
"Restore low quality faces using GFPGAN neural network": "Restaurar rostros de baja calidad utilizando GFPGAN neural network",
"This regular expression will be used extract words from filename, and they will be joined using the option below into label text used for training. Leave empty to keep filename text as it is.": "Esta expresión regular se usará para extraer palabras del nombre de archivo y se unirán usando la opción a continuación en el texto de la etiqueta que se usa para el entrenamiento. Dejar vacío para mantener el texto del nombre de archivo tal como está.",
"This string will be used to join split words into a single line if the option above is enabled.": "Esta cadena se usará para unir palabras divididas en una sola línea si la opción anterior está habilitada.",
"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.": "Lista de nombres de configuración, separados por comas, para configuraciones que deben ir a la barra de acceso rápido en la parte superior, en lugar de la pestaña de configuración habitual. Ver modules/shared.py para configurar los nombres. Requiere reiniciar para aplicar.",
"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.": "Si este valor no es cero, se agregará al seed y se usará para inicializar RNG para ruidos cuando se usan samplers con Eta. Puedes usar esto para producir aún más variaciones de imágenes, o puedes usar esto para hacer coincidir imágenes de otro software si sabes lo que estás haciendo."
}
......@@ -45,7 +45,7 @@ def enable_tf32():
errors.run(enable_tf32, "Enabling TF32")
device = device_interrogate = device_gfpgan = device_bsrgan = device_esrgan = device_scunet = device_codeformer = None
device = device_interrogate = device_gfpgan = device_swinir = device_esrgan = device_scunet = device_codeformer = None
dtype = torch.float16
dtype_vae = torch.float16
......@@ -81,3 +81,7 @@ def autocast(disable=False):
return contextlib.nullcontext()
return torch.autocast("cuda")
# MPS workaround for https://github.com/pytorch/pytorch/issues/79383
def mps_contiguous(input_tensor, device): return input_tensor.contiguous() if device.type == 'mps' else input_tensor
def mps_contiguous_to(input_tensor, device): return mps_contiguous(input_tensor, device).to(device)
......@@ -190,7 +190,7 @@ def upscale_without_tiling(model, img):
img = img[:, :, ::-1]
img = np.ascontiguousarray(np.transpose(img, (2, 0, 1))) / 255
img = torch.from_numpy(img).float()
img = img.unsqueeze(0).to(devices.device_esrgan)
img = devices.mps_contiguous_to(img.unsqueeze(0), devices.device_esrgan)
with torch.no_grad():
output = model(img)
output = output.squeeze().float().cpu().clamp_(0, 1).numpy()
......
......@@ -16,7 +16,7 @@ from PIL import Image, ImageFont, ImageDraw, PngImagePlugin
from fonts.ttf import Roboto
import string
from modules import sd_samplers, shared
from modules import sd_samplers, shared, script_callbacks
from modules.shared import opts, cmd_opts
LANCZOS = (Image.Resampling.LANCZOS if hasattr(Image, 'Resampling') else Image.LANCZOS)
......@@ -344,7 +344,10 @@ class FilenameGenerator:
time_datetime = datetime.datetime.now()
time_format = args[0] if len(args) > 0 else self.default_time_format
try:
time_zone = pytz.timezone(args[1]) if len(args) > 1 else None
except pytz.exceptions.UnknownTimeZoneError as _:
time_zone = None
time_zone_time = time_datetime.astimezone(time_zone)
try:
......@@ -474,8 +477,10 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
if forced_filename is None:
if short_filename or seed is None:
file_decoration = ""
else:
elif opts.save_to_dirs:
file_decoration = opts.samples_filename_pattern or "[seed]"
else:
file_decoration = opts.samples_filename_pattern or "[seed]-[prompt_spaces]"
add_number = opts.save_images_add_number or file_decoration == ''
......@@ -536,6 +541,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
else:
txt_fullfn = None
script_callbacks.image_saved_callback(image, p, fullfn, txt_fullfn)
return fullfn, txt_fullfn
......
import sys
import traceback
from collections import namedtuple
import inspect
def report_exception(c, job):
print(f"Error executing callback {job} for {c.script}", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
ScriptCallback = namedtuple("ScriptCallback", ["script", "callback"])
callbacks_model_loaded = []
callbacks_ui_tabs = []
callbacks_ui_settings = []
callbacks_image_saved = []
def clear_callbacks():
callbacks_model_loaded.clear()
callbacks_ui_tabs.clear()
callbacks_image_saved.clear()
def model_loaded_callback(sd_model):
for callback in callbacks_model_loaded:
callback(sd_model)
for c in callbacks_model_loaded:
try:
c.callback(sd_model)
except Exception:
report_exception(c, 'model_loaded_callback')
def ui_tabs_callback():
res = []
for callback in callbacks_ui_tabs:
res += callback() or []
for c in callbacks_ui_tabs:
try:
res += c.callback() or []
except Exception:
report_exception(c, 'ui_tabs_callback')
return res
def ui_settings_callback():
for callback in callbacks_ui_settings:
callback()
for c in callbacks_ui_settings:
try:
c.callback()
except Exception:
report_exception(c, 'ui_settings_callback')
def add_callback(callbacks, fun):
stack = [x for x in inspect.stack() if x.filename != __file__]
filename = stack[0].filename if len(stack) > 0 else 'unknown file'
callbacks.append(ScriptCallback(filename, fun))
def image_saved_callback(image, p, fullfn, txt_fullfn):
for callback in callbacks_image_saved:
callback(image, p, fullfn, txt_fullfn)
def on_model_loaded(callback):
"""register a function to be called when the stable diffusion model is created; the model is
passed as an argument"""
callbacks_model_loaded.append(callback)
add_callback(callbacks_model_loaded, callback)
def on_ui_tabs(callback):
......@@ -44,10 +76,15 @@ def on_ui_tabs(callback):
title is tab text displayed to user in the UI
elem_id is HTML id for the tab
"""
callbacks_ui_tabs.append(callback)
add_callback(callbacks_ui_tabs, callback)
def on_ui_settings(callback):
"""register a function to be called before UI settings are populated; add your settings
by using shared.opts.add_option(shared.OptionInfo(...)) """
callbacks_ui_settings.append(callback)
def on_save_imaged(callback):
"""register a function to call after modules.images.save_image is called returning same values, original image and p """
callbacks_image_saved.append(callback)
......@@ -54,9 +54,8 @@ class UpscalerScuNET(modules.upscaler.Upscaler):
img = img[:, :, ::-1]
img = np.moveaxis(img, 2, 0) / 255
img = torch.from_numpy(img).float()
img = img.unsqueeze(0).to(device)
img = devices.mps_contiguous_to(img.unsqueeze(0), device)
img = img.to(device)
with torch.no_grad():
output = model(img)
output = output.squeeze().float().cpu().clamp_(0, 1).numpy()
......
......@@ -228,7 +228,7 @@ class VanillaStableDiffusionSampler:
unconditional_conditioning = {"c_concat": [image_conditioning], "c_crossattn": [unconditional_conditioning]}
samples = self.launch_sampling(steps, lambda: self.sampler.decode(x1, conditioning, t_enc, unconditional_guidance_scale=p.cfg_scale, unconditional_conditioning=unconditional_conditioning))
samples = self.launch_sampling(t_enc + 1, lambda: self.sampler.decode(x1, conditioning, t_enc, unconditional_guidance_scale=p.cfg_scale, unconditional_conditioning=unconditional_conditioning))
return samples
......@@ -429,7 +429,7 @@ class KDiffusionSampler:
self.model_wrap_cfg.init_latent = x
self.last_latent = x
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, xi, extra_args={
samples = self.launch_sampling(t_enc + 1, lambda: self.func(self.model_wrap_cfg, xi, extra_args={
'cond': conditioning,
'image_cond': image_conditioning,
'uncond': unconditional_conditioning,
......
......@@ -58,7 +58,7 @@ parser.add_argument("--opt-split-attention", action='store_true', help="force-en
parser.add_argument("--opt-split-attention-invokeai", action='store_true', help="force-enables InvokeAI's cross-attention layer optimization. By default, it's on when cuda is unavailable.")
parser.add_argument("--opt-split-attention-v1", action='store_true', help="enable older version of split attention optimization that does not consume all the VRAM it can find")
parser.add_argument("--disable-opt-split-attention", action='store_true', help="force-disables cross-attention layer optimization")
parser.add_argument("--use-cpu", nargs='+',choices=['all', 'sd', 'interrogate', 'gfpgan', 'bsrgan', 'esrgan', 'scunet', 'codeformer'], help="use CPU as torch device for specified modules", default=[], type=str.lower)
parser.add_argument("--use-cpu", nargs='+',choices=['all', 'sd', 'interrogate', 'gfpgan', 'swinir', 'esrgan', 'scunet', 'codeformer'], help="use CPU as torch device for specified modules", default=[], type=str.lower)
parser.add_argument("--listen", action='store_true', help="launch gradio with 0.0.0.0 as server name, allowing to respond to network requests")
parser.add_argument("--port", type=int, help="launch gradio with given server port, you need root/admin rights for ports < 1024, defaults to 7860 if available", default=None)
parser.add_argument("--show-negative-prompt", action='store_true', help="does not do anything", default=False)
......@@ -97,8 +97,8 @@ restricted_opts = [
"outdir_save",
]
devices.device, devices.device_interrogate, devices.device_gfpgan, devices.device_bsrgan, devices.device_esrgan, devices.device_scunet, devices.device_codeformer = \
(devices.cpu if any(y in cmd_opts.use_cpu for y in [x, 'all']) else devices.get_optimal_device() for x in ['sd', 'interrogate', 'gfpgan', 'bsrgan', 'esrgan', 'scunet', 'codeformer'])
devices.device, devices.device_interrogate, devices.device_gfpgan, devices.device_swinir, devices.device_esrgan, devices.device_scunet, devices.device_codeformer = \
(devices.cpu if any(y in cmd_opts.use_cpu for y in [x, 'all']) else devices.get_optimal_device() for x in ['sd', 'interrogate', 'gfpgan', 'swinir', 'esrgan', 'scunet', 'codeformer'])
device = devices.device
weight_load_location = None if cmd_opts.lowram else "cpu"
......
......@@ -7,8 +7,8 @@ from PIL import Image
from basicsr.utils.download_util import load_file_from_url
from tqdm import tqdm
from modules import modelloader
from modules.shared import cmd_opts, opts, device
from modules import modelloader, devices
from modules.shared import cmd_opts, opts
from modules.swinir_model_arch import SwinIR as net
from modules.swinir_model_arch_v2 import Swin2SR as net2
from modules.upscaler import Upscaler, UpscalerData
......@@ -42,7 +42,7 @@ class UpscalerSwinIR(Upscaler):
model = self.load_model(model_file)
if model is None:
return img
model = model.to(device)
model = model.to(devices.device_swinir)
img = upscale(img, model)
try:
torch.cuda.empty_cache()
......@@ -111,7 +111,7 @@ def upscale(
img = img[:, :, ::-1]
img = np.moveaxis(img, 2, 0) / 255
img = torch.from_numpy(img).float()
img = img.unsqueeze(0).to(device)
img = devices.mps_contiguous_to(img.unsqueeze(0), devices.device_swinir)
with torch.no_grad(), precision_scope("cuda"):
_, _, h_old, w_old = img.size()
h_pad = (h_old // window_size + 1) * window_size - h_old
......@@ -139,8 +139,8 @@ def inference(img, model, tile, tile_overlap, window_size, scale):
stride = tile - tile_overlap
h_idx_list = list(range(0, h - tile, stride)) + [h - tile]
w_idx_list = list(range(0, w - tile, stride)) + [w - tile]
E = torch.zeros(b, c, h * sf, w * sf, dtype=torch.half, device=device).type_as(img)
W = torch.zeros_like(E, dtype=torch.half, device=device)
E = torch.zeros(b, c, h * sf, w * sf, dtype=torch.half, device=devices.device_swinir).type_as(img)
W = torch.zeros_like(E, dtype=torch.half, device=devices.device_swinir)
with tqdm(total=len(h_idx_list) * len(w_idx_list), desc="SwinIR tiles") as pbar:
for h_idx in h_idx_list:
......
......@@ -515,3 +515,77 @@ img2maskimg, #img2maskimg > .h-60, #img2maskimg > .h-60 > div, #img2maskimg > .h
max-height: 480px !important;
min-height: 480px !important;
}
/* The following handles localization for right-to-left (RTL) languages like Arabic.
The rtl media type will only be activated by the logic in javascript/localization.js.
If you change anything above, you need to make sure it is RTL compliant by just running
your changes through converters like https://cssjanus.github.io/ or https://rtlcss.com/.
Then, you will need to add the RTL counterpart only if needed in the rtl section below.*/
@media rtl {
/* this part was manualy added */
:host {
direction: rtl;
}
.output-html:has(.performance), .gr-text-input {
direction: ltr;
}
.gr-radio, .gr-checkbox{
margin-left: 0.25em;
}
/* this part was automatically generated with few manual modifications */
.performance .time {
margin-right: unset;
margin-left: 0;
}
.justify-center.overflow-x-scroll {
justify-content: right;
}
.justify-center.overflow-x-scroll button:first-of-type {
margin-left: unset;
margin-right: auto;
}
.justify-center.overflow-x-scroll button:last-of-type {
margin-right: unset;
margin-left: auto;
}
#settings fieldset span.text-gray-500, #settings .gr-block.gr-box span.text-gray-500, #settings label.block span{
margin-right: unset;
margin-left: 8em;
}
#txt2img_progressbar, #img2img_progressbar, #ti_progressbar{
right: unset;
left: 0;
}
.progressDiv .progress{
padding: 0 0 0 8px;
text-align: left;
}
#lightboxModal{
left: unset;
right: 0;
}
.modalPrev, .modalNext{
border-radius: 3px 0 0 3px;
}
.modalNext {
right: unset;
left: 0;
border-radius: 0 3px 3px 0;
}
#imageARPreview{
left:unset;
right:0px;
}
#txt2img_skip, #img2img_skip{
right: unset;
left: 0px;
}
#context-menu{
box-shadow:-1px 1px 2px #CE6400;
}
.gr-box > div > div > input.gr-text-input{
right: unset;
left: 0.5em;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment