1
0
Fork 0
Commit Graph

1420 Commits

Author SHA1 Message Date
Sean Sube a868c8cf6b feat(api): backend support for multiple GPUs in diffusion pipelines 2023-01-21 15:17:33 -06:00
Sean Sube 45a3ddc2a9 feat(api): add option for HuggingFace token in convert script 2023-01-21 15:08:19 -06:00
Sean Sube e0834110fc fix(api): add extra models to convert script 2023-01-21 08:52:35 -06:00
Sean Sube be16f33151 fix(api): pass txt2img dimensions in correct order 2023-01-19 22:07:31 -06:00
Sean Sube 86fb2ae28e fix(api): generate correct latents for non-square images 2023-01-19 22:00:58 -06:00
Sean Sube 9a10261273 put functions in order 2023-01-19 21:03:29 -06:00
Sean Sube 4a3bb97342 fix(api): run GC after changing pipeline (#58) 2023-01-19 19:46:36 -06:00
Sean Sube 9a2e7adfb8 fix(api): report accurate image size when upscaling 2023-01-19 19:42:27 -06:00
Sean Sube 3bcd7a8156 feat: add ROCm provider to list (#10) 2023-01-19 17:38:26 -06:00
Sean Sube 4fbf046e28 lint(api): remove unnecessary pass 2023-01-19 08:34:38 -06:00
Sean Sube 3679735d86 feat: add fill color control to inpaint 2023-01-18 08:41:02 -06:00
Sean Sube 08dbc0c738 fix(api): check image size before blending 2023-01-18 08:29:55 -06:00
Sean Sube 4d9dc05cd0 lint(api): improve logging while upscaling 2023-01-17 22:30:25 -06:00
Sean Sube cf6a151548 fix(api): pass image size to upscale job 2023-01-17 21:53:44 -06:00
Sean Sube 634d2e8ce6 fix(api): use correct base path for debug images 2023-01-17 17:50:56 -06:00
Sean Sube 5ba752e526 feat(api): add strength param to inpaint, remove same from upscale 2023-01-17 17:50:36 -06:00
Sean Sube b496e7121c fix(api): premultiply noise before compositing 2023-01-17 17:49:46 -06:00
Sean Sube 4aeee60b19 feat: add upscaling tab and endpoint 2023-01-16 23:45:54 -06:00
Sean Sube b7c85aa51b fix(api): skip upscaling if scale is 1 2023-01-16 23:01:15 -06:00
Sean Sube 0e27cc830d fix: send missing model params, add face strength control 2023-01-16 22:54:01 -06:00
Sean Sube ac3ef0ebbf mostly fix face correction 2023-01-16 22:35:34 -06:00
Sean Sube c6ce43b00d back to single GFPGAN, fix some paths 2023-01-16 21:55:54 -06:00
Sean Sube 03e06193eb attempt to fix face correction at various scales 2023-01-16 21:36:50 -06:00
Sean Sube 073ff8e02f fix(api): use correct scale for background correction 2023-01-16 21:12:17 -06:00
Sean Sube b09feda474 fix(api): sort models without discarding 2023-01-16 20:58:08 -06:00
Sean Sube 353a65513f fix(api): copy checkpoints into correct location, handle more models 2023-01-16 20:53:12 -06:00
Sean Sube 1db5ebec84 syntax fix 2023-01-16 20:40:01 -06:00
Sean Sube d52c22e58b feat: add additional Real ESRGAN models, strings for them 2023-01-16 20:38:16 -06:00
Sean Sube 33eebacc0c lint(api): return models in order 2023-01-16 20:37:59 -06:00
Sean Sube c0ca7cf62f fix(api): dedupe models after removing extension 2023-01-16 20:28:29 -06:00
Sean Sube 4472a6fd24 fix(api): trim model names relative to model path 2023-01-16 20:25:09 -06:00
Sean Sube 23a9d5afb7 list models correctly 2023-01-16 20:17:01 -06:00
Sean Sube 0273dea2a6 fix(api): join globs to avoid py 3.10-only args 2023-01-16 20:14:11 -06:00
Sean Sube ee6308a091 feat(api): return all types of models 2023-01-16 20:10:52 -06:00
Sean Sube dba6113c09 fix(api): include model scale 2023-01-16 20:10:29 -06:00
Sean Sube 556d5b84d6 fix(api): add an option to skip certain models during conversion 2023-01-16 17:55:58 -06:00
Sean Sube dab2cc7752 lint(api): split up face correction and upscaling models 2023-01-16 17:51:32 -06:00
Sean Sube decb2813c6 feat(api): add support for Stable Diffusion models to conversion script 2023-01-16 17:48:50 -06:00
Sean Sube 4d0898a52c feat(api): start adding model sources to convert script 2023-01-16 17:08:59 -06:00
Sean Sube 5a01fe4cb0 fix(api): resolve face correction model relative to model path 2023-01-16 16:45:17 -06:00
Sean Sube 1d90f9b53c fix class method 2023-01-16 16:40:59 -06:00
Sean Sube 4809e00982 fix(api): get all server paths from environ 2023-01-16 16:40:32 -06:00
Sean Sube c98c0ff4dd lint(api): remove global paths entirely 2023-01-16 16:39:30 -06:00
Sean Sube 4bf68759d7 fix(api): report accurate sizes 2023-01-16 15:11:40 -06:00
Sean Sube d406cd4e99 fix(api): pass model to ONNX instances 2023-01-16 14:58:27 -06:00
Sean Sube adeada19e5 fix exports 2023-01-16 14:54:45 -06:00
Sean Sube 8d3ebede5a feat: add outscaling option 2023-01-16 14:52:56 -06:00
Sean Sube 091c4e6109 fix(api): pass upscale params when creating RESRGAN 2023-01-16 14:17:50 -06:00
Sean Sube 1f0c19af04 fix(api): get upscale params from request 2023-01-16 13:12:08 -06:00
Sean Sube 120056f878 fix(api): get ESRGAN/GFPGAN paths from server context, clean up test scripts 2023-01-16 13:02:15 -06:00
Sean Sube 0f2d6d2ec7 add subscript for fake image 2023-01-16 12:02:37 -06:00
Sean Sube 402fa4f687 return fake image throughout chain 2023-01-16 11:46:06 -06:00
Sean Sube f493246192 fix(api): correct stub method name 2023-01-16 11:45:31 -06:00
Sean Sube ba3eff5c03 fix(api): enable tiling when fixing faces after upscaling 2023-01-16 11:43:00 -06:00
Sean Sube b37f8cdd7d stub out other methods for output image 2023-01-16 11:16:06 -06:00
Sean Sube 30d474b487 wrap image output 2023-01-16 11:06:50 -06:00
Sean Sube fe657468bf fix(api): add missing params to load stub 2023-01-16 10:59:47 -06:00
Sean Sube 9519fc16e9 feat(api): add ONNX implementation of Real ESRGAN net 2023-01-16 10:55:40 -06:00
Sean Sube 5fded3cf40 remove unused param from output 2023-01-16 10:03:30 -06:00
Sean Sube e59449fec1 feat(api): add conversion script for models 2023-01-16 09:57:59 -06:00
Sean Sube 1283bc3d3f fix(api): look up noise coordinates correctly 2023-01-16 07:49:25 -06:00
Sean Sube 604cdf39b0 lint(api): helper to get borders from request 2023-01-16 07:45:50 -06:00
Sean Sube 53fcc0b91f lint(api): remove output path, join from context 2023-01-16 07:42:10 -06:00
Sean Sube c8944a2be8 fix path 2023-01-16 07:36:35 -06:00
Sean Sube 7c9dbf2c7e remove unused fields from context 2023-01-16 07:34:37 -06:00
Sean Sube 8a97cbebb6 remove invalid model path call 2023-01-16 07:33:53 -06:00
Sean Sube 7c52743aaa remove invalid imports 2023-01-16 07:33:22 -06:00
Sean Sube 13a4fa2278 lint(api): encapsulate paths in server context class 2023-01-16 07:31:42 -06:00
Sean Sube a76793d105 fix(api): correct output paths, read strength from params 2023-01-15 20:00:26 -06:00
Sean Sube f9c33486c1 fix latents for txt2img 2023-01-15 19:49:40 -06:00
Sean Sube 7d8ea23166 fix param hashing 2023-01-15 19:48:43 -06:00
Sean Sube bdc8e277fe lint(api): clean up output file hash stuff 2023-01-15 19:47:57 -06:00
Sean Sube e43238b327 fix init imports 2023-01-15 19:34:51 -06:00
Sean Sube 44c81d966f lint(api): finish splitting up modules 2023-01-15 19:33:40 -06:00
Sean Sube ff70d36a05 lint(api): add class for params, size, other common data 2023-01-15 19:14:58 -06:00
Sean Sube 1146118b1a lint(api): split up modules 2023-01-15 18:54:20 -06:00
Sean Sube c7c3645466 lint(api): split out pipeline code 2023-01-15 18:46:00 -06:00
Sean Sube 806503c709 fix(api): load upscaling model from models dir 2023-01-15 18:41:58 -06:00
Sean Sube 45d65d1342 fix(api): convert back to PIL after upscaling 2023-01-15 18:25:12 -06:00
Sean Sube 1fe6fa91fb fix(api): convert image to numpy before upscaling 2023-01-15 18:13:28 -06:00
Sean Sube 77cb84c60e feat(api): add basic upscaling 2023-01-15 18:04:10 -06:00
Sean Sube 5bb3f6c558 feat: add noise source with solid color 2023-01-15 14:26:04 -06:00
Sean Sube 16108ae172 fix(api): add time to filenames (for #55) 2023-01-15 14:22:51 -06:00
Sean Sube df6b07194b fix(api): set default mask filter to none, matching the client 2023-01-15 14:06:37 -06:00
Sean Sube 40080ad46b feat: add gaussian multiply to mask filters 2023-01-15 14:04:54 -06:00
Sean Sube eedea93ade fix(api): blend source and noise in correct order 2023-01-15 13:47:39 -06:00
Sean Sube f142418707 fix(api): convert mask before blending source 2023-01-15 13:45:37 -06:00
Sean Sube 081a96d536 fix(api): use full-image compositing, write debug images to output dir 2023-01-15 13:40:11 -06:00
Sean Sube 9c93e16698 fix(api): clean up background jobs once they are ready (for #55) 2023-01-15 11:43:47 -06:00
Sean Sube e4020cf3f6 fix(api): always apply mask filter for inpainting 2023-01-15 11:39:40 -06:00
Sean Sube b1aca928ab fix(api): correct type of provider in output path 2023-01-15 11:29:38 -06:00
Sean Sube e429bafeef fix(api): include all parameters in output path 2023-01-15 11:28:12 -06:00
Sean Sube f5ed77a349 fix(api): reduce copies, fix function signatures 2023-01-15 11:09:47 -06:00
Sean Sube ef06b45599 fix(api): reuse results of blur modes 2023-01-15 10:54:17 -06:00
Sean Sube e2d17e1833 fix(api): fill gaussian blur with noise first 2023-01-15 10:49:09 -06:00
Sean Sube 4af1b8e1aa save mask and noise for debugging 2023-01-15 10:09:57 -06:00
Sean Sube 6c07d124e0 feat(api): add a mask filter to blend outpainting edges 2023-01-15 09:54:55 -06:00
Sean Sube 4675f89bb7 fix(api): add missing origin argument to noise sources 2023-01-15 09:40:08 -06:00
Sean Sube 0ed11af34b fix(api): correct endpoint name for blend ops 2023-01-15 09:35:25 -06:00
Sean Sube a8f0a7a7eb feat(api): add endpoints for blend and noise settings 2023-01-15 09:32:30 -06:00
Sean Sube e403980a44 feat(api): add parameters for noise source and blend op to inpaint 2023-01-15 09:21:09 -06:00
Sean Sube 77470a610a feat(api): add original source and gaussian blur noise sources 2023-01-15 00:14:05 -06:00
Sean Sube 9376de880e feat(api): add normal and uniform noise sources 2023-01-14 21:46:14 -06:00
Sean Sube 09c9b2c028 fix(api): restore inpainting without outpainting 2023-01-14 18:30:04 -06:00
Sean Sube 34fa3f6341 fix(api): limit outpainting using image size params 2023-01-14 17:09:41 -06:00
Sean Sube c29c92ed90 fix(api): resize images after getting request params 2023-01-14 17:06:29 -06:00
Sean Sube d9bbb9bb5a feat(api): take outpainting dimensions from query params 2023-01-14 16:59:38 -06:00
Sean Sube 899d41a38d run outpainting at original size 2023-01-14 16:31:47 -06:00
Sean Sube 23ddbc6b10 build full-size latents for outpainting 2023-01-14 16:28:43 -06:00
Sean Sube de13d2d6ef remove debug print 2023-01-14 16:27:34 -06:00
Sean Sube 1d4560cf36 fix blend, use mask as mult 2023-01-14 16:24:46 -06:00
Sean Sube 70047737e6 syntax fix 2023-01-14 16:19:54 -06:00
Sean Sube 6772cb4297 per-channel blend 2023-01-14 16:18:37 -06:00
Sean Sube 6fded9de2d build noise by pixels 2023-01-14 16:14:37 -06:00
Sean Sube 4233c34813 syntax fix, save noise image 2023-01-14 16:03:56 -06:00
Sean Sube b8b7dcf757 reshape using image stride 2023-01-14 16:00:12 -06:00
Sean Sube d4d1687851 reshape data before imaging 2023-01-14 15:49:46 -06:00
Sean Sube e05ed35f6b flatten noise data 2023-01-14 15:44:19 -06:00
Sean Sube 1220155d39 use sum of histogram, remove unused imports 2023-01-14 15:36:19 -06:00
Sean Sube e9620fd62e generate noise channel-wise 2023-01-14 15:34:57 -06:00
Sean Sube 0b46ce4090 calculate single stats instance 2023-01-14 15:27:30 -06:00
Sean Sube 9b56c75b92 adjust weights by channel sum 2023-01-14 15:24:04 -06:00
Sean Sube b24b1eb961 feat(gui): produce noise based on source image histogram 2023-01-14 15:19:41 -06:00
Sean Sube c8c548183d multiply source by inverted mask 2023-01-14 14:34:35 -06:00
Sean Sube 5c3d42876f convert pixel back to int 2023-01-14 14:24:36 -06:00
Sean Sube 47df0ecaff convert noise to multiplier 2023-01-14 14:23:31 -06:00
Sean Sube 6216486325 isolate noise blend, print errors 2023-01-14 14:20:42 -06:00
Sean Sube 1e24018b57 feat(api): blend outpainting border with noise 2023-01-14 14:01:15 -06:00
Sean Sube 9ed3a3fd3e move test to inpaint endpoint 2023-01-14 13:24:25 -06:00
Sean Sube a3029c30a6 fix(api): use correct param name for platform 2023-01-14 13:19:04 -06:00
Sean Sube 66dc5322d0 feat(api): add helper to expand images for outpainting 2023-01-14 13:17:16 -06:00
Sean Sube e8b580a5de fix(api): get default params from file, enforce minimum params 2023-01-14 12:45:18 -06:00
Sean Sube fa82ac18ab fix(api): send CORS more consistently 2023-01-14 10:18:53 -06:00
Sean Sube e872eeacec feat(api): limit simultaneous image workers (fixes #15) 2023-01-13 10:32:03 -06:00
Sean Sube 360a151867 fix(api): make all path vars relative to API dir 2023-01-13 10:14:18 -06:00
Sean Sube e77c13f312 lint(api): do not print warning when negative prompt is empty 2023-01-13 10:14:18 -06:00
Sean Sube 88fde63e07 feat(api): add endpoints to serve GUI bundle 2023-01-13 10:14:18 -06:00
Sean Sube b477a9937c feat: move API routes under prefix 2023-01-13 10:14:18 -06:00
Sean Sube 55e8b800d2 feat(api): add ready endpoint to check output status 2023-01-13 10:14:18 -06:00
Sean Sube 7e35b7b34f feat(api): put all image pipelines on background tasks 2023-01-13 10:14:18 -06:00
Sean Sube 0ef4d60b04 feat(api): move txt2img into a background task 2023-01-13 10:14:18 -06:00
Sean Sube 4e3a86dfdb lint(api): join all paths 2023-01-11 21:59:58 -06:00
Sean Sube dc33b7c887 fix(api): use same parameter name as GUI for negative prompt 2023-01-11 21:50:19 -06:00
Sean Sube 2f3b5c06c7 fix(api): allow decimal CFG 2023-01-11 19:34:03 -06:00
Sean Sube 4abf760716 fix(api): use correct dict for type hints 2023-01-11 17:20:40 -06:00
Sean Sube ecc82a89b7 lint(api): group routes 2023-01-10 23:00:18 -06:00
Sean Sube d20fb91073 fix(api): pass seed when calculating inpaint filenames 2023-01-10 22:59:58 -06:00
Sean Sube 9bb01cc01d fix(api): omit negative prompt from pipeline 2023-01-10 20:46:36 -06:00
Sean Sube 48f42e56fe fix(api): rename to avoid shadowing type 2023-01-10 20:46:17 -06:00
Sean Sube 778cf6e7d1 lint(api): add seed to output filename, add types 2023-01-09 23:26:47 -06:00
Sean Sube 03fd728ab0 feat(api): add params endpoint, defaults file 2023-01-09 22:58:37 -06:00
Sean Sube 131cff6ba4 fix(api): add latents to inpaint, remove strength 2023-01-08 18:16:51 -06:00
Sean Sube 182ce6de90 feat(api): add inpaint endpoint 2023-01-08 18:11:34 -06:00
Sean Sube 057eea25ef fix(api): hash full range of seed values 2023-01-08 14:26:53 -06:00
Sean Sube f2e2b20f18 feat: implement negative prompts 2023-01-08 13:05:02 -06:00
Sean Sube 0d4c0a5942 fix(api): remove prompt from output name 2023-01-08 12:46:52 -06:00
Sean Sube f4ca6a0547 fix(api): typesafe param hashing 2023-01-08 10:24:21 -06:00
Sean Sube e82379c61f feat(api): use hash of params as output filename 2023-01-08 10:09:58 -06:00
Sean Sube 8c133e9230 fix(api): seed rng for each image 2023-01-08 09:31:22 -06:00
Sean Sube 282a7cfa2a fix(api): clamp im2img strength 2023-01-08 09:17:23 -06:00
Sean Sube 93e53f6dc3 feat: make additional schedulers available in UI 2023-01-08 08:19:24 -06:00
Sean Sube a6af9752f8 lint(api): remove extra print 2023-01-08 00:23:01 -06:00
Sean Sube 0232c7180c fix(api): defer first model load until first request 2023-01-08 00:08:50 -06:00
Sean Sube 926f77b3b0 fix(api): keep strength as a float 2023-01-07 15:19:24 -06:00
Sean Sube 09ce6546be feat(api): add img2img endpoint 2023-01-07 15:05:29 -06:00
Sean Sube 8359bd5b99 feat(api): experimentally add CUDA provider and Nvidia platform 2023-01-07 08:56:21 -06:00
Sean Sube e605c9f66b feat(gui): add download and delete buttons to image history 2023-01-06 22:20:14 -06:00
Sean Sube c6662d155d fix(api): adjust output path for module structure 2023-01-06 17:11:02 -06:00
Sean Sube b59519cb7e fix(api): update serve app name, add module entrypoint 2023-01-06 16:18:53 -06:00
Sean Sube 599e0ee2d0 feat(api): switch to package structure 2023-01-06 16:11:41 -06:00