1
0
Fork 0
Commit Graph

529 Commits

Author SHA1 Message Date
Sean Sube a9f4e19616
chore(api): log overlap factor when outpainting 2023-02-06 22:43:58 -06:00
Sean Sube de4a3818a0
fix(api): use SRVGG net for Real ESRGAN v3 2023-02-06 21:36:20 -06:00
Sean Sube ae5cf1fd28
fix(api): restore denoise code path for Real ESRGAN v3 (#109) 2023-02-06 18:11:45 -06:00
Sean Sube ad108060ed
fix(api): only try to load extras when a path is provided (#112) 2023-02-06 18:06:19 -06:00
Sean Sube 7db5472531
fix(api): include face correction outscale in final image size 2023-02-06 17:59:34 -06:00
Sean Sube 651acf6991
lint recent changes 2023-02-06 17:26:51 -06:00
Sean Sube 833fc5c2f8
fix(api): make sure each upscale/correction model gets its own stage 2023-02-06 17:17:43 -06:00
Sean Sube de4e7b0dc9
feat: add face outscale as its own parameter (#111) 2023-02-06 17:13:37 -06:00
Sean Sube 564cfc1279
lint(api): remove unused upsampler arg 2023-02-06 08:56:34 -06:00
Sean Sube 24ab52bf0d
fix(api): remove background upscaler from GFPGAN stage (#108) 2023-02-06 08:33:36 -06:00
Sean Sube 1f65da88b0
fix(build): install dev deps in API test job 2023-02-06 08:30:53 -06:00
Sean Sube 1dfd9e72ef
fix(api): run background ESRGAN on same device as GFPGAN 2023-02-06 08:10:36 -06:00
Sean Sube c7e0041229
fix(api): pass current device when loading GFPGAN 2023-02-06 08:07:06 -06:00
Sean Sube 811b6640a8
fix(api): only run one form of outpaint tiling 2023-02-05 23:02:06 -06:00
Sean Sube d6c1244d72
fix(api): use grid tiling when inpaint margin is 0 2023-02-05 22:57:52 -06:00
Sean Sube 6fcfe4f878
fix(api): correct order for img2img params 2023-02-05 22:48:07 -06:00
Sean Sube 9f9736c30c
fix(build): mark additional targets as phony 2023-02-05 22:36:19 -06:00
Sean Sube 79eaad67f2
feat(build): run Python lint during CI 2023-02-05 22:19:32 -06:00
Sean Sube 8b42aeef48
remove(api): deprecated vendor platforms 2023-02-05 21:32:58 -06:00
Sean Sube 7462c96616
apply lint fixes again 2023-02-05 17:55:04 -06:00
Sean Sube 20467aafac
chore(api): add logging for LPW pipelines 2023-02-05 17:53:51 -06:00
Sean Sube 9c84d853c9
add missing lpw param 2023-02-05 17:40:10 -06:00
Sean Sube 5f35a2853b
fix(api): fully switch between LPW and regular ONNX pipelines 2023-02-05 17:36:00 -06:00
Sean Sube f3983a7917
fix(api): switch RNG based on LPW parameter 2023-02-05 17:24:15 -06:00
Sean Sube fb376c6b62
feat(api): make LPW an image parameter 2023-02-05 17:15:37 -06:00
Sean Sube 6fe278c744
fix(api): switch between spiral and grid tiling based on outpaint margins (#101) 2023-02-05 16:56:11 -06:00
Sean Sube ca2f0a6404
fix(api): pass outscale factor to CodeFormer (fixes #100) 2023-02-05 16:22:04 -06:00
Sean Sube 7c5f9baeb7
fix(api): embed LPW pipeline (fixes #96) 2023-02-05 16:01:11 -06:00
Sean Sube 49b3aa68bb
fix(api): update SD upscale pipeline 2023-02-05 15:54:17 -06:00
Sean Sube a2a0028bd4
feat(api): add CodeFormer to conversion script 2023-02-05 15:53:43 -06:00
Sean Sube cb3590720b
lint(api): remove unused imports 2023-02-05 15:33:56 -06:00
Sean Sube 27da3c3334
fix(docs): explain how to convert your own models 2023-02-05 15:32:30 -06:00
Sean Sube 15c651b31a
fix(api): use first available platform if requested one does not exist 2023-02-05 13:44:13 -06:00
Sean Sube 401df84069
fix(api): replace some numpy RNGs with torch equivalent 2023-02-05 13:43:33 -06:00
Sean Sube 3231a904c1
fix txt2img call 2023-02-05 11:31:44 -06:00
Sean Sube 7b506cb6d3
feat(api): enable LPW custom pipeline (#27) 2023-02-05 11:31:40 -06:00
Sean Sube 4a728cb9ae
lint(api): include more params in JSON response and file 2023-02-05 10:50:15 -06:00
Sean Sube 0a9f108156
feat(api): add CodeFormer to automatic upscale 2023-02-05 10:49:20 -06:00
Sean Sube 9d0609fefe
fix(api): keep chain pipeline images and use request size 2023-02-05 10:27:34 -06:00
Sean Sube bf1378bf96
fix(api): log stacktrace from job errors 2023-02-05 08:50:26 -06:00
Sean Sube e059f11253
feat(api): add CodeFormer stage for chain pipelines 2023-02-05 08:37:47 -06:00
Sean Sube 35681efc1b
clean up draft CodeFormer stage 2023-02-05 08:06:50 -06:00
Sean Sube 54dd34d211
lint(api): apply black and isort style 2023-02-05 07:53:35 -06:00
Sean Sube 37dd8927bf
fix(api): pass device ID in provider params 2023-02-04 21:52:45 -06:00
Sean Sube 9d1f9412f6
log device options 2023-02-04 21:26:11 -06:00
Sean Sube cc12cb0fcf
clean up lingering provider refs 2023-02-04 21:23:34 -06:00
Sean Sube 04a2faffd9
fix(api): set CUDA device in ORT session 2023-02-04 21:17:39 -06:00
Sean Sube d636ce3eef
fix(api): avoid setting device on schedulers that do not support it 2023-02-04 17:21:12 -06:00
Sean Sube 13510dbacd
fix(api): prefer device with lower index when queue is tied 2023-02-04 17:03:01 -06:00
Sean Sube d75cd50a62
fix non-generic types 2023-02-04 16:57:00 -06:00
Sean Sube 5c07fff8b4
lint(api): type fields in job pool class defs 2023-02-04 16:55:42 -06:00
Sean Sube ae434f5c11
fix(api): add device index to job status endpoint 2023-02-04 16:55:20 -06:00
Sean Sube ed2e15a67e
fix(api): exclude finished jobs when load balancing 2023-02-04 16:54:44 -06:00
Sean Sube de6e3b4e27
only return device index 2023-02-04 16:40:24 -06:00
Sean Sube bf3f227d66
fix(api): default to first available device when there are no other jobs 2023-02-04 16:37:36 -06:00
Sean Sube efee374c16
feat(api): load-balance background jobs between devices 2023-02-04 16:22:50 -06:00
Sean Sube 3a91347709
fix(api): remove unused flask-executor package 2023-02-04 15:56:48 -06:00
Sean Sube f6a6c997bb
lint(api): log which device is assigned to which job 2023-02-04 15:56:32 -06:00
Sean Sube 5e0231c01b
feat(api): distribute jobs to devices using round-robin (#38) 2023-02-04 15:49:05 -06:00
Sean Sube 1e38659c80
extract device 2023-02-04 15:00:22 -06:00
Sean Sube 59f5fd41b0
restore provider to image params for now 2023-02-04 14:58:54 -06:00
Sean Sube 3637f642c6
fix(api): pass job context and device to upscaling 2023-02-04 14:52:23 -06:00
Sean Sube 8a81e8b810
add missing arg to chain pipeline 2023-02-04 14:27:27 -06:00
Sean Sube 2f1f6b3a11
fix chain pipeline image field names 2023-02-04 14:24:18 -06:00
Sean Sube bef50d89b1
fix(api): move chain body to form field 2023-02-04 14:18:44 -06:00
Sean Sube 1de2a51db5
feat(api): load source and mask images for chain pipelines (#88) 2023-02-04 14:08:43 -06:00
Sean Sube 4e5ad54471
improve device logging 2023-02-04 14:01:30 -06:00
Sean Sube 2c9a10e2b7
format devices in logs 2023-02-04 13:56:17 -06:00
Sean Sube a212d954eb
fix provider lookup 2023-02-04 13:52:32 -06:00
Sean Sube 98b6e4dd03
feat(api): add provider for each available CUDA device (#38) 2023-02-04 13:49:34 -06:00
Sean Sube 732aa27b92
fix(api): log number of background workers on startup 2023-02-04 12:29:30 -06:00
Sean Sube 53f492459f
feat(api): log errors from background jobs 2023-02-04 11:56:34 -06:00
Sean Sube 87bbce4fff
return progress through chain 2023-02-04 11:08:22 -06:00
Sean Sube 157ed6da70
feat(api): add status endpoint 2023-02-04 10:59:03 -06:00
Sean Sube ac7657defd
add debug logs to progress 2023-02-04 10:50:41 -06:00
Sean Sube 294c831d02
feat(api): add progress to ready endpoint 2023-02-04 10:16:30 -06:00
Sean Sube 1491a9e1e0
cancel jobs correctly 2023-02-04 10:10:40 -06:00
Sean Sube c3b0c5e3e3
make initial thread pool optional 2023-02-04 10:07:58 -06:00
Sean Sube 6426cff741
feat(api): switch to device pool for background workers 2023-02-04 10:06:22 -06:00
Sean Sube ecec0a2e56
fix(api): set minimum image dimensions to 256 (#79) 2023-02-03 08:48:24 -06:00
Sean Sube ea69753bfd
fix(api): additional logging around model load ops 2023-02-02 23:34:02 -06:00
Sean Sube e1ce3d2136
fix(build): include extras and logging config in containers 2023-02-02 22:50:19 -06:00
Sean Sube aff3a3f2ee
lint(api): fix interpolation in some log messages 2023-02-02 18:52:31 -06:00
Sean Sube a1298f1565
fix(api): respect model selection when running inpaint/outpaint stages 2023-02-02 18:51:54 -06:00
Sean Sube 406e0f0cf9
feat(api): provide a way to override log settings 2023-02-02 18:46:17 -06:00
Sean Sube c837830043
feat(api): provide a way for users to add models to the convert list (#70) 2023-02-02 08:59:47 -06:00
Sean Sube 0050cea694
fix(api): use requested size for initial chain pipeline input 2023-02-02 08:59:08 -06:00
Sean Sube e533dad4ba
fix(api): use server image format when building output name 2023-02-02 08:47:37 -06:00
Sean Sube 59b8055926
fix(api): correct import error 2023-02-02 08:33:33 -06:00
Sean Sube a1ef6c4c77
lint(api): consolidate output fns 2023-02-02 08:31:35 -06:00
Sean Sube 6ce13096ed
feat(api): server setting to select image format 2023-02-02 08:19:57 -06:00
Sean Sube 83992d9193
fix(api): convert size to JSON 2023-02-01 22:37:26 -06:00
Sean Sube 2123d42c45
fix(api): return JSON params after image requests 2023-02-01 22:35:10 -06:00
Sean Sube b1eec6907a
fix(api): write border and upscale to params file 2023-02-01 22:31:01 -06:00
Sean Sube c19f39f9b4
fix(api): handle partial params when formatting output 2023-02-01 22:25:53 -06:00
Sean Sube 0557ab9a2e
lint(api): use constant for latents scale factor 2023-02-01 22:21:22 -06:00
Sean Sube 6697c2eb6a
feat(api): save image params along with image (#81) 2023-02-01 22:20:40 -06:00
Sean Sube 066b1a0230
fix(api): run garbage collection after each model change 2023-02-01 21:20:48 -06:00
Sean Sube a901cc44bd
fix(api): correct python cmd for Windows 2023-02-01 08:33:16 -06:00
Sean Sube fa7e5e8ab9
feat(api): add launch script for Windows 2023-01-31 22:53:41 -06:00
Sean Sube 6c9b0c9c1e
fix(api): remove reference to undeclared var 2023-01-31 21:29:22 -06:00
Sean Sube a3eed7a095
fix(api): drop unused parameter from inpaint pipeline 2023-01-31 21:14:43 -06:00
Sean Sube 6a0f881120
fix(api): pass prompt to upscaling pipeline 2023-01-31 20:41:15 -06:00
Sean Sube 33bb56dd24
fix(api): correctly make output directory 2023-01-31 19:58:07 -06:00
Sean Sube f302be7f50
fix(api): correctly create model path 2023-01-31 19:32:34 -06:00
Sean Sube 6c22cb1cbf
feat(api): create model path if needed during convert script 2023-01-31 17:09:23 -06:00
Sean Sube c34ddacf55
fix(api): pin outscale for GFPGAN to 1 to avoid sparse tiling 2023-01-31 17:08:30 -06:00
Sean Sube f4fc6271bc
feat(api): set default platform for each container (fixes #82) 2023-01-31 08:45:06 -06:00
Sean Sube 1ca7edb4a8
fix(api): variable name in GFPGAN 2023-01-31 08:24:10 -06:00
Sean Sube 39f84c4a49
fix(api): convert images to ndarray before passing to GFPGAN 2023-01-31 08:16:57 -06:00
Sean Sube d5e5588939
fix(api): supply missing parameter to GFPGAN 2023-01-30 20:54:39 -06:00
Sean Sube ec1e3614f5
remove unused import 2023-01-29 22:07:51 -06:00
Sean Sube 301cbe8b8c pass provider to upscale pipeline, clean up some debug 2023-01-29 18:54:35 -06:00
Sean Sube bacce0ace9 testing ONNX upscaling 2023-01-29 18:42:05 -06:00
Sean Sube ca613cabe1 more ONNX upscaling 2023-01-29 16:57:18 -06:00
Sean Sube 8c6d957a53 continue converting upscale to ONNX 2023-01-29 15:23:19 -06:00
Sean Sube c905fbb728 feat(api): add reduce stages, noise source 2023-01-29 15:23:01 -06:00
Sean Sube 8d346cbed0 start porting SD upscale to ONNX 2023-01-29 13:49:30 -06:00
Sean Sube f0c905721f fix imports 2023-01-29 11:42:42 -06:00
Sean Sube 2033cbb601 fix tile latent axis 2023-01-29 11:39:02 -06:00
Sean Sube 50d6dbb451 feat(api): switch inpaint mode to upscale stage 2023-01-29 10:39:10 -06:00
Sean Sube 483a1bad68 feat(api): use per-tile latents for outpainting 2023-01-29 10:31:22 -06:00
Sean Sube b1ba09af3e fix(api): make sure each pipeline has its own list of stages 2023-01-29 00:25:49 -06:00
Sean Sube 7083505483 fix(api): preserve new pixels after outpainting 2023-01-29 00:16:09 -06:00
Sean Sube 20beff839e fix spiral, override prompt 2023-01-29 00:07:12 -06:00
Sean Sube 6f1ffaa043 fix(api): convert spiral grid coordinates to offsets 2023-01-28 23:58:04 -06:00
Sean Sube 03d88dff5f log pipeline stage count, add outpaint example 2023-01-28 23:50:41 -06:00
Sean Sube a4d3f18a48 feat(api): implement spiral grid for outpainting 2023-01-28 23:46:36 -06:00
Sean Sube 680adc70ea feat(api): save output of each stage in debug mode 2023-01-28 23:08:56 -06:00
Sean Sube 8f1cbc83f8 feat(api): parse named tile sizes 2023-01-28 23:06:25 -06:00
Sean Sube db9189fd3d get upscaling model from stage params 2023-01-28 22:52:39 -06:00
Sean Sube 18803db6ed fix(api): parse border and upscale in chain stages 2023-01-28 22:48:53 -06:00
Sean Sube 151ebff237 feat(api): parse chain pipeline from request 2023-01-28 22:31:34 -06:00
Sean Sube c7a6ec45d8 fix(api): avoid circular deps in diffusion pipeline cache 2023-01-28 20:15:39 -06:00
Sean Sube 3359138a83 clean up logging, use extra args 2023-01-28 17:15:42 -06:00
Sean Sube 4547bcef50 feat(api): switch to python logging 2023-01-28 17:09:19 -06:00
Sean Sube bb3a7dc0e9 log pipeline timing, add common sizes 2023-01-28 14:56:06 -06:00
Sean Sube 8d57d113cd feat(api): add s3 upload chain stage 2023-01-28 12:42:22 -06:00
Sean Sube dcbd059082 feat(api): add img2img and inpaint chain stages 2023-01-28 12:42:02 -06:00
Sean Sube 4188b019a1 test multiple chained upscaling stages 2023-01-28 10:26:04 -06:00
Sean Sube ba3e450d43 fix scale for outpaint 2023-01-28 09:55:47 -06:00
Sean Sube 2c8fec0e53 size outpaint mask correctly 2023-01-28 09:38:25 -06:00
Sean Sube d6193a9a47 fix(api): tile mask during outpaint stage 2023-01-28 09:23:18 -06:00
Sean Sube d89437b11e persist to output dir, do not tile output 2023-01-28 09:15:02 -06:00
Sean Sube 779457b546 feat(api): add save-to-disk stage 2023-01-28 09:08:59 -06:00
Sean Sube ce6cf08684 fix outpaint and txt2img stages 2023-01-28 08:44:24 -06:00
Sean Sube 658e12266f pass size and initial image to test pipeline 2023-01-28 08:40:29 -06:00
Sean Sube 9f76226ba6 use correct generator 2023-01-28 08:38:48 -06:00
Sean Sube 5119a982db feat(api): synthesize a mask for outpaint stages 2023-01-28 08:37:17 -06:00
Sean Sube 4579e96cc1 feat(api): add inpaint as a chain stage 2023-01-28 08:19:40 -06:00