1
0
Fork 0
Commit Graph

1527 Commits

Author SHA1 Message Date
Sean Sube 0a75f961dc
fix(api): share loaded pipeline when running loopback or highres after img2img 2023-04-22 11:47:01 -05:00
Sean Sube 8068659c0f
handle image filter none better 2023-04-22 11:38:05 -05:00
Sean Sube eeaba37fa9
fix(api): correctly disable source filtering when none is selected 2023-04-22 11:34:48 -05:00
Sean Sube 348421dd6d
fix controlnet segmentation string, add some source filter logging 2023-04-22 11:26:21 -05:00
Sean Sube 106b377a57
pass strength to loopback 2023-04-22 11:01:47 -05:00
Sean Sube 954d8e9c1c
move loopback into the right code path 2023-04-22 10:54:39 -05:00
Sean Sube d21346e5da
apply lint 2023-04-22 10:42:22 -05:00
Sean Sube 00fb64ba82
feat: add img2img loopback (#331) 2023-04-22 10:39:23 -05:00
Sean Sube 7b0095a665
feat(api): add support for negative embeds (#348) 2023-04-22 10:05:58 -05:00
Sean Sube 9e9feb2ea0
lint(api): consistently use server dtype 2023-04-22 00:28:29 -05:00
Sean Sube 9bb612f54e
fix(api): handle empty prompts (#340) 2023-04-22 00:28:10 -05:00
Sean Sube 6e7f202b8d
fix(api): store both pre-parse and parsed prompts (#320) 2023-04-22 00:11:33 -05:00
Sean Sube c7aea34b28
fix(api): use correct params for default outpainting borders (#345) 2023-04-20 22:33:18 -05:00
Sean Sube a46f00aeb4
fix(api): use slice multiplication for 3x3 kernels without CP decomp 2023-04-20 22:10:49 -05:00
Sean Sube 49781df2fd
apply lint 2023-04-20 21:26:16 -05:00
Sean Sube ff4c8a9404
handle tensors of the same rank 2023-04-20 20:24:37 -05:00
Sean Sube 3e8f4b3edf
fix(api): improve summing of mismatched weights 2023-04-20 20:06:43 -05:00
Sean Sube f0109d3406
fix(api): blend LoHA and LoRA weights for 1x1 kernels 2023-04-20 19:31:40 -05:00
Sean Sube e9e9d75f9d
fix(api): correct return value after fully converting checkpoints 2023-04-20 18:00:35 -05:00
Sean Sube 30c96be24f
send token with admin requests, return worker status after restarting 2023-04-20 17:36:29 -05:00
Sean Sube df0e7dc57e
feat: add admin endpoint to restart image workers (#207) 2023-04-20 07:36:31 -05:00
Sean Sube cfdd926fff
fix(api): wait for worker to become idle before enqueueing next job (#286) 2023-04-15 20:37:53 -05:00
Sean Sube 17e7b6aff2
fix(api): keep ControlNet metadata after lookup 2023-04-15 17:31:02 -05:00
Sean Sube 8d47b71183
fix(api): match ControlNet selection against model names 2023-04-15 17:21:13 -05:00
Sean Sube 31965356d8
fix(api): handle mixed tensors for ControlNet on CPU 2023-04-15 17:03:04 -05:00
Sean Sube 161913bb7e
fix(api): add pre-converted ControlNets to base sources, add missing ControlNet strings 2023-04-15 16:55:53 -05:00
Sean Sube e0e6b74b98
fix(api): correct parameter names for BSRGAN, use RRDB from BasicSR for Real ESRGAN 2023-04-15 16:20:46 -05:00
Sean Sube dd771663ef
fix(api): add missing arguments to prompt patch (#336) 2023-04-15 15:56:02 -05:00
Sean Sube b076326ab3
fix(api): restore inpaint pipeline option 2023-04-15 15:43:31 -05:00
Sean Sube b20df68131
fix(api): switch between available pipelines 2023-04-15 15:37:45 -05:00
Sean Sube 317029356e
apply lint 2023-04-15 14:42:14 -05:00
Sean Sube 95841ffe2b
fix(api): check diffusers version before imports (#336) 2023-04-15 14:32:22 -05:00
Sean Sube 1853214409
fix(build): install CPU deps during CI 2023-04-15 13:18:24 -05:00
Sean Sube 7b4ce44f51
fix(api): print border size in expected order 2023-04-15 12:36:41 -05:00
Sean Sube 16c6bdf85a
use correct ORT session options 2023-04-15 12:31:28 -05:00
Sean Sube 30968f7c33
apply LoRAs to correct UNet 2023-04-15 12:28:55 -05:00
Sean Sube 43d545e524
apply lint 2023-04-15 12:13:25 -05:00
Sean Sube ac9b3d3b08
implement noise and blur source filters, move LPW in with other pipelines 2023-04-15 11:58:19 -05:00
Sean Sube 6854cbf23c
add attribution for ControlNet and Pix2Pix pipelines 2023-04-15 11:44:20 -05:00
Sean Sube 735f9d174f
apply lint 2023-04-15 11:20:11 -05:00
Sean Sube c91916b4ca
hide img2img from pipelines list 2023-04-15 11:11:43 -05:00
Sean Sube 6effbea1eb
fix missing import 2023-04-15 10:57:37 -05:00
Sean Sube 7545d7c73d
add ControlNet UNet to existing checkpoints 2023-04-15 10:54:52 -05:00
Sean Sube 7f16b2f0ae
clean up CNet-only conversion code 2023-04-15 09:08:14 -05:00
Sean Sube 4fa9af7922
hide unused pipeline options 2023-04-15 09:02:17 -05:00
Sean Sube 0dd8272285
feat(api): convert CNet for existing diffusion models 2023-04-15 09:00:17 -05:00
Sean Sube 27954f3e65
feat(gui): add highres control to most tabs 2023-04-14 20:29:44 -05:00
Sean Sube ad35c41c9d
feat(api): add highres to img2img mode for all pipelines 2023-04-14 08:54:21 -05:00
Sean Sube c2f8ce5814
load UNet with ControlNet weights as needed 2023-04-13 23:05:00 -05:00
Sean Sube 06d55b0f1f
add filtered source to outputs 2023-04-13 22:51:59 -05:00
Sean Sube f986b75c85
remove redundant HF download calls 2023-04-13 21:46:46 -05:00
Sean Sube e2efa8c64e
fill in model names 2023-04-13 21:28:30 -05:00
Sean Sube 428fb06ecf
fix imports, add missing controlnet deps 2023-04-13 21:10:00 -05:00
Sean Sube 4df28a5ce7
feat: add menu for source image filters 2023-04-13 20:59:26 -05:00
Sean Sube 80d00e4477
feat(api): add source image filters for controlnet and others 2023-04-13 20:06:33 -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 982dc10e64
fix(api): make pix2pix work with scheduler with float sigma 2023-04-12 23:44:08 -05:00
Sean Sube eb428e9541
fix strength 2023-04-12 23:33:01 -05:00
Sean Sube 8bf888959f
fix controlnet strength param 2023-04-12 23:30:59 -05:00
Sean Sube c91bdb7679
fix serialization and scheduler 2023-04-12 23:26:16 -05:00
Sean Sube 6b51041ee8
feat(api): add list pipelines endpoint 2023-04-12 23:14:45 -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 b2556809e9
apply lint 2023-04-12 20:06:13 -05:00
Sean Sube 555ec5a644
turn controlnet into a select list and localize its label, fix name lookup on server 2023-04-12 20:03:00 -05:00
Sean Sube 948bec6d0f
load controlnets from network models list 2023-04-12 08:51:16 -05:00
Sean Sube 9e017ee35d
feat: add parameter for ControlNet selection 2023-04-12 08:43:15 -05:00
Sean Sube fbf576746c
attention fix for cnet export 2023-04-11 23:11:08 -05:00
Sean Sube f49a4ddfdf
test controlnet pipe 2023-04-11 23:06:32 -05:00
Sean Sube 113f21fd34
remove safety checker 2023-04-11 19:40:08 -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 1bfc7bee32
fix(api): run image workers as daemon procs 2023-04-10 23:23:08 -05:00
Sean Sube 76860f649a
feat(api): switch API server to Waitress (#159) 2023-04-10 23:21:13 -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 0a6c99d57e
lint repeated factors 2023-04-10 21:04:48 -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
Sean Sube 7f6da8eeca
feat(api): add params for SwinIR large models 2023-04-10 19:13:49 -05:00
Sean Sube 6570d19fa3
feat(api): add SwinIR real x4 to base models 2023-04-10 19:04:52 -05:00
Sean Sube 2a7621c195
feat(api): add params for more SwinIR models 2023-04-10 19:02:12 -05:00
Sean Sube e166989111
fix(api): use correct model for SwinIR 2023-04-10 17:57:42 -05:00
Sean Sube 62aa7e8473
feat(api): add initial support for BSRGAN and SwinIR upscaling (#153, #154) 2023-04-10 17:49:56 -05:00
Sean Sube 464bfd01b8
fix(api): apply FP16 patches to SD upscaling pipeline 2023-04-10 08:37:49 -05:00
Sean Sube 512f41135d
add logging when conv shapes do not match 2023-04-10 08:14:47 -05:00
Sean Sube 4db1737f98
apply lint 2023-04-10 08:09:29 -05:00
Sean Sube 7d2d865c19
convert LoHA T weights to same dtype, log shapes rather than data 2023-04-10 08:06:28 -05:00
Sean Sube 1ed51352c4
handle LoHA nodes with CP decomp 2023-04-10 08:06:22 -05:00
Sean Sube 88c7fd9f60
start handling Gemm nodes 2023-04-10 07:58:21 -05:00
Sean Sube df02e20b34
only use mids once 2023-04-10 07:58:18 -05:00
Sean Sube 4947734add
flip axis 2023-04-10 07:58:15 -05:00
Sean Sube 87bba0e169
reverse factors 2023-04-10 07:58:12 -05:00
Sean Sube d671cb8113
attempt layer by layer recomp 2023-04-10 07:58:08 -05:00
ForserX 7c4e729f85
Fix for LoHA weight and LoRA alpha read 2023-04-10 10:58:47 +03:00
Sean Sube b6bb246032
apply lint 2023-04-09 20:34:10 -05:00
Sean Sube 9698e29268
lint(api): name context params consistently (#278) 2023-04-09 20:33:03 -05:00
Sean Sube 7f504a5b5b
feat: add parameter for highres iterations (#316) 2023-04-09 19:53:00 -05:00
Sean Sube ff9ce03af5
fix(api): better handling for errors while converting checkpoint to torch (#165) 2023-04-09 18:05:44 -05:00
Sean Sube 34f1973707
feat(api): add support for PyTorch 2.0 (#292) 2023-04-09 16:07:40 -05:00
ForserX d244ca9a9c
LoHA: Fixed blending error 2023-04-08 13:46:05 +03:00
Sean Sube bd03edc2ad
fix(api): handle 3x3 kernels in LoHA networks 2023-04-07 20:54:42 -05:00
Sean Sube 7f7476bcbb
fix(api): use correct weight pairs in LoHA 2023-04-07 19:51:30 -05:00
Sean Sube 35432f1ab2
feat(api): experimental support for LoHA networks 2023-04-07 18:50:12 -05:00
Sean Sube 7e3ca8ab01
feat(api): support 3x3 kernels in LoRA and LoCONs 2023-04-06 23:34:55 -05:00
Sean Sube 25176fea4d
fix(api): correctly blend LoRAs into UNet during conversion 2023-04-06 23:34:06 -05:00
Sean Sube 1cfc538018
fix(api): ensure spiral grid coords are always whole pixels 2023-04-06 08:52:27 -05:00
Sean Sube c8382dc689
feat(api): implement spiral tile order for non-square images 2023-04-04 20:02:13 -05:00
Sean Sube 0fdf4d3092
implement proper spiral grid coverage 2023-04-03 21:39:17 -05:00
Sean Sube 56ff9022da
fix(api): use min/max from config for more params 2023-04-01 18:14:24 -05:00
Sean Sube 85b332467e
fix(api): convert hidden states to fp32 before doing normalization on the CPU (#309) 2023-04-01 17:49:25 -05:00
Sean Sube 8e5971a293
fix lone else 2023-04-01 17:14:56 -05:00
Sean Sube bbbef8d4ba
apply lint 2023-04-01 16:38:08 -05:00
Sean Sube 56c359c265
remove undefined names 2023-04-01 15:46:52 -05:00
Sean Sube 6bad599b3c
lint(api): move some chatty logs to trace level 2023-04-01 15:39:22 -05:00
Sean Sube ed694aa64f
pass highres scale param to upscaling method 2023-04-01 15:15:56 -05:00
Sean Sube e4f55af380
fix scale in upscale copy ctor 2023-04-01 14:59:59 -05:00
Sean Sube 89c3b2a403
correctly upscale highres tiles 2023-04-01 14:41:35 -05:00
Sean Sube 6d23491529
only run correction before highres when selected in options 2023-04-01 14:39:48 -05:00
Sean Sube f451d8db74
feat: add method parameter for highres mode 2023-04-01 14:26:45 -05:00
Sean Sube 0f79f420b7
apply lint 2023-04-01 12:06:31 -05:00
Sean Sube e0e09996de
fix(api): restart workers on HIP memory errors 2023-04-01 12:06:14 -05:00
Sean Sube 6aac0fe56b
fix(api): restart workers on MIOPEN memory errors 2023-04-01 11:59:03 -05:00
Sean Sube 3c2bab3156
fix highres steps max 2023-04-01 11:50:10 -05:00
Sean Sube 4f41145792
add highres to txt2img tab and request 2023-04-01 11:39:32 -05:00
Sean Sube ba09748e94
feat(gui): add highres parameters 2023-04-01 11:26:10 -05:00
Sean Sube f462d80cc4
run correction before highres 2023-03-31 23:55:51 -05:00
Sean Sube ca80e92707
fix progress for highres, increase img2img steps 2023-03-31 23:52:33 -05:00
Sean Sube 4ab1b6cc88
resize tiles before running refinement steps 2023-03-31 23:39:25 -05:00
Sean Sube 66e938f9ab
split steps before and after highres 2023-03-31 23:32:05 -05:00
Sean Sube cdaf1b8e5d
feat(api): add support for highres images 2023-03-31 23:27:16 -05:00
Sean Sube 93fcfd1422
fix(api): update LPW pipeline (#298) 2023-03-28 17:34:23 -05:00
Sean Sube 2bbc5d877f
lint(api): explicitly bind the device pool to shutdown callback 2023-03-27 17:13:45 -05:00
Sean Sube c2f8fb1d31
fix(api): combine names for ONNX fp16 optimization 2023-03-27 08:55:01 -05:00
Sean Sube 73e9cf8b66
fix(api): disable internal fp16 for VAE encoder (#290) 2023-03-27 08:10:40 -05:00
Sean Sube afa8f5e706
feat(api): add optimization for internal fp16 conversion 2023-03-26 22:41:12 -05:00
Sean Sube 0ea0442f02
apply lint 2023-03-26 18:24:22 -05:00
Sean Sube 4ddd69ba07
fix(api): watch for progress events from leaking workers 2023-03-26 18:22:16 -05:00
Sean Sube e1219cca90
fix(api): close queues after stopping workers 2023-03-26 18:21:53 -05:00
Sean Sube bb5d0635d1
sonar lint 2023-03-26 15:53:20 -05:00
Sean Sube 36bfccae09
fix(api): include worker totals in status endpoint 2023-03-26 15:49:43 -05:00
Sean Sube 2d2283e1eb
fix(api): attempt to read progress updates from recycled workers 2023-03-26 15:31:16 -05:00
Sean Sube 27500eccb5
fix(api): do not move jobs from pending to running until progress is reported 2023-03-26 14:22:59 -05:00
Sean Sube 0af406c47f
only enqueue jobs from progress worker 2023-03-26 14:02:57 -05:00
Sean Sube ccf8d51e08
feat(api): split up status endpoint by job status 2023-03-26 11:57:00 -05:00
Sean Sube ea36082e43
add job count to healthy worker logs 2023-03-26 11:53:06 -05:00
Sean Sube 8eab92a7df
define device on pending job 2023-03-26 11:49:58 -05:00
Sean Sube 83884bcafa
enqueue jobs on idle workers during progress check 2023-03-26 11:48:27 -05:00
Sean Sube 14ade83937
fix(api): enqueue next job when previous one finishes and after recycling worker 2023-03-26 11:41:45 -05:00
Sean Sube f3ab25f671
lint(api): add start method to worker pool 2023-03-26 11:30:07 -05:00
Sean Sube 2b179bebac
fix(api): always reset job counter when creating new device worker 2023-03-26 11:22:03 -05:00
Sean Sube 55e44e8ac9
fix(api): increment job counter for worker when it starts a new job (#283) 2023-03-26 11:18:27 -05:00
Sean Sube e552a5560f
feat(api): check device worker pool and recycle on a regular interval (#284) 2023-03-26 11:09:22 -05:00
Sean Sube aeb71ad50a
lint lock name 2023-03-26 08:30:34 -05:00
Sean Sube 95a61f3573
fix(api): restart worker threads when their respective queues are full 2023-03-25 13:46:12 -05:00
Sean Sube 88f4713e23
fix(api): use lock when restarting workers 2023-03-25 09:47:51 -05:00
Sean Sube 2c47904057
lint(api): use constant for model filename 2023-03-24 08:14:19 -05:00
Sean Sube 6b4c046867
pass pool to threads 2023-03-22 22:58:46 -05:00
Sean Sube 86c1b29c31
lint(api): extract worker thread main functions (#279) 2023-03-22 22:55:34 -05:00
Sean Sube 4dd68ea6b6
fix(api): restart worker threads if they crash 2023-03-22 19:58:46 -05:00
Sean Sube fa71d87e2c
apply lint 2023-03-21 22:19:50 -05:00
Sean Sube e445d2afaa
fix hidden state conversion 2023-03-21 22:08:17 -05:00
Sean Sube c8aad8554e
fix(api): convert back to model format after blending, convert samples as needed (#274) 2023-03-21 22:05:14 -05:00
Sean Sube 0315a8cbc6
fix(api): apply fp16 optimizations to LoRA and Textual Inversion blending 2023-03-21 21:45:27 -05:00
Sean Sube 4f6574c88e
sonar lint fixes 2023-03-21 17:11:38 -05:00
Sean Sube a660d9f1b1
apply lint 2023-03-20 22:28:48 -05:00
Sean Sube 7f459e0e29
correct extensions in ignore list 2023-03-19 23:31:11 -05:00
Sean Sube f779fbd5cc
fix(api): remove prefix before downloading for HF hub 2023-03-19 23:30:31 -05:00
Sean Sube 19712262e6
fix(api): filter out temporary files from model lists (#271) 2023-03-19 23:26:05 -05:00
Sean Sube ae3bcf3b8b
fix(api): add HF hub download to fetch logic for Inversion concepts 2023-03-19 20:32:21 -05:00
Sean Sube 0732058aa8
feat(api): detect Textual Inversion type from keys (#262) 2023-03-19 20:16:52 -05:00
Sean Sube fe498b16f0
fix(api): embed Inversion concepts using their name 2023-03-19 19:01:22 -05:00
Sean Sube 19d4d554c3
fix(api): add base token for Textual Inversion as sum layer 2023-03-19 18:04:21 -05:00
Sean Sube aefa5b4613
fix(api): clear job cancelled flag when worker starts a new job (#269) 2023-03-19 17:57:14 -05:00
Sean Sube 8acc15f52e
fix(api): better error handling around tensor loading 2023-03-19 15:38:43 -05:00
Sean Sube 07622690dc
fix(api): use Torch JIT and fallback loading 2023-03-19 15:31:35 -05:00
Sean Sube b797b3d616
fix(api): do not assume file extension for additional networks 2023-03-19 15:27:51 -05:00
Sean Sube 33008531e9
fix(api): load blending tensors onto CPU 2023-03-19 15:13:54 -05:00
Sean Sube 1c631c28d3
feat(api): add flag for ORT float16 optimizations 2023-03-19 11:59:35 -05:00
Sean Sube b8f816323e
fix(api): correctly load server env for conversion 2023-03-19 10:39:09 -05:00
Sean Sube 98e488319c
use fp16 optimization flag during conversion, add to admin docs 2023-03-19 10:33:46 -05:00
Sean Sube edd32f6044
apply lint, fix up log levels 2023-03-19 10:25:09 -05:00
Sean Sube 6f283c5c02
proxy nets that need fp16 conversion 2023-03-19 10:18:22 -05:00
Sean Sube bbd4c0fd72
dtype logging for potential fp16 params 2023-03-19 09:59:08 -05:00
Sean Sube 243a2d9df6
apply lint 2023-03-19 09:29:06 -05:00
Sean Sube 27bd10d2f7
fix(api): restrict CLIP skip token to integers, allow negative LoRA and Inversion weights 2023-03-19 09:13:40 -05:00
Sean Sube e6d7d30225
move tensor logs to trace level 2023-03-19 09:11:55 -05:00
Sean Sube 0e43acc0f7
fix(api): fetch sources and additional networks by default 2023-03-19 09:09:03 -05:00
Sean Sube b82246fdab
parse CLIP skip count from prompt 2023-03-19 08:43:39 -05:00
Sean Sube 46d1b5636d
normalize hidden states without using CLIP model class 2023-03-19 08:40:06 -05:00
Sean Sube 2ef00599b6
experimental CLIP skip 2023-03-19 08:17:40 -05:00
Sean Sube 9a949806d3
apply lint 2023-03-18 21:48:51 -05:00
Sean Sube 645da3d1a6
fix(api): allow dash in network names 2023-03-18 21:48:20 -05:00
Sean Sube a9e55ff9f2
remove references to inversion parameter 2023-03-18 19:47:22 -05:00
Sean Sube 5363037ab1
use network name in label key 2023-03-18 19:43:00 -05:00
Sean Sube 61d12b8ebd
include model type in label when present 2023-03-18 19:34:03 -05:00
Sean Sube f8f36e602c
feat(api): load i18n labels from additional networks 2023-03-18 19:25:22 -05:00
Sean Sube 2e89fd43d3
fix(api): only remove running jobs from running state 2023-03-18 19:21:40 -05:00
Sean Sube 716e009611
serialize networks 2023-03-18 19:21:15 -05:00
Sean Sube 2d112104fb
feat: show additional networks in client 2023-03-18 19:15:23 -05:00
Sean Sube e5862d178c
fix(api): assume inversion tokens are embeddings for now 2023-03-18 18:35:11 -05:00
Sean Sube ed8a7c8934
fix(api): move prompt parsing logs to trace level 2023-03-18 17:32:32 -05:00
Sean Sube d321321507
fix fields 2023-03-18 17:28:59 -05:00
Sean Sube 1d52dc684d
init last progress on worker context 2023-03-18 17:27:41 -05:00
Sean Sube e08a9aa2ab
add pending job list to pool 2023-03-18 17:26:28 -05:00
Sean Sube 8cbdad3a71
feat(api): add pending field to image ready response 2023-03-18 17:25:13 -05:00
Sean Sube 15b6e036e1
fix(api): maintain list of pending jobs 2023-03-18 17:15:18 -05:00
Sean Sube 588c8c7fdb
fix(api): track last progress within worker 2023-03-18 15:32:49 -05:00
Sean Sube 5106dd48a9
remove another ref to finished queue 2023-03-18 15:27:07 -05:00
Sean Sube b026566ccb
remove remaining references to finished queue and worker 2023-03-18 15:26:19 -05:00
Sean Sube d1565b056e
apply lint, make missing images an error 2023-03-18 15:16:41 -05:00
Sean Sube 7cf5554bef
feat(api): add error flag to image ready response 2023-03-18 15:13:42 -05:00
Sean Sube f336cc5d02
fix(api): provide noise parameter to SD upscaling (#196) 2023-03-18 14:02:30 -05:00
Sean Sube a9456f4a16
fix(api): bump default model cache to 5 (#242) 2023-03-18 13:47:39 -05:00
Sean Sube aec540a524
feat(api): add server setting for CUDA memory limit (#211) 2023-03-18 13:40:37 -05:00
Sean Sube af326a784f
fix(api): avoid loading encoder twice when using LoRAs and inversions together 2023-03-18 13:39:35 -05:00
Sean Sube 9f9b73b780
fix(api): use ORT session for correct device when loading blended nets 2023-03-18 13:39:04 -05:00
Sean Sube 84718e5928
feat(scripts): add env debug script (#191) 2023-03-18 13:16:59 -05:00
Sean Sube 5b308d5fc1
lint(api): improve logging for inversion tokens 2023-03-18 12:04:39 -05:00
Sean Sube 2cb0a6be3c
more lint 2023-03-18 11:55:06 -05:00
Sean Sube e104c81e19
apply lint 2023-03-18 11:50:09 -05:00
Sean Sube a1f17c0877
fix dest paths for blended nets 2023-03-18 11:37:16 -05:00
Sean Sube f465120cad
use conversion dest path when applying additional nets 2023-03-18 11:34:05 -05:00
Sean Sube 1f6105a8fe
make blend functions take tuples rather than split lists 2023-03-18 10:50:48 -05:00
Sean Sube 40c92f054b
add networks as conversion arg 2023-03-18 10:22:24 -05:00
Sean Sube 5dd14c19ce
feat(api): build a single token for multi-layer Textual Inversions (#212) 2023-03-18 07:47:36 -05:00
Sean Sube af62c1c3b6
apply lint 2023-03-18 07:41:29 -05:00
Sean Sube e3bf04ab8f
feat(api): add section to extras file for additional networks 2023-03-18 07:40:57 -05:00
Sean Sube c3979246df
make blending happen once after conversion 2023-03-18 07:14:22 -05:00
Sean Sube 32b2a76a0b
fix(api): download additional networks to their own subdir in models 2023-03-18 07:07:05 -05:00
Sean Sube 84bd852837
feat(api): blend LoRAs and Textual Inversions from extras file 2023-03-18 07:01:24 -05:00
Sean Sube 1d44f985a4
fix(api): restore python 3.8 compatibility 2023-03-17 23:07:10 -05:00
Sean Sube c943a55a44
fix(api): move imports of patches modules into function 2023-03-17 23:06:39 -05:00
Sean Sube 226710a015
fix(api): use exception level logs 2023-03-16 22:29:07 -05:00
Sean Sube d3a17ec648
fix logging metadata 2023-03-16 21:45:57 -05:00
Sean Sube 4b832f3d8d
more lint, more trace 2023-03-16 20:22:20 -05:00
Sean Sube 9f0a6f134e
fix(api): move model conversion messages to trace level 2023-03-16 19:37:25 -05:00
Sean Sube c397c1e42a
apply sonar lint 2023-03-16 18:47:04 -05:00
Sean Sube f4c0c52029
apply lint 2023-03-16 18:35:30 -05:00
Sean Sube 959798eabb
feat(api): add trace log level 2023-03-16 18:34:47 -05:00
Sean Sube c8c5e9f42e
fix(api): handle more out-of-memory errors in the workers 2023-03-16 18:34:28 -05:00
Sean Sube 315e5a3837
fix(api): add theoretical support for 3x3 conv in LoRA 2023-03-15 19:37:17 -05:00
Sean Sube 8e8e230ffd
apply lint 2023-03-15 19:27:29 -05:00
Sean Sube 506cf9f65f
feat(api): blend Textual Inversions from prompt 2023-03-15 17:14:52 -05:00
Sean Sube 973ad0f682
fix inversion var 2023-03-15 08:57:17 -05:00
Sean Sube b451196dfa
add prefix to inversion path 2023-03-15 08:55:35 -05:00
Sean Sube 421ed632b1
only use name from first inversion 2023-03-15 08:53:15 -05:00
Sean Sube b2eb406197
fix(api): handle CUDA memory errors in workers 2023-03-15 08:51:29 -05:00
Sean Sube a2e21f427f
feat(api): load Textual Inversions from prompt 2023-03-15 08:51:12 -05:00
Sean Sube 829cedc934
fix error when prompt has no LoRA tokens 2023-03-15 08:35:44 -05:00
Sean Sube a7f77a033d
feat(api): parse LoRA weights from prompt 2023-03-15 08:30:31 -05:00
Sean Sube 45166f281e
apply lint 2023-03-14 23:32:47 -05:00
Sean Sube 91210ee236
remove extra param, correct output path 2023-03-14 23:32:18 -05:00
Sean Sube 143904fc51
feat(api): parse LoRA names from prompt 2023-03-14 22:28:18 -05:00
Sean Sube 03f4e1b922
start wiring LoRAs into prompt 2023-03-14 22:10:33 -05:00
Sean Sube ce05e76947
load base models from model dir, use correct ORT provider 2023-03-14 21:57:37 -05:00
Sean Sube 56a4519818
test loading UNet and encoder with LoRAs 2023-03-14 21:27:23 -05:00
Sean Sube 2a8c85cb3e
feat(api): blend ONNX models in memory 2023-03-14 19:38:27 -05:00
Sean Sube 4c17edb267
feat(api): add conversion script for LoRAs from sd-scripts (#213) 2023-03-14 18:17:00 -05:00
Sean Sube 0b1aa26be5
blend LoRAs into a valid ONNX UNet (#213) 2023-03-12 13:38:51 -05:00
Sean Sube 919f88c7d0
fix(tests): clear cache between tests 2023-03-11 13:59:09 -06:00
Sean Sube 9555a7a3ea
lint(api): only log new worker message if some workers need to be restarted 2023-03-11 13:30:54 -06:00
Sean Sube 9c65922526
lint(api): remove unnecessary delete calls 2023-03-11 13:30:33 -06:00
Sean Sube 575cb8831b
fix(api): make cache global within each worker process (#227) 2023-03-11 13:30:11 -06:00
Sean Sube 01d3519aa3
fix(api): remove unused num_workers logic from server 2023-03-11 08:17:27 -06:00
Sean Sube 8e5d0871c8
log which cache items have been pruned 2023-03-11 08:06:22 -06:00
Sean Sube cb2b054fde
fix(api): only run GC when a diffusion model has been replaced 2023-03-11 08:06:03 -06:00
Sean Sube cd11e8f3ab
use a proper fake config class 2023-03-10 18:57:01 -06:00
Sean Sube df1504d9b0
use fake VAE config 2023-03-10 18:50:01 -06:00
Sean Sube 555de5e07d
fix(api): correct VAE config check 2023-03-10 18:46:07 -06:00
Sean Sube e960ee1d85
fix(api): patch VAE for SD upscaling on older versions of diffusers (#234) 2023-03-10 18:42:11 -06:00
Sean Sube 6bdaa4a4ed
fix(api): make stage-specific source image optional in GFPGAN stage (#233) 2023-03-10 18:15:31 -06:00
Sean Sube da3d95ff49
fix(api): include bottom margin when calculating output size 2023-03-10 17:59:16 -06:00
Sean Sube fe437e8cd4
feat: add support for UniPC multistep scheduler (#226) 2023-03-09 08:00:59 -06:00
Sean Sube 21c60709bc
fix(api): move prompt splitting logging to debug level 2023-03-08 22:55:58 -06:00
Sean Sube 25c41c8d66
feat(api): add an option to remove temporary Torch files after converting to ONNX (#122) 2023-03-08 21:38:17 -06:00
Sean Sube 6e71775782
fix(api): load LPW pipeline from local source (#224) 2023-03-08 19:47:22 -06:00
Sean Sube 7bd98d4a46
apply lint 2023-03-07 23:57:39 -06:00
Sean Sube bc21165fd9
fix path ref 2023-03-07 23:54:32 -06:00
Sean Sube c0b88733b8
fix(api): check for cache rather than converted model before fetch 2023-03-07 23:51:27 -06:00
Sean Sube 843e2f1ff3
feat(api): look for an index file when checking for converted models (#222) 2023-03-07 23:40:04 -06:00
Sean Sube 30b08c6d6d
fix(api): log correct token when converting Textual Inversions 2023-03-07 23:05:53 -06:00
Sean Sube 6542646005
fix(api): match format in schema for sd-concepts 2023-03-07 22:53:05 -06:00
Sean Sube 85ff700525
apply lint 2023-03-07 22:40:17 -06:00
Sean Sube 0a4f83ac0f
feat(api): add range syntax to expand numbered tokens (#179) 2023-03-07 20:48:26 -06:00
Sean Sube 66c42485cb
feat(api): add support for extremely long prompts 2023-03-07 19:00:25 -06:00
Sean Sube c45915e558
fix(api): use server model path while converting SD checkpoints (#221) 2023-03-07 18:55:14 -06:00
Sean Sube 9d9bd1a639
apply lint 2023-03-07 08:02:53 -06:00
Sean Sube af1c3c7839
fix(api): track items removed from cache 2023-03-06 07:34:09 -06:00
Sean Sube 339868de4d
fix(api): use pipeline class name in cache key 2023-03-05 21:54:09 -06:00
Sean Sube 55576ae87c
fix(api): include cache keys in logs 2023-03-05 21:50:01 -06:00
Sean Sube 35dc8a0bc4
improve exit logging 2023-03-05 21:37:39 -06:00
Sean Sube c0a01efef4
fix(api): track currently active worker for each device 2023-03-05 21:28:21 -06:00
Sean Sube 57fed94337
fix(api): exit worker on memory allocation errors 2023-03-05 21:11:33 -06:00
Sean Sube cb460a0c59
fix(api): add worker PID to log messages 2023-03-05 20:25:02 -06:00
Sean Sube 4ae4ce176c
fix(api): attempt to recycle leaking workers when a job finishes 2023-03-05 20:13:28 -06:00
Sean Sube 3a4928e59b
fix(api): prevent workers from blocking on their progress queues 2023-03-05 20:07:06 -06:00
Sean Sube edc55ae8b4
fix(api): finished job notification should not block worker 2023-03-05 19:53:44 -06:00
Sean Sube cfc20d3133
fix(api): improve cache logging 2023-03-05 19:30:52 -06:00
Sean Sube 39b9741b24
fix(api): show VRAM percent in logs 2023-03-05 19:23:23 -06:00
Sean Sube 7a3a81a4ef
fix(api): track and repeatedly attempt to recycle leaking workers (#219) 2023-03-05 18:58:13 -06:00
Sean Sube 468870e2e7
apply lint 2023-03-05 08:14:47 -06:00
Sean Sube 00fa9c5807
feat(api): collect labels from textual inversions (#144) 2023-03-05 08:00:25 -06:00
Sean Sube 6d2dd0a043
apply lint 2023-03-05 07:20:43 -06:00
Sean Sube 539d0febce
load extras during server init 2023-03-05 07:20:37 -06:00
Sean Sube 537c67619e
fix strings endpoint 2023-03-05 07:20:34 -06:00
Sean Sube 5d459ab17c
feat: allow users to add their own labels for models (#144) 2023-03-05 07:20:31 -06:00
Sean Sube 628812fb0b
fix(api): correct conversion imports 2023-03-04 23:03:15 -06:00
Sean Sube 43d4d4b86d
chore(api): dedupe model listing logic 2023-03-04 22:26:27 -06:00
Sean Sube 10fbafaff0
fix(api): correct imports 2023-03-04 22:25:49 -06:00
Sean Sube 7b88371832
lint(api): use load pattern in server submodule 2023-03-04 22:13:09 -06:00
Sean Sube bb1d945761
lint(api): submodules for major libs 2023-03-04 22:12:35 -06:00
Sean Sube 39d36618e6
feat(api): add support for custom tokens for textual inversions (#179) 2023-03-02 23:32:20 -06:00
Sean Sube 22e9d54408
apply lint 2023-03-02 22:32:37 -06:00
Sean Sube be1c8cd79f
feat(api): support ckpt inversions by splitting multivector embeddings into multiple tokens 2023-03-02 22:11:27 -06:00
Sean Sube 9a0d2051fb
fix(api): better logging when converting textual inversions 2023-03-02 07:57:59 -06:00
Sean Sube 46aac263d5
feat(api): initial support for textual inversion embeddings from civitai and others (#179) 2023-03-01 19:09:51 -06:00
Sean Sube 1f3a5f6f3c
fix(api): track completed jobs for each device worker (#170) 2023-03-01 19:09:18 -06:00
Sean Sube 4b77a00ca7
fix(api): load tokenizer with textual inversions 2023-03-01 19:08:31 -06:00
Sean Sube 21fc7c5968
fix(api): mark all convert methods as no_grad 2023-03-01 08:26:40 -06:00
Sean Sube 3f9f94fcb5
apply lint, remove unused 2023-02-28 23:05:17 -06:00
Sean Sube 2f4ab20f61
use filename for tensors 2023-02-28 22:49:53 -06:00
Sean Sube 74aae1b027
fix(api): write external weights into same directory as optimized model 2023-02-28 22:47:02 -06:00
Sean Sube dbf9eaf1a4
fix(api): run shape inference before converting models to fp16
per discussion in https://github.com/microsoft/onnxruntime/issues/14827
2023-02-28 22:36:45 -06:00
Sean Sube 86984be5d4
better error logging during conversion 2023-02-28 22:36:36 -06:00
Sean Sube 9ef89db8b0
extract tensors after conversion 2023-02-28 22:36:33 -06:00
Sean Sube 7e65e21410
reload model from proto file before converting 2023-02-28 22:36:26 -06:00
Sean Sube 2210ee849b
only convert inner nodes with ORT conversion helpers 2023-02-28 22:26:04 -06:00
Sean Sube b532570f54
fix(api): reuse ORT session params for each device 2023-02-28 22:24:38 -06:00
Sean Sube 565873b3ae
test half precision on all diffusion models 2023-02-28 22:23:55 -06:00
Sean Sube 1f9efb433a
apply lint 2023-02-28 22:04:55 -06:00
Sean Sube 12fb7f52bb
fix(api): sanitize filenames in user input 2023-02-28 21:56:12 -06:00
Sean Sube c99aa67220
name threads, max queues, type/lint fixes 2023-02-28 21:44:52 -06:00
Sean Sube c95ac1fbdd
avoid terminating workers because it breaks their queues 2023-02-28 08:53:17 -06:00
Sean Sube 0011f079d4
daemonize queue collectors 2023-02-28 06:55:15 -06:00
Sean Sube cad0d37604
some pending queue logging 2023-02-27 23:43:38 -06:00
Sean Sube 4ae3d9caa2
remove task done 2023-02-27 23:18:37 -06:00
Sean Sube 7e0ccdb1af
remove pending queues after joining 2023-02-27 23:14:20 -06:00
Sean Sube 1ce98ace33
add value error handling 2023-02-27 23:12:53 -06:00
Sean Sube f7f438e767
directly rejoin pool 2023-02-27 23:03:42 -06:00
Sean Sube da6ae5d62f
more logging around shutdown, close queues 2023-02-27 23:01:26 -06:00
Sean Sube 988088d64e
quit workers on keyboard signal 2023-02-27 22:52:43 -06:00
Sean Sube 953e5abd36
handle empty errors 2023-02-27 22:45:29 -06:00
Sean Sube 136759285d
set queue timeouts 2023-02-27 22:37:43 -06:00
Sean Sube 0793b61c3a
consistently pass job key to workers 2023-02-27 22:25:53 -06:00
Sean Sube 06f06f5a11
error handling in all threads 2023-02-27 19:48:51 -06:00
Sean Sube 113ad05293
typo 2023-02-27 17:36:26 -06:00
Sean Sube 2327b24022
join all threads 2023-02-27 17:35:31 -06:00
Sean Sube 66a20e60fe
run logger in a thread, clean up status 2023-02-27 17:14:53 -06:00
Sean Sube 13395933dc
always put progress in active jobs 2023-02-26 20:41:16 -06:00
Sean Sube a37d1a4550
use progress queue 2023-02-26 20:37:22 -06:00
Sean Sube 401ee20526
fix finished flag 2023-02-26 20:13:16 -06:00
Sean Sube 525ee24e91
track started and finished jobs 2023-02-26 20:09:42 -06:00
Sean Sube eb82e73e59
initialize list of finished jobs 2023-02-26 15:26:54 -06:00
Sean Sube b931da1d2c
fix imports, lint 2023-02-26 15:21:58 -06:00
Sean Sube 85118d17c6
clear worker flags between jobs, attempt to record finished jobs again 2023-02-26 15:06:40 -06:00
Sean Sube d1961afdbc
re-implement cancellation 2023-02-26 14:36:32 -06:00
Sean Sube 584dddb5d6
lint all the new stuff 2023-02-26 14:15:30 -06:00
Sean Sube b880b7a121
set process titles, terminate workers 2023-02-26 13:09:24 -06:00
Sean Sube 6502e1e3c8
recycle worker pool after 10 jobs 2023-02-26 12:58:38 -06:00
Sean Sube e0737e9e08
update progress and finished flag from worker 2023-02-26 12:51:11 -06:00
Sean Sube f115326da7
apply patches within workers 2023-02-26 12:32:48 -06:00
Sean Sube e1d0ad54b7
lock per worker, torch before ORT 2023-02-26 12:24:51 -06:00
Sean Sube d765a6f01b
make logger start up well 2023-02-26 11:16:33 -06:00
Sean Sube 6998e8735c
rejoin worker pool 2023-02-26 10:47:31 -06:00
Sean Sube 06c74a7a96
feat(api): remove Flask app from global scope 2023-02-26 10:15:12 -06:00
Sean Sube 943281feb5
wire up worker jobs 2023-02-25 23:55:30 -06:00
Sean Sube f898de8c54
background workers, logger 2023-02-25 23:49:39 -06:00
Sean Sube e46a1e5fd0
begin switching to per-device torch mp workers 2023-02-25 23:16:32 -06:00
Sean Sube e03b637f54
fix(api): only run CUDA GC on CUDA devices 2023-02-25 22:32:01 -06:00
Sean Sube cb8e9e7080
fix scheduler caching 2023-02-25 13:14:34 -06:00
Sean Sube 18f59f034d
avoid passing None as encoder 2023-02-25 13:12:58 -06:00
Sean Sube 3626d69f40
fix(api): correctly handle missing inversion param 2023-02-25 12:54:51 -06:00
Sean Sube 973b0a9352
add context arg 2023-02-25 12:13:22 -06:00
Sean Sube d88f13cbd7
lint LoRA code and extras, replace public paths with context ones 2023-02-25 12:12:10 -06:00
Sean Sube ce74183e97
blend LoRAs into existing model 2023-02-25 11:53:43 -06:00
Sean Sube e8b5ff250d
add none option to inversion menu 2023-02-25 11:53:37 -06:00
Sean Sube 7ad8385c5b
load from encoder path, add default param 2023-02-25 11:53:34 -06:00
Sean Sube 2e7de16778
feat: add a way to select textual inversions 2023-02-25 11:53:32 -06:00
Sean Sube 45f5fca383
use correct fn to make dirs 2023-02-25 11:53:29 -06:00
Sean Sube 3dfaef041e
fix devices, make subdir 2023-02-25 11:53:26 -06:00
Sean Sube 3f4b3fa322
load CLIP on training device 2023-02-25 11:53:23 -06:00
Sean Sube 6b4ced2608
load inversions from extras file 2023-02-25 11:53:20 -06:00
Sean Sube 9dedfc7b28
add experimental LoRA blender 2023-02-25 11:53:17 -06:00
Sean Sube a31f7b9e1f
feat(api): convert Textual Inversion weights 2023-02-25 11:53:13 -06:00
Sean Sube 947a1bfdec
fix variable names 2023-02-25 11:26:10 -06:00
Sean Sube 44393e3770
feat(api): add txt2txt endpoint 2023-02-25 11:20:36 -06:00
Sean Sube fd013c88ef
fix(api): enable optimizations during model conversion 2023-02-23 18:43:49 -06:00
Sean Sube 14c7e6a78c
apply lint 2023-02-21 08:26:09 -06:00
Sean Sube 82016a163a
restore single output in chain pipeline stages 2023-02-21 08:14:04 -06:00
Sean Sube 33ab23a474
convert to list of outputs 2023-02-20 23:47:43 -06:00
Sean Sube b65e4e7cbe
use batch size when generating latents 2023-02-20 21:57:46 -06:00
Sean Sube 2c8bd4b043
read batch parameter from request 2023-02-20 21:46:23 -06:00
Sean Sube 5f3b84827b
feat(api): add batch size to txt2img and img2img pipelines (#195) 2023-02-20 08:35:18 -06:00
Sean Sube 0deaa8898d
fix(api): add missing params to SD upscale 2023-02-19 23:30:48 -06:00
Sean Sube c1189aad96
feat: add eta parameter (fixes #194) 2023-02-19 23:29:26 -06:00
Sean Sube 40e396a2c4
sonar lint fixes 2023-02-19 22:10:35 -06:00
Sean Sube f561dfae83
fix(api): correct blending mask (fixes #188) 2023-02-19 11:04:11 -06:00
Sean Sube c459e96523
fix(api): report accurate size when face correction is run twice 2023-02-19 10:27:05 -06:00
Sean Sube f7eefe4bd2
more sonar lint 2023-02-19 07:54:27 -06:00
Sean Sube c69e342ee4
apply sonar lint 2023-02-19 07:53:20 -06:00
Sean Sube 30978e3e5b
fix(api): only run GC is devices are passed 2023-02-19 07:41:16 -06:00
Sean Sube 3789862a6f
mark unused params, fix shared lists 2023-02-19 07:37:29 -06:00
Sean Sube b7a780bacc
correct param name for upscale mask 2023-02-18 22:53:57 -06:00
Sean Sube 30f16035bc
fix upscale copy ctor 2023-02-18 22:36:26 -06:00
Sean Sube ac1f7449bb
fix(api): use stage source when available 2023-02-18 22:11:44 -06:00
Sean Sube 25c56c7d5c
fix imports 2023-02-18 20:28:21 -06:00
Sean Sube 3fd90a667d
lint(api): remove unused strength param from inpaint pipeline 2023-02-18 18:56:56 -06:00
Sean Sube 1a45aa68fa
clean up some exports, lint 2023-02-18 18:55:42 -06:00
Sean Sube 2b83f942af
restore original LPW names 2023-02-18 18:55:02 -06:00
Sean Sube 4d93c13431
apply lint, fix shadowed names 2023-02-18 17:59:13 -06:00
Sean Sube b4f7973c1e
lint(api): use consistent name for source/mask images to avoid conflict with kwargs 2023-02-18 16:35:57 -06:00
Sean Sube 7b8ced0f68
feat(api): prefer chain stage parameters over request parameters (#138) 2023-02-18 16:27:48 -06:00
Sean Sube bfdb071c2d
chore(docs): explain model optimizations 2023-02-18 16:06:05 -06:00
Sean Sube e0a62ccbb5
better ONNX optimization logging 2023-02-18 15:47:31 -06:00
Sean Sube 881b290116
return session options properly 2023-02-18 15:45:28 -06:00
Sean Sube 5b4c370a1b
feat(api): enable ONNX optimizations through env 2023-02-18 15:44:39 -06:00
Sean Sube 0d2211ff25
apply lint 2023-02-18 14:14:13 -06:00
Sean Sube f534fbb92c
fix(api): restore separate upscale and correction stages 2023-02-18 11:59:39 -06:00
Sean Sube 118695d68c
fix(api): add error handling for optimizations 2023-02-18 11:57:18 -06:00
Sean Sube ab6462d095
feat(api): enable optimizations for SD pipelines based on env vars (#155) 2023-02-18 11:53:13 -06:00
Sean Sube ff57527274
remove unused enum 2023-02-18 11:16:33 -06:00
Sean Sube ffc4eb09f1
update reported image size when correction is run twice 2023-02-18 11:14:34 -06:00
Sean Sube 6dd0edc374
apply lint 2023-02-18 11:05:38 -06:00
Sean Sube f051af359d
make default order match type 2023-02-18 11:05:23 -06:00
Sean Sube ecf3c03f0f
feat: add parameter to run correction before upscaling (#132) 2023-02-18 11:04:08 -06:00
Sean Sube b2de114c8c
fix(api): disable progress in diffusers pipelines 2023-02-18 09:42:38 -06:00
Sean Sube 8dd55cc556
fix(api): disable HF hub progress 2023-02-18 09:37:27 -06:00
Sean Sube 15060e6c7d
fix(api): create conversion context from environment vars 2023-02-18 09:31:20 -06:00
Sean Sube b4e66ef502
feat(api): add flag to disable progress bars (#158) 2023-02-18 09:26:13 -06:00
Sean Sube 400e579491
Merge branch 'feat/113-onnx-resrgan' 2023-02-18 09:23:36 -06:00
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