1
0
Fork 0
Commit Graph

356 Commits

Author SHA1 Message Date
Sean Sube cf2cf51b17
fix(api): resolve XL VAE within model folder 2023-09-11 20:21:43 -05:00
Sean Sube cd06f9291b
add custom VAE and fp16 support to SDXL conversion 2023-09-11 18:18:38 -05:00
Sean Sube 51b10de265
pass initial device to chain 2023-09-10 22:46:06 -05:00
Sean Sube 956a260db6
fix import 2023-09-10 12:15:39 -05:00
Sean Sube f2d0c2f765
apply lint 2023-09-10 11:53:36 -05:00
Sean Sube fe68670844
feat(api): add conversion for SDXL models 2023-09-10 11:52:46 -05:00
Sean Sube 1d5ac7dde5
optimize XL LoRA node matching 2023-09-04 21:20:54 -05:00
Sean Sube ea9023c2eb
fix(api): only run SDXL LoRA node matching on XL models 2023-09-04 21:20:39 -05:00
Sean Sube ecac0d5770
apply lint 2023-09-04 21:20:33 -05:00
Sean Sube bbacfd1ca0
feat(api): support for SDXL LoRAs 2023-09-04 21:20:30 -05:00
Sean Sube 404a314050
lint(api): add typed errors from cancelled job and download error 2023-09-04 21:20:04 -05:00
Sean Sube 8e1f188d8f
fix(api): pass replacement VAE to diffusers conversion 2023-09-04 21:19:36 -05:00
Sean Sube 6ec7777f77
lint(api): type fixes and hints throughout 2023-07-04 10:20:28 -05:00
Sean Sube 7c8dc7a6b6
feat(api): create hash file for models without one 2023-06-27 08:17:21 -05:00
Sean Sube 062b1c47aa
feat(api): write model hashes to image exif 2023-06-26 17:24:34 -05:00
Sean Sube 7db53a82df
fix(api): correctly handle sliced kernels 2023-06-17 14:51:58 -05:00
Sean Sube 1506f51ff4
fix(api): handle more SwinIR models 2023-06-16 21:53:49 -05:00
Sean Sube 5713957026
fix(api): keep kernel slices within bounds 2023-06-16 20:49:43 -05:00
Sean Sube c1a4484b75
apply lint 2023-06-16 20:43:28 -05:00
Sean Sube 719b34967f
fix(api): handle blending of mismatched kernels 2023-06-16 20:41:25 -05:00
Sean Sube ac2eceb0ac
fix(api): remove trailing space from param name 2023-06-10 11:54:33 -05:00
Sean Sube e64b813ac0
fix(api): pass inpaint param to checkpoint extraction 2023-06-10 11:52:25 -05:00
Sean Sube 665cf57a86
fix typo 2023-06-10 11:30:47 -05:00
HoopyFreud 22ff0be758 fix inpainting conversion via torch 2023-06-10 12:01:02 -04:00
Sean Sube f4d944acbe
apply lint 2023-06-08 07:20:19 -05:00
Sean Sube 3f00da9681
feat(api): add option for CPU-only conversion on systems with CUDA 2023-06-08 07:20:03 -05:00
Sean Sube 4810ca858a
fix(api): correct name of torch extraction var 2023-06-03 09:52:31 -05:00
Sean Sube 4dc192a2c7
apply lint 2023-05-28 19:44:16 -05:00
Sean Sube 00b1bec7a9
fix(api): skip loading custom VAE after torch extraction (#379) 2023-05-27 12:31:08 -05:00
Sean Sube 3adafeaa3d
fix(api): switch back to torch extraction for now (#379) 2023-05-27 12:29:17 -05:00
Sean Sube 86d458a0c6
fix(api): avoid passing cache path before sanitizing config name 2023-05-27 12:27:33 -05:00
Sean Sube 24f1ecc0eb
fix(api): load local custom VAE from within model path 2023-05-27 11:26:16 -05:00
Sean Sube 1562f4011e
replace pydantic polyfill 2023-05-20 20:19:41 -05:00
Sean Sube eb53238fd5
do not override source after fetch 2023-05-20 20:15:19 -05:00
Sean Sube df2e854dcc
fix load_yaml import 2023-05-20 20:09:45 -05:00
Sean Sube 9fa1f0387b
add env var for torch extraction 2023-05-20 20:06:54 -05:00
Sean Sube 9c28154dee
feat(api): add option to reload CNet for conversion 2023-05-20 15:19:38 -05:00
Sean Sube 20107f559a
use Torch working model for conversion 2023-05-20 15:12:39 -05:00
Sean Sube 339441cb16
fix(api): restore old checkpoint conversion code path 2023-05-20 13:41:23 -05:00
Sean Sube fe80e61e79
fix CNet conversion condition 2023-05-14 20:53:12 -05:00
Sean Sube b6a4cbaae1
fix(api): collate CNet after unloading UNet 2023-05-14 20:43:16 -05:00
Sean Sube 01ab864a55
collate UNet after unloading original, add option to skip pipeline loading test 2023-05-14 20:29:18 -05:00
Sean Sube 56fa0729b5
fix conversion context 2023-05-14 20:05:49 -05:00
Sean Sube 0d51d61728
feat(api): add env vars for controlnet conversion and opset 2023-05-14 20:04:43 -05:00
Sean Sube a99388645a
correct import 2023-05-14 19:56:40 -05:00
Sean Sube e2035c3fbf
fix(api): run GC during diffusers conversion, add flag to skip ControlNet (#369) 2023-05-14 19:30:30 -05:00
Sean Sube f1856cb0d2
reload models and extras after conversion 2023-05-08 21:59:27 -05:00
Sean Sube 6f38d35c73
default content type, use arg parser for override 2023-05-08 21:56:05 -05:00
Sean Sube c992c03584
write extras as string, override conversion args from endpoint 2023-05-08 21:49:36 -05:00
Sean Sube da6aa15afc
fix(api): fully qualify HF models (#371) 2023-05-05 18:33:54 -05:00
Sean Sube d66bf9e54f
fix(api): download pretrained models from HF correctly (#371) 2023-05-03 22:21:04 -05:00
Sean Sube b6692f068e
fix(api): parse config files as JSON or YAML depending on extension (#370) 2023-05-03 22:15:17 -05:00
Sean Sube 5dfb09bd3c
fix(api): use existing progress counter for highres and loopback 2023-04-30 17:27:51 -05:00
Sean Sube 572a5159ad
fix(api): limit fp16 ops for v2.1 models (#364) 2023-04-30 08:49:34 -05:00
Sean Sube bf2f77d7a2
apply lint 2023-04-29 23:12:15 -05:00
Sean Sube 077845e868
fix log levels 2023-04-29 23:11:46 -05:00
Sean Sube 62abc76f3f
convert checkpoint dtype after loading 2023-04-29 23:08:48 -05:00
Sean Sube e28bbe2c18
set safetensor and dtype when loading 2023-04-29 23:05:51 -05:00
Sean Sube 1c308e0bab
collect and summarize errors while converting models 2023-04-29 22:58:58 -05:00
Sean Sube bc71583393
fix(api): add model image size and version hint to extras file 2023-04-29 22:56:52 -05:00
Sean Sube 2690eafe09
fix(api): pass correct text model type when converting v2 checkpoints (#360) 2023-04-29 22:45:48 -05:00
Sean Sube 4eba9a6400
avoid joining none path 2023-04-29 21:16:23 -05:00
Sean Sube 5760be710a
fix(api): restore use of config key when converting from checkpoints 2023-04-29 20:26:01 -05:00
Sean Sube f782f39cce
fix(api): remove size limit on inpainting stage 2023-04-29 14:23:00 -05:00
Sean Sube acde899559
reuse config from loaded UNet 2023-04-29 13:27:39 -05:00
Sean Sube 0175d7edcf
fix(api): specify input channels when converting inpainting models (#356) 2023-04-29 12:18:15 -05:00
Sean Sube 4c126153f5
fix(api): switch to diffusers ckpt loading, add more pipelines to conversion (#337, #356) 2023-04-29 12:00:43 -05:00
Sean Sube dbd9a186ae
feat(api): allow converting inpaint models (#356) 2023-04-27 23:41:04 -05:00
Sean Sube dc6bf330c1
feat(api): add optimization for max attention slicing (#355) 2023-04-24 19:13:32 -05:00
Sean Sube 9e9fe90f80
chore(api): remove SD v2.1 from base models 2023-04-23 18:23:05 -05:00
Sean Sube 5f5b01fed0
apply lint 2023-04-22 12:28:46 -05:00
Sean Sube 5f5418132b
fix(api): build sum tokens for TIs using emb_params key 2023-04-22 12:07:52 -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 df0e7dc57e
feat: add admin endpoint to restart image workers (#207) 2023-04-20 07:36:31 -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 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 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 0dd8272285
feat(api): convert CNet for existing diffusion models 2023-04-15 09:00:17 -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 a3daaf0112
initial integration of controlnet pipeline 2023-04-11 19:29:25 -05:00
Sean Sube de61e388a0
chore(api): remove some unused non-ONNX code paths 2023-04-11 08:26:21 -05:00
Sean Sube 0a6c99d57e
lint repeated factors 2023-04-10 21:04:48 -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 62aa7e8473
feat(api): add initial support for BSRGAN and SwinIR upscaling (#153, #154) 2023-04-10 17:49:56 -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 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 c8382dc689
feat(api): implement spiral tile order for non-square images 2023-04-04 20:02:13 -05:00
Sean Sube 6bad599b3c
lint(api): move some chatty logs to trace level 2023-04-01 15:39:22 -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 e552a5560f
feat(api): check device worker pool and recycle on a regular interval (#284) 2023-03-26 11:09:22 -05:00
Sean Sube 2c47904057
lint(api): use constant for model filename 2023-03-24 08:14:19 -05:00
Sean Sube fa71d87e2c
apply lint 2023-03-21 22:19:50 -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 f779fbd5cc
fix(api): remove prefix before downloading for HF hub 2023-03-19 23:30:31 -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 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 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 243a2d9df6
apply lint 2023-03-19 09:29:06 -05:00
Sean Sube 0e43acc0f7
fix(api): fetch sources and additional networks by default 2023-03-19 09:09:03 -05:00
Sean Sube 2ef00599b6
experimental CLIP skip 2023-03-19 08:17:40 -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