1
0
Fork 0
Commit Graph

1593 Commits

Author SHA1 Message Date
Sean Sube 7c67d595fb
add more misc logging 2023-11-06 08:48:35 -06:00
Sean Sube 408e3d725b
use regional noise sample, avoid very errors from large multipliers 2023-11-05 22:48:07 -06:00
Sean Sube 997891b255
fix coords and threshold 2023-11-05 22:19:55 -06:00
Sean Sube 2de4eb92b2
replace previous latents when region multiplier passes threshold 2023-11-05 21:41:40 -06:00
Sean Sube 05f63a32b7
flip and fix h/v coords for regions 2023-11-05 19:25:13 -06:00
Sean Sube 911f87f7ec
fix(api): only consume one retry per error 2023-11-05 19:23:42 -06:00
Sean Sube df8b4abc77
fix region regex 2023-11-05 17:46:28 -06:00
Sean Sube 1af6a75723
replace region mode with multiplier 2023-11-05 17:28:07 -06:00
Sean Sube ee2173405a
parse region coordinates 2023-11-05 16:38:43 -06:00
Sean Sube b365660adc
move more SDXL LoRA logs to trace level 2023-11-05 16:35:32 -06:00
Sean Sube baecb38343
fix region parsing 2023-11-05 16:25:48 -06:00
Sean Sube 8498252c75
parse region groups better 2023-11-05 16:06:49 -06:00
Sean Sube c3f4c52004
fix region prompt regex 2023-11-05 15:56:03 -06:00
Sean Sube 046803fc2b
lint(api): reduce log level during SDXL LoRA blending 2023-11-05 15:55:49 -06:00
Sean Sube 8ba9f3c0b7
basic region prompt parsing 2023-11-05 15:46:37 -06:00
Sean Sube 5cf7a39be0
feat(api): add experimental region prompts to SDXL panorama 2023-11-05 15:36:36 -06:00
Sean Sube e8d7d9a881
feat: split up UNet and VAE tile size and overlap/stride params 2023-11-04 20:41:58 -05:00
Sean Sube e9b1375440
fix(api): write tests for embedding/inversion blending 2023-10-06 19:04:48 -05:00
Sean Sube ebdfa78737
fix(api): allow PTH tensor files, add helper to check extension 2023-10-06 19:03:15 -05:00
Sean Sube 1351b2f3ff
fix(api): allow SDXL VAE in any supported tensor format, ensure new SDXL models get hash file 2023-10-06 19:01:00 -05:00
Sean Sube 047e58c916
fix(api): continue adding tests, fix bugs encountered 2023-09-28 18:45:04 -05:00
Sean Sube 23aa00d696
start testing pipeline loading 2023-09-25 21:57:25 -05:00
Sean Sube fc02fa6be1
fix(api): blend embeddings into second tokenizer/text encoder for SDXL 2023-09-25 18:24:16 -05:00
Sean Sube e338fcd0e0
lint(api): start renaming inversions to embeddings in code 2023-09-24 18:15:58 -05:00
Sean Sube cdb09d2b44
fix variable name 2023-09-24 18:05:48 -05:00
Sean Sube e1c2ae5b1b
serialize models before loading 2023-09-24 18:04:23 -05:00
Sean Sube a3a04fd1f4
clean up text encoder loading logic, deduplicate sessions 2023-09-24 18:01:56 -05:00
Sean Sube 85b4245cef
fix text encoder loading 2023-09-24 15:02:39 -05:00
Sean Sube 0ecae65f88
fix(api): set VAE attn processor during conversion 2023-09-24 15:02:21 -05:00
Sean Sube a79d835193
fix(api): remove still-random seed from stage kwargs 2023-09-24 10:12:19 -05:00
Sean Sube 5ffe8b26fa
fix(api): increase max tile size for output and grid stages to max 2023-09-24 10:11:52 -05:00
Sean Sube 539140909b
fix XL text encoder loading 2023-09-24 10:04:44 -05:00
Sean Sube 5d3a7d77a5
fix(api): use Torch pipelines while loading models for conversion 2023-09-24 10:04:21 -05:00
Sean Sube c99481f484
fix(api): load replacement VAE from single file for SD v1/v2 2023-09-24 09:49:50 -05:00
Sean Sube 56f19256b5
fix(api): correctly load text encoder 2 and VAE without LoRAs 2023-09-24 09:49:16 -05:00
Sean Sube d11b37f0b2
move text encoder 2 loading 2023-09-23 22:59:41 -05:00
Sean Sube 6b6f63564e
lint(api): start breaking down model loading 2023-09-23 20:11:05 -05:00
Sean Sube 52fdf4f48a
fix(api): test LoRA blending code 2023-09-21 18:24:08 -05:00
Sean Sube d48dbf7d6e
fix(api): enable Unet patch for SDXL 2023-09-20 19:28:34 -05:00
Sean Sube af6cb1f295
more lint 2023-09-15 19:22:53 -05:00
Sean Sube 963794abaa
lint, tests 2023-09-15 19:16:47 -05:00
Sean Sube a71298ff33
remove unused schema, lint 2023-09-15 08:40:56 -05:00
Sean Sube b851c234fe
more tests 2023-09-14 19:35:48 -05:00
Sean Sube bbff1913ef
fix(api): do not apply prompt expansion patch to SDXL 2023-09-13 22:09:41 -05:00
Sean Sube 4d0e24a47b
fix request log keys 2023-09-13 22:06:12 -05:00
Sean Sube e034ebfc13
add a bunch of tests 2023-09-13 22:03:39 -05:00
Sean Sube a33c88e670
fix(api): make request parsing consistent between JSON and forms 2023-09-13 17:27:44 -05:00
Sean Sube 8a5e211172
lint(api): deduplicate some imports 2023-09-13 17:27:05 -05:00
Sean Sube e7aad281b0
fix(api): only remove one retry after each tile failure 2023-09-13 17:26:43 -05:00
Sean Sube 07bea84155
syntax fix 2023-09-13 08:44:57 -05:00
Sean Sube 505e408dd6
use pipeline output count 2023-09-13 08:43:31 -05:00
Sean Sube 0a5f725efa
apply lint 2023-09-12 19:17:03 -05:00
Sean Sube 7d8819ef87
add default parameters to chain pipeline 2023-09-12 19:06:13 -05:00
Sean Sube f9acf9b50f
fix(api): report chain progress using a new callback if none was provided 2023-09-12 18:19:07 -05:00
Sean Sube 55ddb9fdac
feat(api): attempt to calculate total steps for chain pipelines 2023-09-12 18:16:16 -05:00
Sean Sube 4ccdedba89
set model path for VAE sessions 2023-09-12 07:32:29 -05:00
Sean Sube d4b013068d
fix(api): ensure VAE is loaded on correct device 2023-09-12 07:21:35 -05:00
Sean Sube fd8b9bef3b
fix type check 2023-09-11 20:47:03 -05:00
Sean Sube cf2cf51b17
fix(api): resolve XL VAE within model folder 2023-09-11 20:21:43 -05:00
Sean Sube 6fb0366f52
feat(api): make tile retries configurable 2023-09-11 18:41:59 -05:00
Sean Sube cd06f9291b
add custom VAE and fp16 support to SDXL conversion 2023-09-11 18:18:38 -05:00
Sean Sube eeebdfebcb
set unlimited tile to large value, clarify variable names 2023-09-11 17:37:20 -05:00
Sean Sube 1247cb7307
super hacky multi tiling 2023-09-11 07:28:20 -05:00
Sean Sube 0047e1a12c
add size 2023-09-10 23:20:49 -05:00
Sean Sube b0df6247b2
synthesize order 2023-09-10 23:15:01 -05:00
Sean Sube feb9ea9e1a
fix order, parse right data, use output names 2023-09-10 23:06:00 -05:00
Sean Sube 51b10de265
pass initial device to chain 2023-09-10 22:46:06 -05:00
Sean Sube fb7a0996a8
wire up per stage params 2023-09-10 22:21:48 -05:00
Sean Sube dcc0063195
pass params per stage 2023-09-10 22:19:29 -05:00
Sean Sube c6302946c0
use existing output names in output stage 2023-09-10 21:52:45 -05:00
Sean Sube dc812a4e06
pass all output names to chain job 2023-09-10 21:44:00 -05:00
Sean Sube 52521e5694
handle boolean values better 2023-09-10 21:25:23 -05:00
Sean Sube d0080c476d
read chain params per stage 2023-09-10 21:23:16 -05:00
Sean Sube 441a47a885
read chain params per stage 2023-09-10 21:21:57 -05:00
Sean Sube 93fe54577c
skip controlnet in chains for now, remove empty source image 2023-09-10 21:17:09 -05:00
Sean Sube 1fb965633e
read chain pipeline from JSON, remove new endpoint 2023-09-10 20:59:13 -05:00
Sean Sube 1a732d54b6
add endpoint for multiple image generation 2023-09-10 16:35:16 -05:00
Sean Sube 956a260db6
fix import 2023-09-10 12:15:39 -05:00
Sean Sube f2d0c2f765
apply lint 2023-09-10 11:53:36 -05:00
Sean Sube fe68670844
feat(api): add conversion for SDXL models 2023-09-10 11:52:46 -05:00
Sean Sube 78f834a678
apply lint 2023-09-10 11:26:55 -05:00
Sean Sube 0fa03e77ad
feat: add panorama pipeline for SDXL 2023-09-10 11:26:18 -05:00
BZLibby bea5a3c935 rebase diffuser change 2023-09-05 20:56:01 -05:00
Sean Sube 761ee05134
apply lint 2023-09-05 17:36:17 -05:00
Sean Sube edfd059b46
remove SDXL inpaint import 2023-09-05 17:05:27 -05:00
Sean Sube 540864c3a8
fix initial tile size for XL 2023-09-04 21:21:09 -05:00
Sean Sube bb9cda58ad
apply lint 2023-09-04 21:21:06 -05:00
Sean Sube 2047f7d8cf
pass XL components as ORT sessions 2023-09-04 21:21:00 -05:00
Sean Sube 9999a1bf56
add support for XL inpainting pipeline 2023-09-04 21:20:57 -05:00
Sean Sube 1d5ac7dde5
optimize XL LoRA node matching 2023-09-04 21:20:54 -05:00
Sean Sube 5e5915c3ff
pass latents again 2023-09-04 21:20:48 -05:00
Sean Sube 8ce09d307b
feat(api): allow a different prompt for each highres stage 2023-09-04 21:20:45 -05:00
Sean Sube 6b31075616
fix(api): override pipeline models if pipeline ignored components 2023-09-04 21:20:42 -05:00
Sean Sube ea9023c2eb
fix(api): only run SDXL LoRA node matching on XL models 2023-09-04 21:20:39 -05:00
Sean Sube ecac0d5770
apply lint 2023-09-04 21:20:33 -05:00
Sean Sube bbacfd1ca0
feat(api): support for SDXL LoRAs 2023-09-04 21:20:30 -05:00
Sean Sube 0ad250251e
feat(api): add an experimental multi-prompt syntax 2023-09-04 21:20:27 -05:00
Sean Sube 2c8ba67ecb
make highres work with SDXL and use a full-size txt2img stage 2023-09-04 21:20:23 -05:00
Sean Sube ee430a962b
fixes for optimum 2023-09-04 21:20:16 -05:00
Sean Sube 404a314050
lint(api): add typed errors from cancelled job and download error 2023-09-04 21:20:04 -05:00
Sean Sube 44004730ea
skip loading component models for XL 2023-09-04 21:20:01 -05:00
Sean Sube 273ace7693
add helper method to get max size 2023-09-04 21:19:57 -05:00
Sean Sube 3b6eb6c43b
apply lint 2023-09-04 21:19:52 -05:00
Sean Sube 440e47f736
fix(api): defer txt2img tiling to panorama pipeline when selected 2023-09-04 21:19:45 -05:00
Sean Sube d94a8d6f6e
fix(api): avoid padding latents when they are not being tiled 2023-09-04 21:19:42 -05:00
Sean Sube 944c92b824
fix(api): ensure panorama never generates a negative number of views 2023-09-04 21:19:39 -05:00
Sean Sube 8e1f188d8f
fix(api): pass replacement VAE to diffusers conversion 2023-09-04 21:19:36 -05:00
Sean Sube f73dce507c
fix(models): update attn parameter name in CNet 2023-09-04 21:19:31 -05:00
Sean Sube 0fafc71ec8
add XL pipelines to list of valid options 2023-09-04 21:19:28 -05:00
Sean Sube b1a554e1a7
fix import 2023-09-04 21:19:24 -05:00
Sean Sube a201a74b40
add SDXL pipelines to list 2023-09-04 21:19:20 -05:00
Sean Sube dc9048c76f
fix(api): use correct case for PNG metadata 2023-08-02 17:43:17 -05:00
Sean Sube 079d4aa602
feat(gui): load and parse most parameters from image, text, or json 2023-07-19 22:42:49 -05:00
Sean Sube c506fe1e9f
make sure job is always defined, remove unused placeholders from logs 2023-07-17 22:46:02 -05:00
Sean Sube 01c7392a61
add helper to remove NaN values in UNet output 2023-07-16 12:03:14 -05:00
Sean Sube 8d6ea63330
apply lint 2023-07-16 10:55:12 -05:00
Sean Sube cac4c138b2
remove unused param 2023-07-16 10:46:26 -05:00
Sean Sube 9f9ef8878d
apply lint 2023-07-15 19:01:06 -05:00
Sean Sube c52ee7da4d
lint(api): replace deprecated warn method when logging 2023-07-15 19:00:52 -05:00
Sean Sube dfe9f6ee44
fix(api): split up worker name and job name to avoid logging false failures 2023-07-15 19:00:20 -05:00
Sean Sube 7f099c02e5
reset retries with each new job 2023-07-15 18:55:38 -05:00
Sean Sube b31f546516
lint(api): use more accurate worker name throughout 2023-07-15 18:54:54 -05:00
Sean Sube ada482c183
add and use retry exception type 2023-07-15 17:05:27 -05:00
Sean Sube 1942c45789
apply lint 2023-07-15 16:55:52 -05:00
Sean Sube c7e1fce557
clear model cache on stage errors 2023-07-15 12:33:07 -05:00
Sean Sube 822dfeab01
only remove retries when an error occurs 2023-07-15 12:26:37 -05:00
Sean Sube 4f0c6d292d
exit from chain pipeline when retries are exhausted 2023-07-15 12:18:25 -05:00
Sean Sube 7761aea28b
share retries throughout pipeline 2023-07-15 11:20:25 -05:00
Sean Sube d418cb1bc2
run GC during stage retries 2023-07-15 11:00:06 -05:00
Sean Sube caa96ed645
apply lint 2023-07-15 09:26:39 -05:00
Sean Sube 0a701c8d6c
add retry to stage loop 2023-07-15 09:12:37 -05:00
Sean Sube eebbd8e7c7
apply lint 2023-07-13 07:35:20 -05:00
BZLibby 5ecc874c70 fix wildcard scripts to work on windows 2023-07-13 05:19:13 -07:00
Sean Sube cf95ad2f0e
fix(api): match size of existing latent patch 2023-07-12 22:02:05 -05:00
Sean Sube 3d4c77d5d0
fix(api): generate new latents for partial tiles 2023-07-12 22:00:11 -05:00
Sean Sube 4b8358b0c9
Merge remote-tracking branch 'hoopyfreud/main' 2023-07-12 21:59:39 -05:00
HoopyFreud 6fee7f418d
Merge branch 'main' into main 2023-07-12 21:55:44 -04:00
HoopyFreud 7d9f93c7ea
Update run.py
Fixed full_res_inpaint check when combined with border zero check
2023-07-12 20:42:04 -04:00
Sean Sube 5df9aa2af7
feat(api): load wildcards from markup files 2023-07-12 18:56:48 -05:00
Sean Sube 865b25e6d7
feat(api): support wildcards in nested folders 2023-07-11 22:29:48 -05:00
HoopyFreud 1ecc4969de linting 2023-07-10 23:24:36 -04:00
HoopyFreud bf7a1089d3 forgot to save 2023-07-10 23:24:05 -04:00
HoopyFreud 3c1fa6094e full-res inptaining as parameters 2023-07-10 23:16:17 -04:00
HoopyFreud 58b5d18608 better mask shifting 2023-07-10 22:22:08 -04:00
HoopyFreud 9b630f97ee
Merge branch 'ssube:main' into main 2023-07-10 20:02:32 -04:00
Sean Sube 1a084eba1c
apply lint 2023-07-10 17:48:26 -05:00
Sean Sube d9dd1e4b57
fix(api): improve handling of non-square images around tile size 2023-07-10 17:41:08 -05:00
HoopyFreud b9f1e7acc1 added shifting for near-border full-res inpaint 2023-07-10 10:24:39 -04:00
HoopyFreud 2b4f640711 wrong check. don't code while sleepy. 2023-07-10 02:33:13 -04:00
HoopyFreud e37a7fe92f syntax error 2023-07-10 02:32:02 -04:00
HoopyFreud b1347ed1cc added border integrity check 2023-07-10 02:15:46 -04:00
HoopyFreud b9603faccd full-res inpaint 2023-07-10 02:02:30 -04:00
Sean Sube 95cad909fc
use tile size when completing partial latents 2023-07-09 23:49:34 -05:00
Sean Sube 8acfaaa1ee
ensure tiled latents are correct shape 2023-07-09 22:45:51 -05:00
Sean Sube da6f00d2a5
prevent latent tiles from going out of bounds 2023-07-09 22:35:15 -05:00
Sean Sube 76bed9582b
fixes for txt2img 2023-07-09 22:28:23 -05:00
Sean Sube 60aa8ab4c0
fix(api): generate latents before tiling 2023-07-09 22:19:40 -05:00
HoopyFreud c15f750821
Merge pull request #1 from HoopyFreud/main
Update to latest code
2023-07-09 14:59:58 -04:00
HoopyFreud e1d3821792
Update base.py
Updated logging for stage run
2023-07-09 14:31:11 -04:00
HoopyFreud 75a22cc51b
Merge branch 'main' into main 2023-07-09 14:13:54 -04:00
HoopyFreud 925c740ddf
Merge branch 'main' into tiled-inpaint 2023-07-09 14:12:51 -04:00
HoopyFreud ed03222234
Update tile.py
Fixed extra noise source imports
2023-07-09 14:11:25 -04:00
Sean Sube 2cc4feefe9
fix(api): save prompt with wildcards replaced in EXIF data 2023-07-09 11:51:14 -05:00
HoopyFreud 306f7e9989 linting 2023-07-09 01:02:27 -04:00
HoopyFreud 08172a7236 new tiled inpainting method 2023-07-09 00:56:20 -04:00
HoopyFreud 3fbf9baae6 linting 2023-07-08 21:30:54 -04:00
HoopyFreud 80e124554d
Update tile.py
Accommodated no-source tiles better
2023-07-08 21:27:28 -04:00
HoopyFreud 757fb0d6a8
Update run.py
Added variable overlap to txt2img
2023-07-08 21:26:45 -04:00
HoopyFreud 2d24ed8ff8 tiling in txt2img, subtiling in txt2img and img2img 2023-07-08 20:48:40 -04:00
HoopyFreud 098873b89c
Merge branch 'main' into main 2023-07-08 10:18:19 -04:00
HoopyFreud 8085015d2a linted 2023-07-08 10:17:35 -04:00
HoopyFreud 332946d8d5
Update tile.py
Fixed logging
2023-07-08 10:03:06 -04:00
HoopyFreud 05e8addb06
Update tile.py
Update spiral tiling
2023-07-06 22:46:36 -04:00
HoopyFreud cecee8653b
Update run.py
Use overlap in img2img
2023-07-06 22:46:03 -04:00
HoopyFreud 36b94bac82
Update params.py
Change default tiling
2023-07-06 22:44:53 -04:00
Sean Sube f7fc442ba5
fix(api): keep network tokens while replacing wildcards in the saved prompt 2023-07-06 21:16:51 -05:00
Sean Sube b8c0bb03e8
apply lint 2023-07-06 18:46:21 -05:00
Sean Sube e65de8115e
feat(api): do not repeat wildcard values 2023-07-06 18:10:08 -05:00
Sean Sube 818d222ff8
apply lint 2023-07-05 23:05:47 -05:00
Sean Sube 17a710197c
feat(api): ignore comments and empty lines in wildcard files 2023-07-05 23:04:11 -05:00
Sean Sube 15c26cd74b
fix(api): remove tile size limit for img2img and outpaint stages 2023-07-05 17:16:30 -05:00
Sean Sube 3798ea77e7
fix(api): collect final images from SD upscale stage 2023-07-05 08:22:29 -05:00
Sean Sube fed4315095
fix(api): remove unintentional tuple in img2img pipe 2023-07-05 06:50:33 -05:00
Sean Sube c0dd4e96dc
fix(api): handle panoramic outpainting output 2023-07-04 20:44:48 -05:00
Sean Sube 0b5f554cf4
re-parse input prompt before saving metadata 2023-07-04 20:13:45 -05:00
Sean Sube 42e6f356a9
fix(api): unwrap results of img2img chain 2023-07-04 18:48:07 -05:00
Sean Sube 10050263bf
create batch size latents 2023-07-04 17:27:10 -05:00
Sean Sube 89dbf81335
fix(api): pass batch size and eta params to txt2img stage 2023-07-04 17:24:37 -05:00
Sean Sube 17b90ef2d7
use correct pipeline output 2023-07-04 17:14:25 -05:00
Sean Sube ac55fbd7d0
replace wildcards properly 2023-07-04 17:12:10 -05:00
Sean Sube a3f6fca989
init wildcards as dict 2023-07-04 16:57:44 -05:00
Sean Sube 933ee50375
load wildcards from models subdir 2023-07-04 16:56:39 -05:00
Sean Sube ec4662690f
use extension when loading wildcards 2023-07-04 16:55:26 -05:00
Sean Sube fa3a36ed25
fix(api): replace unknown wildcards with empty string 2023-07-04 16:54:17 -05:00
Sean Sube c8a9dd4475
feat(api): add support for wildcards 2023-07-04 16:41:54 -05:00
Sean Sube b816307994
fix(api): send tile filters as correct type 2023-07-04 16:40:02 -05:00
Sean Sube 6425a91fe3
fix(api): support multiple outputs from txt2img stage 2023-07-04 16:24:47 -05:00
Sean Sube 7c1b85f793
fix(api): define tile size for logging 2023-07-04 16:22:24 -05:00
Sean Sube 99a073aed2
update API entrypoints for multi-image 2023-07-04 13:56:02 -05:00
Sean Sube e1fcbb9093
start updating chain logic for multiple outputs 2023-07-04 13:47:31 -05:00
Sean Sube 37185252a5
feat(api): make pipeline stages support multiple images 2023-07-04 13:29:58 -05:00
Sean Sube f718087a54
lint(api): make chain pipeline logs more consistent 2023-07-04 12:27:17 -05:00
Sean Sube d1ecef9f2e
apply lint 2023-07-04 12:09:46 -05:00
Sean Sube 6ec7777f77
lint(api): type fixes and hints throughout 2023-07-04 10:20:28 -05:00
Sean Sube 5d13629ee8
fix(api): log number of tiles contributing to each image pixel 2023-07-03 11:39:48 -05:00
Sean Sube ed953f518a
feat(api): apply overlap to highres upscaling stage 2023-07-03 11:34:17 -05:00
Sean Sube 47b10945ff
fix(api): use consistent cache key for each model type 2023-07-03 11:33:56 -05:00
Sean Sube a9fa76737e
fix(api): pass strength to LPW pipe from img2img blend 2023-07-03 08:27:37 -05:00
Sean Sube 3653723742
lint(api): move tile gradient logs to debug level 2023-07-03 08:05:57 -05:00
Sean Sube 197dc48b06
fix(api): make img2img blend work with LPW 2023-07-03 08:05:30 -05:00
Sean Sube 12698d38eb
fix(api): remove inner loops in upscale stages 2023-07-02 20:38:52 -05:00
Sean Sube 99c91a301c
feat: make enabling highres a parameter of its own 2023-07-02 19:08:40 -05:00
Sean Sube 3edf5e6c4d
fix(api): handle unlimited size stages correctly 2023-07-02 18:57:11 -05:00
Sean Sube d8ec93a619
feat(api): pass tile size param to most pipeline stages 2023-07-02 18:54:10 -05:00
Sean Sube c515d25dd4
fix(api): use upscaling method param in highres 2023-07-02 18:45:22 -05:00
Sean Sube 8781f7fda0
fix(api): make tiling compatible with source stages 2023-07-02 18:31:47 -05:00
Sean Sube 2a9e4a24a3
lint(api): make all other stages inherit from base stage 2023-07-02 18:21:21 -05:00
Sean Sube c9a1ace40b
fix(api): tile stages based on input image or size param 2023-07-02 18:14:52 -05:00
Sean Sube d98ecc023d
fix(api): do not overlap upscale tiles during highres 2023-07-02 17:13:16 -05:00
Sean Sube a7be651032
fix(api): remove nested tiling in highres 2023-07-02 12:39:59 -05:00
Sean Sube eef055eddd
fix(api): log tile size and overlap 2023-07-02 05:15:01 -05:00
Sean Sube 4b84188f6e
fix(api): make panorama switch mode based on kwargs 2023-07-01 15:04:12 -05:00
Sean Sube db86108dc5
apply lint 2023-07-01 14:39:02 -05:00
Sean Sube 8dbecd6947
lint(api): avoid shadowing params var 2023-07-01 12:38:26 -05:00
Sean Sube 7736430fe7
fix(api): pass overlap params to tile calculation 2023-07-01 12:36:17 -05:00
Sean Sube 2913cd0382
feat(api): make chain stages into classes with max tile size and step count estimate 2023-07-01 12:33:14 -05:00
Sean Sube 5e1b70091c
feat(api): remove size restrictions on most pipelines 2023-07-01 12:33:04 -05:00
Sean Sube 934dabb39e
fix(api): pass mask and sources to blending pipeline in correct order 2023-07-01 12:32:39 -05:00
Sean Sube 5556478669
fix(api): pass upscale params to correction stages 2023-07-01 12:32:30 -05:00
Sean Sube d9f251c88b
fix(api): repair progress for API pipelines 2023-07-01 12:32:05 -05:00
Sean Sube 2d10252564
fix(api): use kwargs for chain stages 2023-07-01 12:31:59 -05:00
Sean Sube 7a73c9ff61
fix(api): pass additional params to new stages 2023-07-01 12:31:41 -05:00
Sean Sube 7a951065e4
# This is a combination of 3 commits.
# This is the 1st commit message:

