Ryan Dick
b9dc3460ba
Rename SegmentAnythingModel -> SegmentAnythingPipeline.
2024-08-01 09:57:47 -04:00
blessedcoolant
f5cfdcf32d
feat: Add BoundingBox Primitive Node
2024-08-01 04:09:08 +05:30
Ryan Dick
b5832768dc
Return a MaskOutput from SegmentAnythingModelInvocation. And add a MaskTensorToImageInvocation.
2024-07-31 17:16:14 -04:00
Ryan Dick
5a9173f766
Merge branch 'main' into stalker-modular_lora
2024-07-31 15:13:22 -04:00
blessedcoolant
332bc9da5b
fix: Update depth anything node default to v2
2024-07-31 23:52:29 +05:30
blessedcoolant
daf899f9c4
fix: Move the manual image resizing out of the depth anything pipeline
2024-07-31 23:38:12 +05:30
blessedcoolant
13fb2d1f49
fix: Add Depth Anything V2 as a new option
...
It is also now the default in the UI replacing Depth Anything V1 small
2024-07-31 23:29:43 +05:30
Ryan Dick
fca119773b
Split invokeai/backend/image_util/segment_anything/ dir into grounding_dino/ and segment_anything/
2024-07-31 12:28:47 -04:00
Ryan Dick
0193267a53
Split GroundedSamInvocation into GroundingDinoInvocation and SegmentAnythingModelInvocation.
2024-07-31 12:20:23 -04:00
Ryan Dick
9f448fecb7
Move invokeai/backend/grounded_sam -> invokeai/backend/image_util/grounded_sam
2024-07-31 10:00:30 -04:00
Ryan Dick
bcd1483a14
Re-order GroundedSAMInvocation._to_numpy_masks(...) to do slightly more work on the GPU.
2024-07-31 09:51:14 -04:00
Ryan Dick
e206890e25
Use staticmethods rather than inner functions for the Grounding DINO and SAM model loaders.
2024-07-31 09:28:52 -04:00
Ryan Dick
0a7048f650
(minor) Simplify GroundedSAMInvocation._merge_masks(...).
2024-07-31 08:58:51 -04:00
Ryan Dick
e8ecf5e155
(minor) Move apply_polygon_refinement condition up a layer.
2024-07-31 08:50:56 -04:00
Ryan Dick
cec7399366
(minor) Use a new variable name to satisfy type checks.
2024-07-31 08:27:01 -04:00
Ryan Dick
bdae81e429
(minor) Simplify GroundedSAMInvocation._filter_detections()
2024-07-31 08:25:19 -04:00
Ryan Dick
67c32f3d6c
Fix typo: zip(..., strict=True)
2024-07-31 08:15:28 -04:00
blessedcoolant
fa3c0c81b3
Merge branch 'main' into stalker7779/fix_gradient_mask
2024-07-31 06:30:44 +05:30
blessedcoolant
18f89ed5ed
fix: Make DepthAnything work with Invoke's Model Management
2024-07-31 03:57:54 +05:30
Ryan Dick
6b10b59abe
Make GroundedSAMInvocation work with any input image mode (RGB, RGBA, grayscale).
2024-07-30 15:55:57 -04:00
Ryan Dick
918f77bce0
Move some logic from GroundedSAMInvocation to the backend classes.
2024-07-30 15:34:33 -04:00
blessedcoolant
f170697ebe
Merge branch 'main' into depth_anything_v2
2024-07-31 00:53:32 +05:30
blessedcoolant
556c6a1d84
fix: Update DepthAnything to use the transformers implementation
2024-07-31 00:51:55 +05:30
Ryan Dick
aca2a2fa13
Add mask_filter and detection_threshold options to the GroundedSAMInvocation.
2024-07-30 14:22:40 -04:00
Ryan Dick
ff6398f7d8
Add a GroundedSamInvocation for image segmentation from a text prompt (Grounding DINO + Segment Anything Model).
2024-07-30 11:12:26 -04:00
Ryan Dick
693a3eaff5
Merge branch 'main' into stalker-modular_inpaint-2
2024-07-29 10:14:45 -04:00
Ryan Dick
310719eb4c
Merge branch 'main' into stalker-modular_t2i_adapter
2024-07-28 15:30:00 -04:00
Ryan Dick
c57a7afb87
Merge branch 'main' into stalker7779/modular_seamless
2024-07-28 13:49:43 -04:00
Sergey Borisov
faa88f72bf
Make lora as separate extensions
2024-07-27 02:39:53 +03:00
Sergey Borisov
5810cee6c9
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-26 19:47:28 +03:00
Sergey Borisov
eef88d1f83
Update gradient mask node version
2024-07-26 19:33:41 +03:00
Sergey Borisov
78f6850fc0
Fix gradient mask values range
2024-07-26 19:28:00 +03:00
Sergey Borisov
bd8890be11
Revert "Fix create gradient mask node output"
...
This reverts commit 9d1fcba415
.
2024-07-26 19:24:46 +03:00
psychedelicious
edcaf8287d
feat(app): remove beta from multidiffusion workflows
2024-07-26 13:47:51 +10:00
psychedelicious
39bd30f2a0
feat(app): update default workflows
...
- Update `MultiDiffusion SDXL (Beta)`
- Add `MultiDiffusion SD1.5 (Beta)`
2024-07-26 13:47:51 +10:00
Sergey Borisov
ab0bfa709a
Handle loras in modular denoise
2024-07-24 05:07:29 +03:00
Sergey Borisov
6af659b1da
Handle t2i adapter in modular denoise
2024-07-24 02:55:33 +03:00
psychedelicious
76aa6bdf05
feat(nodes): split spandrel node
...
`spandrel_image_to_image` now just runs the model with no changes.
`spandrel_image_to_image_autoscale` runs the model repeatedly until the desired scale is reached. previously, `spandrel_image_to_image` did this.
2024-07-24 08:22:46 +10:00
Sergey Borisov
19c00241c6
Use non-inverted mask generally(except inpaint model handling)
2024-07-24 00:59:13 +03:00
Lincoln Stein
633bbb4e85
[MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict ( #6645 )
...
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* documentation fix
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* documentation fix
* remove v9 pnpm lockfile
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* remove v9 pnpm lockfile
* regenerate schema.ts
* prettified
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-23 21:41:00 +00:00
Sergey Borisov
c323a760a5
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 23:34:28 +03:00
Sergey Borisov
9d1fcba415
Fix create gradient mask node output
2024-07-23 23:29:28 +03:00
Sergey Borisov
ca21996a97
Remove old seamless class
2024-07-23 18:04:33 +03:00
Sergey Borisov
62aa064e56
Handle seamless in modular denoise
2024-07-23 18:03:59 +03:00
Ryan Dick
e2e47fd606
Merge branch 'main' into stalker-modular_controlnet
2024-07-23 10:19:12 -04:00
Ryan Dick
db52f5606f
Merge branch 'main' into stalker-modular_freeu
2024-07-23 09:53:32 -04:00
Ryan Dick
d014dc94fd
Merge branch 'main' into stalker7779/modular_rescale_cfg
2024-07-23 09:34:22 -04:00
psychedelicious
29efab70b7
feat(nodes): spandrel_image_to_image.scale defaults to 4.0
2024-07-23 10:55:54 +10:00
psychedelicious
ac6adc392a
feat(nodes): add scale
and fit_to_multiple_of_8
to spandrel node
2024-07-23 10:55:54 +10:00
psychedelicious
a2ef5d56ee
feat(nodes): split out spandrel node upscale logic into utils
2024-07-23 10:55:54 +10:00
Sergey Borisov
4e8dcb7a1a
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 01:46:29 +03:00
Sergey Borisov
87eb018380
Revert debug change
2024-07-22 23:49:20 +03:00
Sergey Borisov
5003e5d763
Same changes as in other PRs, add check for running inpainting on inpaint model without source image
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 23:47:39 +03:00
Sergey Borisov
58f3072b91
Handle inpainting on normal models
2024-07-21 22:17:29 +03:00
Sergey Borisov
9e7b470189
Handle inpaint models
2024-07-21 20:45:55 +03:00
Sergey Borisov
42356ec866
Add ControlNet support to denoise
2024-07-21 20:01:30 +03:00
Sergey Borisov
e046e60e1c
Add FreeU support to denoise
2024-07-21 18:31:10 +03:00
Sergey Borisov
9a1420280e
Add rescale cfg support to denoise
2024-07-21 17:33:43 +03:00
Ryan Dick
a8cc5caf96
Fix function call that we forgot to update in https://github.com/invoke-ai/InvokeAI/pull/6606
2024-07-19 17:07:52 -04:00
Ryan Dick
78d2b1b650
Merge branch 'main' into stalker-backend_base
2024-07-19 16:25:20 -04:00
Ryan Dick
e16faa6370
Add gradient blending to tile seams in MultiDiffusion.
2024-07-19 13:05:50 -07:00
Sergey Borisov
0c56d4a581
Ryan's suggested changes to extension manager/extensions
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-18 23:49:44 +03:00
StAlKeR7779
710dc6b487
Merge branch 'main' into stalker7779/backend_base
2024-07-18 01:08:04 +03:00
Sergey Borisov
2ef3b49a79
Add run cancelling logic to extension manager
2024-07-17 04:39:15 +03:00
Sergey Borisov
79e35bd0d3
Minor fixes
2024-07-17 03:48:37 +03:00
Ryan Dick
6b0ca88177
Merge branch 'main' into ryan/spandrel-upscale-tiling
2024-07-16 15:40:14 -04:00
Ryan Dick
81991e072b
Merge branch 'main' into ryan/spandrel-upscale
2024-07-16 15:14:08 -04:00
Sergey Borisov
cec345cb5c
Change attention processor apply logic
2024-07-16 20:03:29 +03:00
Sergey Borisov
608cbe3f5c
Separate inputs in denoise context
2024-07-16 19:30:29 +03:00
Sergey Borisov
9f088d1bf5
Multiple small fixes
2024-07-16 00:51:25 +03:00
psychedelicious
d7d59d704b
chore: update default workflows
...
- Update all existing defaults
- Add Tiled MultiDiffusion workflow
2024-07-15 14:05:04 +10:00
psychedelicious@windows
7c0dfd74a5
fix(api): deleting large images fails
...
This issue is caused by a race condition. When a large image is served to the client, it is done using a streaming `FileResponse`. This concurrently serves the image straight from disk. The file is kept open by FastAPI until the image is fully served.
When a user deletes an image before the file is done serving, the delete fails because the file is still held by FastAPI.
To reproduce the issue:
- Create a very large image (8k reliably creates the issue).
- Create a smaller image, so that the first image in the gallery is not the large image.
- Refresh the app. The small image should be selected.
- Select the large image and immediately delete it. You have to be fast, to delete it before it finishes loading.
- In the terminal, we expect to see an error saying `Failed to delete image file`, and the image does not disappear from the UI.
- After a short wait, once the image has fully loaded, try deleting it again. We expect this to work.
The workaround is to instead serve the image from memory.
Loading the image to memory is very fast, so there is only a tiny window in which we could create the race condition, but it technically could still occur, because FastAPI is asynchronous and handles requests concurrently.
Once we load the image into memory, deletions of that image will work. Then we return a normal `Response` object with the image bytes. This is essentially what `FileResponse` does - except it uses `anyio.open_file`, which is async.
The tradeoff is that the server thread is blocked while opening the file. I think this is a fair tradeoff.
A future enhancement could be to implement soft deletion of images (db is already set up for this), and then clean up deleted image files on startup/shutdown. We could move back to using the async `FileResponse` for best responsiveness in the server without any risk of race conditions.
2024-07-13 14:46:41 +10:00
psychedelicious@windows
2c1a91241e
fix(app): windows indefinite hang while finding port
...
For some reason, I started getting this indefinite hang when the app checks if port 9090 is available. After some fiddling around, I found that adding a timeout resolves the issue.
I confirmed that the util still works by starting the app on 9090, then starting a second instance. The second instance correctly saw 9090 in use and moved to 9091.
2024-07-13 14:46:41 +10:00
Sergey Borisov
499e4d4fde
Add preview extension to check logic
2024-07-13 00:45:04 +03:00
Sergey Borisov
3a9dda9177
Renames
2024-07-12 22:44:00 +03:00
Sergey Borisov
87e96e1be2
Rename modifiers to callbacks, convert order to int, a bit unify injection points
2024-07-12 22:01:05 +03:00
Sergey Borisov
9cc852cf7f
Base code from draft PR
2024-07-12 20:31:26 +03:00
psychedelicious
712cf00a82
fix(app): vae tile size field description
2024-07-12 06:30:27 -07:00
Ryan Dick
69af099532
Warn on invalid model configs in the DB rather than crashing.
2024-07-11 21:05:55 -04:00
Ryan Dick
0428ce73a9
Add early cancellation to SpandrelImageToImageInvocation.
2024-07-11 15:42:33 -04:00
Ryan Dick
d0d2955992
Reduce peak VRAM utilization of SpandrelImageToImageInvocation.
2024-07-10 14:25:19 -04:00
Ryan Dick
d868d5d584
Make SpandrelImageToImage tiling much faster.
2024-07-10 14:25:19 -04:00
Ryan Dick
ab775726b7
Add tiling support to the SpoandrelImageToImage node.
2024-07-10 14:25:19 -04:00
Ryan Dick
7b5d4935b4
Merge branch 'main' into ryan/spandrel-upscale
2024-07-09 13:47:11 -04:00
chainchompa
faf65c988a
Merge branch 'main' into boards-ui-update
2024-07-08 22:06:26 -04:00
chainchompa
0e092c0fb5
update is_private name
2024-07-08 22:03:12 -04:00
chainchompa
3a85ab15a1
update BoardRecord
2024-07-08 14:55:04 -04:00
chainchompa
9ca6980c7a
cleanup and bug fixes
2024-07-08 13:29:53 -04:00
Ryan Dick
ecbff2aa44
Whoops... forgot to commit this file.
2024-07-05 14:57:05 -04:00
Ryan Dick
d09999736c
Rename spandrel models to 'Image-to-Image Model' throughout the UI.
2024-07-05 14:04:08 -04:00
Ryan Dick
35f8781ea2
Fix static type errors with SCHEDULER_NAME_VALUES. And, avoid bi-directional cross-directory imports, which contribute to circular import issues.
2024-07-05 07:38:35 -07:00
Ryan Dick
1d449097cc
Apply ruff rule to disallow all relative imports.
2024-07-04 09:35:37 -04:00
Ryan Dick
9da5925287
Add ruff rule to disallow relative parent imports.
2024-07-04 09:35:37 -04:00
Lincoln Stein
0fe92cd406
[MM bugfix] Put model install errors on the event bus ( #6578 )
...
* fix access token lookup
* fix bug preventing model install error events from being reported
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-03 22:44:34 -04:00
Ryan Dick
6161aa73af
Move pil_to_tensor() and tensor_to_pil() utilities to the SpandrelImageToImage class.
2024-07-03 16:28:21 -04:00
Ryan Dick
504a42fe61
typo: fix UIType on Spandrel Upscaling node.
2024-07-03 16:28:21 -04:00
Ryan Dick
29c8ddfb88
WIP - A bunch of boilerplate to support Spandrel Image-to-Image models throughout the model manager and the frontend.
2024-07-03 16:28:21 -04:00
Ryan Dick
95079dc7d4
Use a ModelIdentifierField to identify the spandrel model in the UpscaleSpandrelInvocation.
2024-07-03 16:28:21 -04:00
Ryan Dick
c1afe35704
Add prototype invocation for running upscaling models with spandrel.
2024-07-03 16:28:21 -04:00
chainchompa
6437ef3f82
add view that displays private boards with shared boards
2024-07-03 14:25:36 -04:00