1
0
Fork 0
Commit Graph

574 Commits

Author SHA1 Message Date
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