1
0
Fork 0
Commit Graph

396 Commits

Author SHA1 Message Date
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 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 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 540864c3a8
fix initial tile size for XL 2023-09-04 21:21:09 -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 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 44004730ea
skip loading component models for XL 2023-09-04 21:20:01 -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 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 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 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 3d4c77d5d0
fix(api): generate new latents for partial tiles 2023-07-12 22:00:11 -05: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
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 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 ed03222234
Update tile.py
Fixed extra noise source imports
2023-07-09 14:11:25 -04: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 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
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 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 c0dd4e96dc
fix(api): handle panoramic outpainting output 2023-07-04 20:44:48 -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 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 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 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 7e21b9539e
feat(api): embed image parameters in EXIF data (#383) 2023-06-26 07:03:06 -05:00
Sean Sube 82a80bb60b
fix(api): ensure gradient points are always in order 2023-06-10 15:20:17 -05: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 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 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 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 23aaf656d3
fix(api): match mask and image size before adding noise (#373) 2023-05-03 23:05:40 -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 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 fbab26fe31
resize mask to match source 2023-04-29 15:40:26 -05:00
Sean Sube bfe989997e
use full tile size for mask and noise 2023-04-29 15:10:43 -05:00
Sean Sube a1e7a5d077
pad incomplete mask tiles 2023-04-29 15:00:59 -05:00
Sean Sube a4d197a6e7
round entire canvas up to tile size 2023-04-29 14:55:41 -05:00
Sean Sube f782f39cce
fix(api): remove size limit on inpainting stage 2023-04-29 14:23:00 -05:00
Sean Sube ec7d563c58
fix(api): resolve SD upscaling model relative to models path 2023-04-24 18:23:56 -05:00
Sean Sube 4f9d12cefa
remove LoRAs and TIs from SD upscaling 2023-04-23 18:22:44 -05:00
Sean Sube 8146ef881d
only apply prompt embeds when LPW is not selected, load upscale pipeline like others 2023-04-23 18:22:41 -05:00
Sean Sube 0eeb342576
apply alternatives to upscale stage 2023-04-23 18:22:38 -05:00
Sean Sube b249936963
feat(api): parse alternative groups in prompts 2023-04-23 15:03:11 -05:00
Sean Sube b20df68131
fix(api): switch between available pipelines 2023-04-15 15:37:45 -05:00
Sean Sube bd992398ae
lint, fix numpy error in pix2pix 2023-04-13 18:41:22 -05:00
Sean Sube 52d639ffed
use keyword args for networks 2023-04-13 00:02:47 -05:00
Sean Sube 4aabf1ee27
wire up pipeline parameter, apply lint 2023-04-12 23:11:53 -05:00
Sean Sube 2af1530a7e
feat: make pipeline type a request parameter 2023-04-12 22:58:48 -05:00
Sean Sube 9e017ee35d
feat: add parameter for ControlNet selection 2023-04-12 08:43:15 -05:00
Sean Sube a3daaf0112
initial integration of controlnet pipeline 2023-04-11 19:29:25 -05:00
Sean Sube 00be4f4721
fix(api): run PyTorch GC on ROCm devices (#323) 2023-04-11 08:34:21 -05:00
Sean Sube de61e388a0
chore(api): remove some unused non-ONNX code paths 2023-04-11 08:26:21 -05:00
Sean Sube e3540ac435
feat(api): add linear blend stage for chain pipeline (#183) 2023-04-10 21:15:57 -05:00
Sean Sube 2eaf85a43e
feat(api): add chain pipeline stages to load images from S3 or URL (#184, #185) 2023-04-10 21:03:19 -05:00