1
0
Fork 0
Commit Graph

746 Commits

Author SHA1 Message Date
Sean Sube b3b10b4746
apply lint 2023-02-18 08:46:46 -06:00
Sean Sube 338fc237c7
fix(api): convert Real ESRGAN v3 using same arch as runtime 2023-02-18 08:41:15 -06:00
Sean Sube 431db6e3f8
repack size into tuples 2023-02-18 05:47:34 -06:00
Sean Sube 3ca02d4875
fix(api): make size params iterable 2023-02-18 05:44:43 -06:00
Sean Sube 0e108daa0f
fix(api): resize images to min dimensions by padding if necessary (#172) 2023-02-18 05:35:53 -06:00
Sean Sube 2c9d96d2ee
feat(api): use ONNX for Real ESRGAN v3 model 2023-02-17 23:25:42 -06:00
Sean Sube ce8c7205dc
apply lint 2023-02-17 22:49:13 -06:00
Sean Sube d09446ca68
fix(api): log number of active threads when running GC (#170) 2023-02-17 21:56:03 -06:00
Sean Sube cf8ca34845
fix(api): correct device for VRAM check 2023-02-17 08:44:42 -06:00
Sean Sube 56a826228d
fix(api): only remove converted VAE if it exists 2023-02-17 08:34:28 -06:00
Sean Sube 7a1f8318ef
fix(api): only convert VAE once when coming from checkpoints 2023-02-17 08:29:23 -06:00
Sean Sube 37b173d0d1
fix(api): unwrap state dict from VAE 2023-02-17 08:23:12 -06:00
Sean Sube c74d22aa42
fix(api): continue converting other models after an error in one (#166) 2023-02-17 07:49:45 -06:00
Sean Sube b3c8fce16b
fix(api): fallback to PyTorch if tensors fail to load with JIT 2023-02-17 07:39:48 -06:00
Sean Sube 005650a9a2
feat(api): log CUDA memory stats (#141) 2023-02-16 23:51:17 -06:00
Sean Sube d42de16a84
feat(api): support custom VAE for diffusers models 2023-02-16 22:52:25 -06:00
Sean Sube 388eb640c0
apply lint, rename lookup table 2023-02-16 22:22:46 -06:00
Sean Sube f5ae9dd492
add ORT type table 2023-02-16 21:50:19 -06:00
Sean Sube 3d73b9e621
fix(api): update SD upscaling pipeline 2023-02-16 21:44:33 -06:00
Sean Sube 873276f1d0
load checkpoint properly 2023-02-16 20:23:10 -06:00
Sean Sube ca1b22d44d
fix(api): support loading VAE from CKPT files 2023-02-16 20:18:42 -06:00
Sean Sube 4b6be765a6
copy VAE without translation 2023-02-16 19:24:02 -06:00
Sean Sube cddbc87ca3
skip key removal for VAE tensors 2023-02-16 19:17:00 -06:00
Sean Sube aa6dc334d7
resolve VAE files within model path 2023-02-16 18:56:54 -06:00
Sean Sube 2c66cc58c5
feat(api): add option for custom VAE to extras file (#145) 2023-02-16 18:53:50 -06:00
Sean Sube 5e9dfa3465
lint(api): lowercase log messages 2023-02-16 18:42:05 -06:00
Sean Sube 0ed4af18ad
fix(api): run torch gc alongside python (#156) 2023-02-16 18:11:35 -06:00
Sean Sube 6a2bac1359
lint(api): remove unused import 2023-02-15 21:01:25 -06:00
Sean Sube 841b18576c
apply lint 2023-02-15 20:50:12 -06:00
Sean Sube d60ec52186
fix(api): report correct image size for blend tab 2023-02-15 18:15:35 -06:00
Sean Sube 32a4bbcd64
fix(api): remove alpha channel after blending but before upscaling (fixes #148) 2023-02-15 17:49:42 -06:00
Sean Sube b5eeb44c62
fix(api): remove inpaint post-multiply (#150) 2023-02-15 17:45:25 -06:00
Sean Sube df5fb93bc0
fix(api): bypass model cache entirely when limit is 0 2023-02-15 17:17:28 -06:00
Sean Sube 2b29b099f0
fix(api): make SD upscaling compatible with more schedulers 2023-02-15 17:16:20 -06:00
Sean Sube 3e5edb1c39
fix(api): restore python 3.8 compatibility (#146) 2023-02-14 21:23:16 -06:00
Sean Sube 4d0cd2e981
apply lint 2023-02-14 19:01:14 -06:00
Sean Sube 8a2a9174ba
fix(api): pass both device and session options to ORT (#38) 2023-02-14 18:57:50 -06:00
Sean Sube feb4603171
fix(api): remove finished jobs from worker pool (#124) 2023-02-14 17:23:23 -06:00
Sean Sube 38f8aa38ee
lint(api): read blending sources in loop 2023-02-14 17:13:29 -06:00
Sean Sube d473a0fd2d
fix(api): pass device options to ORT session (#38) 2023-02-14 17:12:52 -06:00
Sean Sube f2d0025545
feat: add iPNDM scheduler 2023-02-14 07:27:51 -06:00
Sean Sube 1289c560bd
apply lint 2023-02-14 00:12:07 -06:00
Sean Sube 7f6fa22b4e
fix(api): skip model download if final converted version already exists (fixes #139) 2023-02-13 23:03:51 -06:00
Sean Sube 4cc1d63cec
fix(api): make diffusion model config optional again 2023-02-13 22:49:50 -06:00
Sean Sube 6b6f2f0eff
feat: add support for DEIS multistep scheduler 2023-02-13 22:37:54 -06:00
Sean Sube 05756b2b08
fix(api): patch more download paths (#134) 2023-02-13 22:23:17 -06:00
Sean Sube d1b250660e
fix(api): convert blend sources to the same size as the mask 2023-02-13 21:57:47 -06:00
Sean Sube c61f200bc2
fix(api): base model cache size on number of workers 2023-02-13 18:46:33 -06:00
Sean Sube c432ab0795
remove oldest items from model cache first 2023-02-13 18:33:06 -06:00
Sean Sube c6b2751cc1
fix(api): patch download fn in facexlib (#134) 2023-02-13 18:30:09 -06:00
Sean Sube 6d503ca00e
update cache entries with tag and key 2023-02-13 18:27:20 -06:00
Sean Sube 51d53597c0
fix(api): load Real ESRGAN PTH from cache 2023-02-13 18:21:05 -06:00
Sean Sube 8dc1ea7f1f
declare missing cache 2023-02-13 18:15:02 -06:00
Sean Sube f43f793148
fix type 2023-02-13 18:12:40 -06:00
Sean Sube 0709c1dbf0
feat(api): add GFPGAN and Real ESRGAN to model cache 2023-02-13 18:10:11 -06:00
Sean Sube e9472bc005
feat(api): add model cache for diffusion models 2023-02-13 18:04:46 -06:00
Sean Sube 7fa1783be4
feat: implement blend tab and copy buttons (#62) 2023-02-13 17:34:42 -06:00
Sean Sube d6201c9d32
feat(api): add an option for custom checkpoint config to extras file (fixes #130) 2023-02-12 14:10:30 -06:00
Sean Sube 82487f5771
fix(api): separate Real ESRGAN upsampler from GFPGAN stage (#87) 2023-02-12 13:50:28 -06:00
Sean Sube ae8aa2ea7a
apply lint 2023-02-12 13:32:50 -06:00
Sean Sube 034be3266e
fix(api): accumulate progress from inpaint pipelines (#90) 2023-02-12 13:16:17 -06:00
Sean Sube aaf82a42f1
fix(api): use correct var for diffusion scheduler cache 2023-02-12 12:47:55 -06:00
Sean Sube feb7e7d57b
pass progress to txt2img and img2img 2023-02-12 12:38:06 -06:00
Sean Sube 2f6a3afddb
pass progress on to most stages 2023-02-12 12:33:36 -06:00
Sean Sube 9d1c5dca52
fix(api): correctly handle partial extras files 2023-02-12 12:23:03 -06:00
Sean Sube 06d4f32574
make progress callbacks optional 2023-02-12 12:22:11 -06:00
Sean Sube d9fc908592
feat(api): collect progress from chain pipelines (#90) 2023-02-12 12:17:36 -06:00
Sean Sube 27a3fa8f51
feat: show model in image card, use labels for model and scheduler (#104) 2023-02-12 09:51:35 -06:00
Sean Sube 9c5043e9d0
fix(api): correctly cache diffusers scheduler 2023-02-12 09:33:13 -06:00
Sean Sube 1179092028
feat(api): intercept model downloads in libs and use cached copy (fixes #95) 2023-02-12 09:28:37 -06:00
Sean Sube 8ea33e9874
fix(api): patch various download fns to use cache (#95) 2023-02-12 06:25:44 -06:00
Sean Sube 1f06b502d5
fix(api): always fill inpaint/outpaint mask with white 2023-02-11 18:55:22 -06:00
Sean Sube ffbe0929e6
apply lint 2023-02-11 18:10:36 -06:00
Sean Sube 3a290822eb
feat(api): pass tile order to inpaint and outpaint pipelines 2023-02-11 18:00:18 -06:00
Sean Sube 44c9524cd2
apply lint 2023-02-11 16:50:57 -06:00
Sean Sube 6d243e8f4f
select correct platform 2023-02-11 16:26:00 -06:00
Sean Sube 66c2ce3074
fix device iteration 2023-02-11 16:19:08 -06:00
Sean Sube db06f4a9c3
fix(api): remove any from device pool 2023-02-11 16:16:40 -06:00
Sean Sube 6b30ccc60c
log more about selected device 2023-02-11 16:14:02 -06:00
Sean Sube 38c8a8a413
make any a real device 2023-02-11 16:06:14 -06:00
Sean Sube f45a0154e8
add any option to platforms after checking providers 2023-02-11 16:01:55 -06:00
Sean Sube e4785b94e0
keep provider list 2023-02-11 15:55:30 -06:00
Sean Sube 9551e4a9b9
feat(api): make any platform optional 2023-02-11 15:53:27 -06:00
Sean Sube d7383d1101
fix(api): include any platform option 2023-02-11 15:45:28 -06:00
Sean Sube ea3b065d80
feat(api): add option to use any available platform 2023-02-11 15:41:42 -06:00
Sean Sube 917f5bedd6
lint fix 2023-02-11 15:24:12 -06:00
Sean Sube 9171ab68bc
chore(api): link to diffusers and d8ahazard licenses 2023-02-11 15:02:27 -06:00
Sean Sube 5eae80cbdd
lint(api): remove unused hub download code path 2023-02-11 14:36:17 -06:00
Sean Sube 157067b554
lint(api): fix some Sonar issues 2023-02-11 14:19:42 -06:00
Sean Sube 454abcdddc
lint(api): move half-precision CUDA check before models, apply lint 2023-02-11 13:31:34 -06:00
Sean Sube 694d15547f
lint(api): clean up conversion code from original diffusers, drop pydantic dep 2023-02-11 12:36:54 -06:00
Sean Sube c599385a30
lint(api): apply to original diffusers converter 2023-02-10 23:32:16 -06:00
Sean Sube 2cc604823b
fix(api): launch with included extras if user does not provide their own 2023-02-10 23:06:30 -06:00
Sean Sube 9f202486c2
feat(api): add a way to download models from civitai or other https sources (#117) 2023-02-10 22:41:24 -06:00
Sean Sube b3e4076775
fix(api): run garbage collection after job errors 2023-02-09 22:04:33 -06:00
Sean Sube 45b09168dd
fix(api): move all unet tensors to the training device (#119) 2023-02-09 22:04:01 -06:00
Sean Sube 36d164a281
add safetensors dep 2023-02-09 00:01:48 -06:00
Sean Sube 511143eea5
move tensors to extras file 2023-02-08 22:38:19 -06:00
Sean Sube 4f71348f98
feat(api): convert from SD checkpoints (#117) 2023-02-08 22:35:54 -06:00
Sean Sube b1a1a2b9c4
lint(api): apply style fixes 2023-02-07 08:20:02 -06:00
Sean Sube b6fd288842
fix(api): calculate outpaint overlap factor before adding margins 2023-02-06 22:49:58 -06:00
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 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 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 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 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 ea69753bfd
fix(api): additional logging around model load ops 2023-02-02 23:34:02 -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 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
Sean Sube c7fa50a028 fix cache globals 2023-01-28 00:08:52 -06:00
Sean Sube ee495a8d93 fix(api): correct caching for upscaling models 2023-01-28 00:05:37 -06:00
Sean Sube 56a4acee2a fix(api): split up and cache upscaling and correction stages 2023-01-27 23:28:14 -06:00
Sean Sube caafc9ebc9 lint(api): make modules for chain pipeline and params 2023-01-27 22:48:06 -06:00
Sean Sube bcaf0f73e6 feat(api): implement upscaling and correction as a chain pipeline 2023-01-27 17:38:21 -06:00
Sean Sube 9b37c174d1 fix parameter order for chain pipeline 2023-01-27 17:26:48 -06:00
Sean Sube bfd8e0a739 fix import 2023-01-27 17:11:27 -06:00
Sean Sube 71ff3bb1c4 feat(api): start implementing chain pipelines 2023-01-27 17:08:36 -06:00
Sean Sube 260f7a29f4 fix model name 2023-01-26 23:15:43 -06:00
Sean Sube b971b659e3 use a torch rng 2023-01-26 23:15:24 -06:00
Sean Sube 670bc1ced5 improve logging, provide rng within filter 2023-01-26 22:58:36 -06:00
Sean Sube 936ebba510 attempt to run SD upscaling in smaller tiles 2023-01-26 22:44:20 -06:00
Sean Sube fb5c46d90c load additional components for SD upscaling 2023-01-25 21:29:18 -06:00
Sean Sube 819af824b0 feat(api): initial support for Stable Diffusion upscaling (#66) 2023-01-25 21:04:09 -06:00
Sean Sube 483b8e3f19 lint(api): consolidate upscale/correction logic 2023-01-25 20:31:39 -06:00
Sean Sube 67d51a96e3 feat(api): add a way for the server to disable certain platforms (#83) 2023-01-24 23:19:57 -06:00
Sean Sube 6b2ae2aeab lint(api): suppress another common warning during conversion (fixes #75) 2023-01-23 21:40:11 -06:00
Sean Sube b62c7d3742 fix(api): return structured error when image parameters are missing (fixes #76) 2023-01-22 22:38:03 -06:00
Sean Sube b2e7ad599f fix(api): check if output file exists for ready endpoint (#57) 2023-01-22 22:25:00 -06:00
Sean Sube a5d3ffcc73 fix(api): use correct coordinate system for outpainting 2023-01-22 22:09:39 -06:00
Sean Sube 9bff64c7c9 fix(api): correct name for kwargs 2023-01-22 17:25:29 -06:00
Sean Sube f319e6a49b fix(api): pass hardware platform to upscaling pipeline (#77) 2023-01-22 16:35:53 -06:00
Sean Sube 1b2618c0f7 lint(api): suppress some known warnings during model conversion (#75) 2023-01-22 15:45:09 -06:00
Sean Sube 2921eba1f6 fix(api): handle parameters correctly when list of valid values is empty (fixes #72) 2023-01-22 15:44:35 -06:00
Sean Sube 876b54a7a8 fix(api): validate request params better, esp model path 2023-01-22 13:48:14 -06:00
Sean Sube 9d0a15900b lint(api): mark some unused vars 2023-01-22 10:08:26 -06:00
Sean Sube dddadfc9a2 fix(api): explicitly delete pipeline results after saving 2023-01-21 22:28:13 -06:00
Sean Sube 9e26ee5b85 fix(api): unload old model before loading next one 2023-01-21 22:09:32 -06:00
Sean Sube abc1ae5112 fix(api): put conversion RNG on training device (#67) 2023-01-21 19:59:58 -06:00
Sean Sube cb005d3b5d fix: move output path out of API route (for #7) 2023-01-21 19:44:54 -06:00
Sean Sube facd69f452 fix(api): actually return the filtered list of platforms 2023-01-21 19:41:43 -06:00
Sean Sube c768cd8f42 fix(api): filter platforms based on available providers (fixes #69) 2023-01-21 19:40:10 -06:00
Sean Sube 8c9c99eeb5 fix(api): use training device when loading Real ESRGAN model (#67) 2023-01-21 17:55:55 -06:00
Sean Sube 505cacfbc2 fix(api): leave pipelines on default device unless specified 2023-01-21 17:04:48 -06:00
Sean Sube a868c8cf6b feat(api): backend support for multiple GPUs in diffusion pipelines 2023-01-21 15:17:33 -06:00
Sean Sube 45a3ddc2a9 feat(api): add option for HuggingFace token in convert script 2023-01-21 15:08:19 -06:00
Sean Sube e0834110fc fix(api): add extra models to convert script 2023-01-21 08:52:35 -06:00
Sean Sube be16f33151 fix(api): pass txt2img dimensions in correct order 2023-01-19 22:07:31 -06:00
Sean Sube 86fb2ae28e fix(api): generate correct latents for non-square images 2023-01-19 22:00:58 -06:00
Sean Sube 9a10261273 put functions in order 2023-01-19 21:03:29 -06:00
Sean Sube 4a3bb97342 fix(api): run GC after changing pipeline (#58) 2023-01-19 19:46:36 -06:00
Sean Sube 9a2e7adfb8 fix(api): report accurate image size when upscaling 2023-01-19 19:42:27 -06:00
Sean Sube 3bcd7a8156 feat: add ROCm provider to list (#10) 2023-01-19 17:38:26 -06:00
Sean Sube 4fbf046e28 lint(api): remove unnecessary pass 2023-01-19 08:34:38 -06:00
Sean Sube 3679735d86 feat: add fill color control to inpaint 2023-01-18 08:41:02 -06:00
Sean Sube 08dbc0c738 fix(api): check image size before blending 2023-01-18 08:29:55 -06:00
Sean Sube 4d9dc05cd0 lint(api): improve logging while upscaling 2023-01-17 22:30:25 -06:00
Sean Sube cf6a151548 fix(api): pass image size to upscale job 2023-01-17 21:53:44 -06:00
Sean Sube 634d2e8ce6 fix(api): use correct base path for debug images 2023-01-17 17:50:56 -06:00
Sean Sube 5ba752e526 feat(api): add strength param to inpaint, remove same from upscale 2023-01-17 17:50:36 -06:00
Sean Sube b496e7121c fix(api): premultiply noise before compositing 2023-01-17 17:49:46 -06:00
Sean Sube 4aeee60b19 feat: add upscaling tab and endpoint 2023-01-16 23:45:54 -06:00
Sean Sube b7c85aa51b fix(api): skip upscaling if scale is 1 2023-01-16 23:01:15 -06:00
Sean Sube 0e27cc830d fix: send missing model params, add face strength control 2023-01-16 22:54:01 -06:00
Sean Sube ac3ef0ebbf mostly fix face correction 2023-01-16 22:35:34 -06:00
Sean Sube c6ce43b00d back to single GFPGAN, fix some paths 2023-01-16 21:55:54 -06:00
Sean Sube 03e06193eb attempt to fix face correction at various scales 2023-01-16 21:36:50 -06:00
Sean Sube 073ff8e02f fix(api): use correct scale for background correction 2023-01-16 21:12:17 -06:00
Sean Sube b09feda474 fix(api): sort models without discarding 2023-01-16 20:58:08 -06:00
Sean Sube 353a65513f fix(api): copy checkpoints into correct location, handle more models 2023-01-16 20:53:12 -06:00
Sean Sube 1db5ebec84 syntax fix 2023-01-16 20:40:01 -06:00
Sean Sube d52c22e58b feat: add additional Real ESRGAN models, strings for them 2023-01-16 20:38:16 -06:00
Sean Sube 33eebacc0c lint(api): return models in order 2023-01-16 20:37:59 -06:00
Sean Sube c0ca7cf62f fix(api): dedupe models after removing extension 2023-01-16 20:28:29 -06:00
Sean Sube 4472a6fd24 fix(api): trim model names relative to model path 2023-01-16 20:25:09 -06:00
Sean Sube 23a9d5afb7 list models correctly 2023-01-16 20:17:01 -06:00
Sean Sube 0273dea2a6 fix(api): join globs to avoid py 3.10-only args 2023-01-16 20:14:11 -06:00
Sean Sube ee6308a091 feat(api): return all types of models 2023-01-16 20:10:52 -06:00
Sean Sube dba6113c09 fix(api): include model scale 2023-01-16 20:10:29 -06:00
Sean Sube 556d5b84d6 fix(api): add an option to skip certain models during conversion 2023-01-16 17:55:58 -06:00
Sean Sube dab2cc7752 lint(api): split up face correction and upscaling models 2023-01-16 17:51:32 -06:00
Sean Sube decb2813c6 feat(api): add support for Stable Diffusion models to conversion script 2023-01-16 17:48:50 -06:00
Sean Sube 4d0898a52c feat(api): start adding model sources to convert script 2023-01-16 17:08:59 -06:00
Sean Sube 5a01fe4cb0 fix(api): resolve face correction model relative to model path 2023-01-16 16:45:17 -06:00
Sean Sube 1d90f9b53c fix class method 2023-01-16 16:40:59 -06:00
Sean Sube 4809e00982 fix(api): get all server paths from environ 2023-01-16 16:40:32 -06:00
Sean Sube c98c0ff4dd lint(api): remove global paths entirely 2023-01-16 16:39:30 -06:00
Sean Sube 4bf68759d7 fix(api): report accurate sizes 2023-01-16 15:11:40 -06:00
Sean Sube d406cd4e99 fix(api): pass model to ONNX instances 2023-01-16 14:58:27 -06:00
Sean Sube adeada19e5 fix exports 2023-01-16 14:54:45 -06:00
Sean Sube 8d3ebede5a feat: add outscaling option 2023-01-16 14:52:56 -06:00
Sean Sube 091c4e6109 fix(api): pass upscale params when creating RESRGAN 2023-01-16 14:17:50 -06:00
Sean Sube 1f0c19af04 fix(api): get upscale params from request 2023-01-16 13:12:08 -06:00
Sean Sube 120056f878 fix(api): get ESRGAN/GFPGAN paths from server context, clean up test scripts 2023-01-16 13:02:15 -06:00
Sean Sube 0f2d6d2ec7 add subscript for fake image 2023-01-16 12:02:37 -06:00
Sean Sube 402fa4f687 return fake image throughout chain 2023-01-16 11:46:06 -06:00
Sean Sube f493246192 fix(api): correct stub method name 2023-01-16 11:45:31 -06:00
Sean Sube ba3eff5c03 fix(api): enable tiling when fixing faces after upscaling 2023-01-16 11:43:00 -06:00
Sean Sube b37f8cdd7d stub out other methods for output image 2023-01-16 11:16:06 -06:00
Sean Sube 30d474b487 wrap image output 2023-01-16 11:06:50 -06:00
Sean Sube fe657468bf fix(api): add missing params to load stub 2023-01-16 10:59:47 -06:00
Sean Sube 9519fc16e9 feat(api): add ONNX implementation of Real ESRGAN net 2023-01-16 10:55:40 -06:00
Sean Sube 5fded3cf40 remove unused param from output 2023-01-16 10:03:30 -06:00
Sean Sube e59449fec1 feat(api): add conversion script for models 2023-01-16 09:57:59 -06:00
Sean Sube 1283bc3d3f fix(api): look up noise coordinates correctly 2023-01-16 07:49:25 -06:00
Sean Sube 604cdf39b0 lint(api): helper to get borders from request 2023-01-16 07:45:50 -06:00
Sean Sube 53fcc0b91f lint(api): remove output path, join from context 2023-01-16 07:42:10 -06:00
Sean Sube c8944a2be8 fix path 2023-01-16 07:36:35 -06:00
Sean Sube 7c9dbf2c7e remove unused fields from context 2023-01-16 07:34:37 -06:00
Sean Sube 8a97cbebb6 remove invalid model path call 2023-01-16 07:33:53 -06:00
Sean Sube 7c52743aaa remove invalid imports 2023-01-16 07:33:22 -06:00
Sean Sube 13a4fa2278 lint(api): encapsulate paths in server context class 2023-01-16 07:31:42 -06:00
Sean Sube a76793d105 fix(api): correct output paths, read strength from params 2023-01-15 20:00:26 -06:00
Sean Sube f9c33486c1 fix latents for txt2img 2023-01-15 19:49:40 -06:00
Sean Sube 7d8ea23166 fix param hashing 2023-01-15 19:48:43 -06:00
Sean Sube bdc8e277fe lint(api): clean up output file hash stuff 2023-01-15 19:47:57 -06:00
Sean Sube e43238b327 fix init imports 2023-01-15 19:34:51 -06:00
Sean Sube 44c81d966f lint(api): finish splitting up modules 2023-01-15 19:33:40 -06:00