diff --git a/.gitignore b/.gitignore index 19aed4141..ddcab30e3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ __pycache__ /webui-user.bat /webui-user.sh /html/extensions.json -/javascript/themes.json +/html/themes.json node_modules pnpm-lock.yaml package-lock.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 609538753..6f601a162 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ - redesign action box to be uniform accross all themes - add pause option next to stop/skip - redesign progress bar +- enable more image formats + note: not all are understood by browser so previews and images may appear as blank + unless you have some browser extensions that can handle them + but they do get stored correctly. and cant beat raw quality of 32-bit tiff or psd :) ## Update for 05/30/2023 diff --git a/README.md b/README.md index 10cae8fdd..6b06f20df 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Below is partial list of all available parameters, run `webui --help` for the fu --upgrade Upgrade main repository to latest version, default: False --safe Run in safe mode with no user extensions -
![screenshot](javascript/black-orange.jpg)
+
![screenshot](html/black-orange.jpg)
## Notes diff --git a/javascript/black-orange.jpg b/html/black-orange.jpg similarity index 100% rename from javascript/black-orange.jpg rename to html/black-orange.jpg diff --git a/javascript/gradio-base.jpg b/html/gradio-base.jpg similarity index 100% rename from javascript/gradio-base.jpg rename to html/gradio-base.jpg diff --git a/javascript/gradio-default.jpg b/html/gradio-default.jpg similarity index 100% rename from javascript/gradio-default.jpg rename to html/gradio-default.jpg diff --git a/javascript/gradio-glass.jpg b/html/gradio-glass.jpg similarity index 100% rename from javascript/gradio-glass.jpg rename to html/gradio-glass.jpg diff --git a/javascript/gradio-monochrome.jpg b/html/gradio-monochrome.jpg similarity index 100% rename from javascript/gradio-monochrome.jpg rename to html/gradio-monochrome.jpg diff --git a/javascript/gradio-soft.jpg b/html/gradio-soft.jpg similarity index 100% rename from javascript/gradio-soft.jpg rename to html/gradio-soft.jpg diff --git a/javascript/roboto.ttf b/html/roboto.ttf similarity index 100% rename from javascript/roboto.ttf rename to html/roboto.ttf diff --git a/installer.py b/installer.py index 0669687f4..2bd69aa98 100644 --- a/installer.py +++ b/installer.py @@ -203,13 +203,16 @@ def update(folder): # clone git repository def clone(url, folder, commithash=None): if os.path.exists(folder): - if commithash is None: - return - current_hash = git('rev-parse HEAD', folder).strip() - if current_hash != commithash: - git('fetch', folder) - git(f'checkout {commithash}', folder) + if args.skip_update: return + if commithash is None: + update(folder) + else: + current_hash = git('rev-parse HEAD', folder).strip() + if current_hash != commithash: + git('fetch', folder) + git(f'checkout {commithash}', folder) + return else: log.info(f'Cloning repository: {url}') git(f'clone "{url}" "{folder}"') diff --git a/javascript/hints.js b/javascript/hints.js index e0fc63634..026836b67 100644 --- a/javascript/hints.js +++ b/javascript/hints.js @@ -1,18 +1,7 @@ -// mouseover tooltips for various UI elements +// HTML tooltips for various UI elements titles = { - 'Sampling steps': 'How many times to improve the generated image iteratively; higher values take longer; very low values can produce bad results', - 'Sampling method': 'Which algorithm to use to produce the image', - GFPGAN: 'Restore low quality faces using GFPGAN neural network', - 'Euler a': 'Euler Ancestral - very creative, each can get a completely different picture depending on step count, setting steps higher than 30-40 does not help', - DDIM: 'Denoising Diffusion Implicit Models - best at inpainting', - UniPC: 'Unified Predictor-Corrector Framework for Fast Sampling of Diffusion Models', - 'DPM adaptive': 'Ignores step count - uses a number of steps determined by the CFG and resolution', - - 'Batch count': 'How many batches of images to create (has no impact on generation performance or VRAM usage)', - 'Batch size': 'How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)', - 'CFG Scale': 'Classifier Free Guidance Scale - how strongly the image should conform to prompt - lower values produce more creative results', - Seed: "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", + // unicode icons '\u{1f3b2}\ufe0f': 'Set seed to -1, which will cause a new random number to be used every time', '\u267b\ufe0f': 'Reuse seed from last generation, mostly useful if it was randomed', '\u2199\ufe0f': 'Read generation parameters from prompt or last generation if prompt is empty into user interface.', @@ -27,90 +16,76 @@ titles = { '\u{1F9F3}': 'Apply selected styles to current prompt', '\u{1F6AE}': 'Clear prompt', '\u{1F310}': 'Show/hide extra networks', - - - + // strings + 'Sampling steps': 'How many times to improve the generated image iteratively; higher values take longer; very low values can produce bad results', + 'Sampling method': 'Which algorithm to use to produce the image', + 'GFPGAN': 'Restore low quality faces using GFPGAN neural network', + 'Euler a': 'Euler Ancestral - very creative, each can get a completely different picture depending on step count, setting steps higher than 30-40 does not help', + 'DDIM': 'Denoising Diffusion Implicit Models - best at inpainting', + 'UniPC': 'Unified Predictor-Corrector Framework for Fast Sampling of Diffusion Models', + 'DPM adaptive': 'Ignores step count - uses a number of steps determined by the CFG and resolution', + 'Batch count': 'How many batches of images to create (has no impact on generation performance or VRAM usage)', + 'Batch size': 'How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)', + 'CFG Scale': 'Classifier Free Guidance Scale - how strongly the image should conform to prompt - lower values produce more creative results', + 'Seed': "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", 'Inpaint a part of image': 'Draw a mask over an image, and the script will regenerate the masked area with content according to prompt', 'SD upscale': 'Upscale image normally, split result into tiles, improve each tile using img2img, merge whole image back', - 'Just resize': 'Resize image to target resolution. Unless height and width match, you will get incorrect aspect ratio.', 'Crop and resize': 'Resize the image so that entirety of target resolution is filled with the image. Crop parts that stick out.', 'Resize and fill': "Resize the image so that entirety of image is inside target resolution. Fill empty space with image's colors.", - 'Mask blur': 'How much to blur the mask before processing, in pixels.', 'Masked content': 'What to put inside the masked area before processing it with Stable Diffusion.', - fill: 'fill it with colors of the image', - original: 'keep whatever was there originally', + 'fill': 'fill it with colors of the image', + 'original': 'keep whatever was there originally', 'latent noise': 'fill it with latent space noise', 'latent nothing': 'fill it with latent space zeroes', 'Inpaint at full resolution': 'Upscale masked region to target resolution, do inpainting, downscale back and paste into original image', - 'Denoising strength': "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.", - - Skip: 'Stop processing current image and continue processing.', - Interrupt: 'Stop processing images and return any results accumulated so far.', - Save: 'Write image to a directory (default - log/images) and generation parameters into csv file.', - + 'Skip': 'Stop processing current image and continue processing.', + 'Interrupt': 'Stop processing images and return any results accumulated so far.', + 'Save': 'Write image to a directory (default - log/images) and generation parameters into csv file.', 'X values': 'Separate values for X axis using commas.', 'Y values': 'Separate values for Y axis using commas.', - - None: 'Do not do anything special', + 'None': 'Do not do anything special', 'Prompt matrix': 'Separate prompts into parts using vertical pipe character (|) and the script will create a picture for every combination of them (except for the first part, which will be present in all combinations)', 'X/Y/Z plot': 'Create grid(s) where images will have different parameters. Use inputs below to specify which parameters will be shared by columns and rows', 'Custom code': 'Run Python code. Advanced user only. Must run program with --allow-code for this to work', - 'Prompt S/R': 'Separate a list of words with commas, and the first word will be used as a keyword: script will search for this word in the prompt, and replace it with others', 'Prompt order': 'Separate a list of words with commas, and the script will make a variation of prompt with those words for their every possible order', - - Tiling: 'Produce an image that can be tiled.', + 'Tiling': 'Produce an image that can be tiled.', 'Tile overlap': '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.', - 'Variation seed': 'Seed of a different picture to be mixed into the generation.', 'Variation strength': '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).', 'Resize seed from height': 'Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution', 'Resize seed from width': 'Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution', - - Interrogate: 'Reconstruct prompt from existing image and put it into the prompt field.', - + '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_hash], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [model_name], [prompt_words], [date], [datetime], [datetime], [datetime