pass size to txt2img stage

# This is the commit message #2:

pass highres and upscale params

# This is the commit message #3:

pass correct strength param
2023-07-01 12:30:53 -05:00
Sean Sube af416c252d
feat(api): make chain pipeline work without a source image 2023-07-01 12:30:43 -05:00
Sean Sube fd3e65eafc
feat(api): start using chain pipelines for all images 2023-07-01 12:30:30 -05:00
Sean Sube 7c8dc7a6b6
feat(api): create hash file for models without one 2023-06-27 08:17:21 -05:00
Sean Sube 16cf5bb863
fix(api): strip trailing newlines when reading hash from file 2023-06-27 07:33:23 -05:00
Sean Sube e3a458a736
feat(api): read model hash from file 2023-06-27 07:28:59 -05:00
Sean Sube 0029943c7d
fix(api): use diffusion model name without path when looking up hashes 2023-06-27 07:09:40 -05:00
Sean Sube 7cbb4197ba
fix(api): handle empty negative prompts in exif data 2023-06-26 21:38:55 -05:00
Sean Sube 062b1c47aa
feat(api): write model hashes to image exif 2023-06-26 17:24:34 -05:00
Sean Sube 003a350a6c
feat(api): include version number in logs 2023-06-26 17:24:03 -05:00
Sean Sube 01811abf5a
add loras to exif params 2023-06-26 07:48:39 -05:00
Sean Sube 14e920c6e1
add newlines to make params compatible 2023-06-26 07:24:25 -05:00
Sean Sube f142f83ad5
dump json parameters to str before writing to exif 2023-06-26 07:14:32 -05:00
Sean Sube 91c6c62159
remove unused output param 2023-06-26 07:06:31 -05:00
Sean Sube 7e21b9539e
feat(api): embed image parameters in EXIF data (#383) 2023-06-26 07:03:06 -05:00
Sean Sube 7db53a82df
fix(api): correctly handle sliced kernels 2023-06-17 14:51:58 -05:00
Sean Sube 1506f51ff4
fix(api): handle more SwinIR models 2023-06-16 21:53:49 -05:00
Sean Sube 12e489b761
fix(api): use correct tile size for highres upscaling 2023-06-16 21:22:00 -05:00
Sean Sube 5713957026
fix(api): keep kernel slices within bounds 2023-06-16 20:49:43 -05:00
Sean Sube c1a4484b75
apply lint 2023-06-16 20:43:28 -05:00
Sean Sube 719b34967f
fix(api): handle blending of mismatched kernels 2023-06-16 20:41:25 -05:00
Sean Sube f8d59ab65a
fix(api): swap dimensions for non-upscaling highres modes 2023-06-15 22:39:16 -05:00
Sean Sube 7b0bed7aea
fix(api): use tile size for all highres scaling methods 2023-06-14 22:52:56 -05:00
Sean Sube dcea248b7b
fix(api): skip prompt parsing patch when using LPW 2023-06-11 07:52:46 -05:00
Sean Sube d47dab8182
fix(api): make LPW pipeline valid again 2023-06-11 07:39:29 -05:00
Sean Sube 82a80bb60b
fix(api): ensure gradient points are always in order 2023-06-10 15:20:17 -05:00
Sean Sube ac2eceb0ac
fix(api): remove trailing space from param name 2023-06-10 11:54:33 -05:00
Sean Sube e64b813ac0
fix(api): pass inpaint param to checkpoint extraction 2023-06-10 11:52:25 -05:00
Sean Sube 665cf57a86
fix typo 2023-06-10 11:30:47 -05:00
HoopyFreud 22ff0be758 fix inpainting conversion via torch 2023-06-10 12:01:02 -04:00
Sean Sube 732b07eb46
fix(api): skip gradient blending when tiles do not overlap 2023-06-09 17:24:08 -05:00
Sean Sube f4d944acbe
apply lint 2023-06-08 07:20:19 -05:00
Sean Sube 3f00da9681
feat(api): add option for CPU-only conversion on systems with CUDA 2023-06-08 07:20:03 -05:00
Sean Sube 8215a1bf8a
fix(api): do not overlap tiles by default 2023-06-08 07:09:10 -05:00
Sean Sube 7ec2597afb
apply lint 2023-06-07 07:42:56 -05:00
Sean Sube b92853d438
fix(api): limit latent padding to tile size 2023-06-06 08:14:09 -05:00
Sean Sube 78e606b049
lint(api): move some progress messages to info level 2023-06-05 23:47:32 -05:00
Sean Sube 6b1ce37592
fix(api): pad partial latents when working with tiles 2023-06-05 23:44:42 -05:00
Sean Sube 2a160411a6
get type from ORT model 2023-06-05 23:26:11 -05:00
Sean Sube 6cb7ed58be
apply lint 2023-06-05 23:18:13 -05:00
Sean Sube 395a632946
fix(api): use VAE model dtype when converting sample 2023-06-05 23:16:34 -05:00
Sean Sube 6a09404243
disable histogram matching for now 2023-06-03 21:00:59 -05:00
Sean Sube 7a00d5d446
fix overlap factor 2023-06-03 20:56:56 -05:00
Sean Sube 1abd7060dc
remove second uint conversion 2023-06-03 20:46:46 -05:00
Sean Sube e79a157957
blend in float, paste results back into scratch texture 2023-06-03 20:38:16 -05:00
Sean Sube 55e5f73d20
apply lint 2023-06-03 20:35:33 -05:00
Sean Sube ec8f367316
use overlap param, apply to spiral tiling as well 2023-06-03 20:35:21 -05:00
Sean Sube e64be674ea
crop count layer 2023-06-03 14:02:58 -05:00
Sean Sube 3bdf3692f4
crop output image 2023-06-03 13:50:27 -05:00
Sean Sube 20bf5ecbfc
use scaled dims for max 2023-06-03 13:28:09 -05:00
Sean Sube 51c5b63090
use adjusted tile for gradients, repeat mask based on output shape 2023-06-03 13:17:20 -05:00
Sean Sube ec4ee49806
use mask for count 2023-06-03 12:22:50 -05:00
Sean Sube 4810ca858a
fix(api): correct name of torch extraction var 2023-06-03 09:52:31 -05:00
Sean Sube a19bf06003
attempt gradient blending of tiles 2023-06-03 09:51:44 -05:00
Sean Sube 6317094c5f
feat(api): histogram equalization and blending for highres tiling 2023-06-02 01:14:40 -05:00
Sean Sube 4dc192a2c7
apply lint 2023-05-28 19:44:16 -05:00
Sean Sube 00b1bec7a9
fix(api): skip loading custom VAE after torch extraction (#379) 2023-05-27 12:31:08 -05:00
Sean Sube 3adafeaa3d
fix(api): switch back to torch extraction for now (#379) 2023-05-27 12:29:17 -05:00
Sean Sube 86d458a0c6
fix(api): avoid passing cache path before sanitizing config name 2023-05-27 12:27:33 -05:00
Sean Sube 24f1ecc0eb
fix(api): load local custom VAE from within model path 2023-05-27 11:26:16 -05:00
Sean Sube 1562f4011e
replace pydantic polyfill 2023-05-20 20:19:41 -05:00
Sean Sube eb53238fd5
do not override source after fetch 2023-05-20 20:15:19 -05:00
Sean Sube df2e854dcc
fix load_yaml import 2023-05-20 20:09:45 -05:00
Sean Sube 9fa1f0387b
add env var for torch extraction 2023-05-20 20:06:54 -05:00
Sean Sube 9c28154dee
feat(api): add option to reload CNet for conversion 2023-05-20 15:19:38 -05:00
Sean Sube 20107f559a
use Torch working model for conversion 2023-05-20 15:12:39 -05:00
Sean Sube 339441cb16
fix(api): restore old checkpoint conversion code path 2023-05-20 13:41:23 -05:00
Sean Sube fe80e61e79
fix CNet conversion condition 2023-05-14 20:53:12 -05:00
Sean Sube b6a4cbaae1
fix(api): collate CNet after unloading UNet 2023-05-14 20:43:16 -05:00
Sean Sube 01ab864a55
collate UNet after unloading original, add option to skip pipeline loading test 2023-05-14 20:29:18 -05:00
Sean Sube 56fa0729b5
fix conversion context 2023-05-14 20:05:49 -05:00
Sean Sube 0d51d61728
feat(api): add env vars for controlnet conversion and opset 2023-05-14 20:04:43 -05:00
Sean Sube a99388645a
correct import 2023-05-14 19:56:40 -05:00
Sean Sube 579c5f9e97
fix(api): scope patched imports and run GC after patching 2023-05-14 19:54:57 -05:00
Sean Sube e2035c3fbf
fix(api): run GC during diffusers conversion, add flag to skip ControlNet (#369) 2023-05-14 19:30:30 -05:00
Sean Sube e96bd0fca4
feat(api): add lock to conversion endpoint 2023-05-10 08:17:22 -05:00
Sean Sube dde1e2daad
fix(api): correctly pass noise level to SD upscaling 2023-05-09 20:25:00 -05:00
Sean Sube eb100f647d
fix(api): remove device and patch calls to fix SD upscaling 2023-05-09 18:22:29 -05:00
Sean Sube f1856cb0d2
reload models and extras after conversion 2023-05-08 21:59:27 -05:00
Sean Sube 6f38d35c73
default content type, use arg parser for override 2023-05-08 21:56:05 -05:00
Sean Sube c992c03584
write extras as string, override conversion args from endpoint 2023-05-08 21:49:36 -05:00
Sean Sube a03f89a62c
fix(api): add env var for admin token 2023-05-08 21:42:25 -05:00
Sean Sube 534fc70e29
implement conversion endpoint 2023-05-08 21:40:51 -05:00
Sean Sube d39c7920a2
feat(api): add endpoints to manage extras file 2023-05-06 16:49:02 -05:00
Sean Sube 0f1298824c
feat(api): start adding support for multiple prompt parsers 2023-05-06 11:41:57 -05:00
Sean Sube 98f99b1523
fix(api): update VAE tiling params every time pipeline is used 2023-05-05 20:27:27 -05:00
Sean Sube da6aa15afc
fix(api): fully qualify HF models (#371) 2023-05-05 18:33:54 -05:00
Sean Sube 88fa126d69
Merge branch 'feat/373-non-square-inpaint' 2023-05-03 23:07:17 -05:00
Sean Sube 23aaf656d3
fix(api): match mask and image size before adding noise (#373) 2023-05-03 23:05:40 -05:00
Sean Sube d66bf9e54f
fix(api): download pretrained models from HF correctly (#371) 2023-05-03 22:21:04 -05:00
Sean Sube b6692f068e
fix(api): parse config files as JSON or YAML depending on extension (#370) 2023-05-03 22:15:17 -05:00
Sean Sube e68e405633
fix: limit UNet stride to tile size 2023-05-03 19:21:32 -05:00
Sean Sube 3b02fc5768
feat: add UNet stride as its own parameter 2023-05-03 19:15:05 -05:00
Sean Sube ac4aef6ae3
resize mask to cover source image before trimming 2023-05-02 21:15:14 -05:00
Sean Sube c8bc175239
fix(api): keep aspect ratio of mask for non-square sources (#373) 2023-05-02 20:52:28 -05:00
Sean Sube 98386cb385
fix(api): update latent window size on VAE patches 2023-05-02 19:57:26 -05:00
Sean Sube 55a1e46fc3
fix(api): update panorama params when using cached pipeline 2023-05-02 18:46:49 -05:00
Sean Sube a8869c06a4
reduce tile by latent scale before passing to pipeline 2023-05-01 23:40:17 -05:00
Sean Sube 8b57767f4a
fix chain stage loading 2023-05-01 23:25:55 -05:00
Sean Sube 95725fff79
feat(api): add tile size and stride to image parameters 2023-05-01 23:21:25 -05:00
Sean Sube 746e33b1f5
slice mask for views 2023-05-01 19:40:19 -05:00
Sean Sube e8d6ab64c1
add view iteration to panoramic inpaint 2023-05-01 19:09:52 -05:00
Sean Sube ca611f03df
enable all valid inpaint pipes 2023-05-01 18:58:29 -05:00
Sean Sube 71b95182a1
feat(api): add inpaint to panorama pipeline 2023-05-01 18:53:46 -05:00
Sean Sube 5dfb09bd3c
fix(api): use existing progress counter for highres and loopback 2023-04-30 17:27:51 -05:00
Sean Sube 572a5159ad
fix(api): limit fp16 ops for v2.1 models (#364) 2023-04-30 08:49:34 -05:00
Sean Sube 52cc4baaa4
fix circular import 2023-04-29 23:31:08 -05:00
Sean Sube 0573721d12
fix(api): always use accumulating progress counters 2023-04-29 23:28:51 -05:00
Sean Sube bf2f77d7a2
apply lint 2023-04-29 23:12:15 -05:00
Sean Sube 077845e868
fix log levels 2023-04-29 23:11:46 -05:00
Sean Sube 62abc76f3f
convert checkpoint dtype after loading 2023-04-29 23:08:48 -05:00
Sean Sube e28bbe2c18
set safetensor and dtype when loading 2023-04-29 23:05:51 -05:00
Sean Sube 1c308e0bab
collect and summarize errors while converting models 2023-04-29 22:58:58 -05:00
Sean Sube bc71583393
fix(api): add model image size and version hint to extras file 2023-04-29 22:56:52 -05:00
Sean Sube 2690eafe09
fix(api): pass correct text model type when converting v2 checkpoints (#360) 2023-04-29 22:45:48 -05:00
Sean Sube 4eba9a6400
avoid joining none path 2023-04-29 21:16:23 -05:00
Sean Sube 5760be710a
fix(api): restore use of config key when converting from checkpoints 2023-04-29 20:26:01 -05:00
Sean Sube 4ea372d53a
fix(api): rely on pipeline cache for highres and loopback 2023-04-29 20:12:46 -05:00