1
0
Fork 0
Commit Graph

294 Commits

Author SHA1 Message Date
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
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 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 9f0a6f134e
fix(api): move model conversion messages to trace level 2023-03-16 19:37:25 -05:00
Sean Sube f4c0c52029
apply lint 2023-03-16 18:35:30 -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 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 03f4e1b922
start wiring LoRAs into prompt 2023-03-14 22:10:33 -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 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 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 c45915e558
fix(api): use server model path while converting SD checkpoints (#221) 2023-03-07 18:55:14 -06:00
Sean Sube 6d2dd0a043
apply lint 2023-03-05 07:20:43 -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 10fbafaff0
fix(api): correct imports 2023-03-04 22:25:49 -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 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 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 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 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 fd013c88ef
fix(api): enable optimizations during model conversion 2023-02-23 18:43:49 -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 25c56c7d5c
fix imports 2023-02-18 20:28:21 -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 338fc237c7
fix(api): convert Real ESRGAN v3 using same arch as runtime 2023-02-18 08:41:15 -06:00
Sean Sube ce8c7205dc
apply lint 2023-02-17 22:49:13 -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 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 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 841b18576c
apply lint 2023-02-15 20:50:12 -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 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 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 9d1c5dca52
fix(api): correctly handle partial extras files 2023-02-12 12:23:03 -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 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 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