Brandon Rising
f7bb4c3f05
Remove more files no longer needed in main
2023-07-27 10:49:43 -04:00
Brandon Rising
c16da75ac7
Merge branch 'main' into feat/onnx
2023-07-26 10:42:31 -04:00
Lincoln Stein
85ad5ef204
refactored code; added watermark and nsfw facilities to app config route
2023-07-26 15:27:04 +10:00
Lincoln Stein
5beb11f4e2
tweaks in response to psychedelicious review of PR
2023-07-26 15:27:04 +10:00
Lincoln Stein
bd43751323
update linear graphs to perform safety checking and watermarking
2023-07-26 15:27:04 +10:00
Lincoln Stein
e32cd794f7
add safetychecker and watermark nodes
2023-07-26 15:26:45 +10:00
psychedelicious
75b0507434
feat(nodes): change denoising start/end min/max to 0/1
2023-07-26 14:46:38 +10:00
psychedelicious
61291ea105
feat: sdxl metadata
...
- update `CoreMetadata` class & `MetadataAccumulator` with fields for SDXL-specific metadata
- update the linear UI graphs to populate this metadata
2023-07-26 14:46:38 +10:00
psychedelicious
840205496a
feat(nodes): fix model load events on sdxl nodes
...
they need the `context` to be provided to emit socket events
2023-07-26 14:46:38 +10:00
psychedelicious
8e90f9024d
feat(ui): remove isRefinerAvailable
state, update refiner node
...
We can derive `isRefinerAvailable` from the query result (eg are there any refiner models installed). This is a piece of server state, so by using the list models response directly, we can avoid needing to manually keep the client in sync with the server.
Created a `useIsRefinerAvailable()` hook to return this boolean wherever it is needed.
Also updated the main models & refiner models endpoints to only return the appropriate models. Now we don't need to filter the data on these endpoints.
2023-07-26 14:46:38 +10:00
Lincoln Stein
fc4e104c61
tested on 3.11 and 3.10
2023-07-24 17:13:32 -04:00
psychedelicious
66cdeba8a1
fix(nodes): fix seed modulus operation
...
This was incorect and resulted in the max seed being one less than intended.
2023-07-24 16:44:32 +10:00
Brandon Rising
78750042f5
Pass in dim overrides
2023-07-21 12:16:24 -04:00
Brandon Rising
ce08aa350c
Allow controlnet passthrough for now
2023-07-20 14:14:04 -04:00
Brandon Rising
4e90376d11
Allow passing in of precision, use available providers if none provided
2023-07-20 13:15:45 -04:00
Sergey Borisov
4a0774b260
Use scale from vae
2023-07-20 18:54:51 +03:00
Sergey Borisov
29a590cced
Add sdxl generation preview
2023-07-20 18:45:54 +03:00
user1
909f538fb5
Switching over to controlnet_utils prepare_control_image(), with added resize_mode.
2023-07-20 00:41:49 -07:00
user1
f2f49bd8d0
Added resize_mode param to ControlNet node
2023-07-20 00:41:49 -07:00
Martin Kristiansen
07c48b2fd1
Moving detected precision to DEFAULT_PRECISION constant
2023-07-19 11:55:37 -04:00
Martin Kristiansen
fface339ae
Same fix for ImageToLatentsInvocation
2023-07-19 11:38:13 -04:00
Martin Kristiansen
2ec9dab595
Changing ImageToLatentsInvocation node to default to detected precision instead of fp16
2023-07-19 11:16:00 -04:00
mickr777
d8db618de0
import choose_torch_device from ...backend.util.devices
2023-07-19 16:43:02 +10:00
mickr777
19d67b29e7
Remove not needed text
2023-07-19 15:20:40 +10:00
mickr777
52e7e0b31b
Missing def choose_torch_device
2023-07-19 15:15:55 +10:00
Brandon Rising
ee7b36cea5
Merge branch 'main' into onnx-testing
2023-07-18 22:56:41 -04:00
Brandon Rising
487455ef2e
Add model_type to the model state object
2023-07-18 22:40:27 -04:00
Lincoln Stein
893e199677
Merge branch 'main' into feat/ui/upscale
2023-07-18 19:18:55 -04:00
Brandon Rising
869f418b03
Setup onnx on linear text2image
2023-07-18 14:27:54 -04:00
Brandon Rising
35d5ef9118
Emit step completions
2023-07-18 12:35:07 -04:00
Sergey Borisov
3240f98f4e
Rename clip1 to clip
2023-07-18 18:58:17 +03:00
blessedcoolant
7fde1f93ea
fix: Missing context on string param node
2023-07-19 02:49:09 +12:00
blessedcoolant
3f1d5000c0
Merge branch 'main' into nodes-stuff
2023-07-19 02:37:50 +12:00
blessedcoolant
0c18c5d603
feat: Add titles and tags to all Nodes
2023-07-19 02:26:45 +12:00
blessedcoolant
7d49c727a0
feat: Add String Param & types to other params
2023-07-19 02:26:33 +12:00
StAlKeR7779
889b77d3d6
Merge branch 'main' into save_vram
2023-07-18 16:55:48 +03:00
Sergey Borisov
fbbc4b3f69
Fixes
2023-07-18 16:51:16 +03:00
Sergey Borisov
bc11296a5e
Disable lazy offloading on disabled vram cache, move resulted tensors to cpu(to not stack vram tensors in cache), fix - text encoder not freed(detach)
2023-07-18 16:20:25 +03:00
psychedelicious
c19d48abd0
fix(nodes): fix inpaint cond logic for new compel version
...
thanks @StAlKeR7779
2023-07-18 22:39:34 +10:00
psychedelicious
42c440c73f
Merge branch 'main' into feat/ui/upscale
2023-07-18 22:08:02 +10:00
Lincoln Stein
9c3c393b84
merge with main
2023-07-18 07:00:55 -04:00
psychedelicious
56098f370c
feat(nodes): add RealESRGAN_x2plus.pth
, update upscale nodes
...
- add `RealESRGAN_x2plus.pth` model to installer
- add `RealESRGAN_x2plus.pth` to `realesrgan` node
- rename `RealESRGAN` to `ESRGAN` in nodes
- make `scale_factor` optional in `img_scale` node
2023-07-18 14:55:18 +10:00
Lincoln Stein
ef31837167
fix caption on sdxl raw prompt
2023-07-17 23:49:23 -04:00
blessedcoolant
13da881953
Merge branch 'main' into sdxl-support
2023-07-18 13:34:07 +12:00
Sergey Borisov
ada9b06e48
Implement compel prompt nodes for sdxl
2023-07-18 01:49:45 +03:00
Lincoln Stein
6ae10798b0
Merge branch 'main' into feat/model-events
2023-07-17 17:15:12 -04:00
Brandon Rising
bcce70fca6
Testing different session opts, added timings for testing
2023-07-17 16:27:33 -04:00
skunkworxdark
f767bf2330
use FileNotFoundError insted of "File path not found"
2023-07-17 05:49:09 -04:00
skunkworxdark
b1008af696
apply changes as suggested @psychedelicious in PR comments.
...
- filename -> file_path
- pre and post prompt changed to optional
- clearer pre and post prompt descriptions
- handle pre and post prompt passed as None
- max_prompts defaults to 1 isted of 0 to avoid accidentally processing large prompt files with it set to 0 when adding a new node.
2023-07-17 05:49:09 -04:00
skunkworxdark
956011066d
Added class PromptsFromFileInvocation to prompt.py. A new PromptFromFile Custom node that reads prompts from a file one line per prompt and outputs them as a prompt collection. With inputs for filename, pre_prompt, post_prompt, start line number, and max_prompts
2023-07-17 05:49:09 -04:00
blessedcoolant
e039771d07
fix: Incorrect type on SDXL Model Loader
2023-07-17 21:47:41 +12:00
psychedelicious
3e2a948007
Merge branch 'main' into feat/model-events
2023-07-17 17:36:20 +10:00
psychedelicious
ba12849685
fix(nodes): fix some model load events not emitting
...
Missed adding the `context` arg to them initially
2023-07-17 17:16:55 +10:00
Lincoln Stein
cad3f96831
add model input to refiner
2023-07-16 12:38:04 -04:00
Lincoln Stein
6534288b75
refiner only has clip2 not clip
2023-07-16 12:36:38 -04:00
Lincoln Stein
0a2964d8c0
add differentiated sdxl and sdxl_refiner model loaders
2023-07-16 12:17:56 -04:00
Brandon Rising
91112167b1
Fix syntax err
2023-07-15 23:56:48 -04:00
Lincoln Stein
5206ddf9b2
truncate long prompts to avoid a crash with controlnet
2023-07-15 23:49:25 -04:00
Sergey Borisov
fe78a08e37
Fix sd1/2 models conditionings
2023-07-16 06:24:24 +03:00
Sergey Borisov
c9c2229917
Separate prompt to sdxl and sdxl-refiner, add denoising start-end fields, add l2l node(supports both sdxl and sdxl-refiner), add fp32 to vae encode
2023-07-16 06:00:37 +03:00
psychedelicious
5d59dd4b97
feat(nodes): use correctly-typed configuration service in upscale node
2023-07-16 10:54:52 +10:00
Lincoln Stein
ccbfa5d862
resolve conflicts
2023-07-15 19:47:50 -04:00
psychedelicious
7b6159f8d6
feat(nodes): emit model loading events
...
- remove dependency on having access to a `node` during emits, would need a bit of additional args passed through the system and I don't think its necessary at this point. this also allowed us to drop an extraneous fetching/parsing of the session from db.
- provide the invocation context to all `get_model()` calls, so the events are able to be emitted
- test all model loading events in the app and confirm socket events are received
2023-07-16 02:12:01 +10:00
psychedelicious
c7b547ea3e
feat(nodes): remove references to restoration services
...
- remove restoration services
- remove the restore faces nodes
- update tests
2023-07-16 01:12:39 +10:00
psychedelicious
74ca87ac9e
feat(nodes): add realesrgan node
2023-07-16 01:06:50 +10:00
psychedelicious
d270f21c85
feat(nodes): valid controlnet weights are -1 to 2
2023-07-15 19:56:44 +10:00
psychedelicious
ae72f372be
fix(nodes): do not use hardcoded controlnet model
2023-07-15 19:56:44 +10:00
psychedelicious
29b2e59e65
fix(nodes): fix ref to ctx mgr service, missing import
2023-07-15 19:56:44 +10:00
psychedelicious
82fa39b531
feat(nodes): add controlnet nodes type hint
2023-07-15 19:56:44 +10:00
psychedelicious
788dcbde70
fix(nodes): add missing import
2023-07-15 19:56:44 +10:00
Sergey Borisov
6ab9a5e108
Draft
2023-07-15 19:56:44 +10:00
Sergey Borisov
7093e5d033
Pad conditionings using zeros and encoder_attention_mask
2023-07-15 00:52:54 +03:00
Brandon Rising
bd7b59910d
Testing onnx in new ui updates
2023-07-14 14:24:15 -04:00
Jonathan
9960d7ca2a
Allow ImageResizeInvocation w/h to take inputs from other nodes ( #3765 )
2023-07-15 05:34:13 +12:00
psychedelicious
23c1a6b9d5
fix(nodes): make ResizeLatents w/h optional
...
now you can connect to them in node editor
2023-07-14 21:42:42 +10:00
Sergey Borisov
9fb0b0959f
Make sde and ancestral schedulers reproducible
2023-07-14 05:25:09 +03:00
Sergey Borisov
d8f88c09ea
Fix pink output on a lot of samplers
2023-07-14 05:00:33 +03:00
Brandon Rising
524888bf3b
Merge branch 'main' into feat/onnx
2023-07-13 14:23:57 -04:00
blessedcoolant
430b9c291f
fix: Loras not working correctly with Inpainting
2023-07-13 22:59:38 +12:00
psychedelicious
50bef87da7
feat(db,nodes,api): refactor metadata
...
Metadata for the Linear UI is now sneakily provided via a `MetadataAccumulator` node, which the client populates / hooks up while building the graph.
Additionally, we provide the unexpanded graph with the metadata API response.
Both of these are embedded into the PNGs.
- Remove `metadata` from `ImageDTO`
- Split up the `images/` routes to accomodate this; metadata is only retrieved per-image
- `images/{image_name}` now gets the DTO
- `images/{image_name}/metadata` gets the new metadata
- `images/{image_name}/full` gets the full-sized image file
- Remove old metadata service
- Add `MetadataAccumulator` node, `CoreMetadataField`, hook up to `LatentsToImage` node
- Add `get_raw()` method to `ItemStorage`, retrieves the row from DB as a string, no pydantic parsing
- Update `images`related services to handle storing and retrieving the new metadata
- Add `get_metadata_graph_from_raw_session` which extracts the `graph` from `session` without needing to hydrate the session in pydantic, in preparation for providing it as metadata; also removes all references to the `MetadataAccumulator` node
2023-07-13 15:40:05 +10:00
Lincoln Stein
75c5ce46bc
merged SDXLModelLoader into ModelLoader invocation
2023-07-11 16:33:08 -04:00
Sergey Borisov
358ced6bab
SDXL Prompt and t2l nodes draft, add fp32 to vae decode
2023-07-11 18:19:36 +03:00
Lincoln Stein
8e42502dfd
partial implementation of SDXL model loader
2023-07-10 20:18:30 -04:00
Lincoln Stein
10d3bccf32
Mac MPS FP16 fixes ( #3641 )
...
This PR is to allow FP16 precision to work on Macs with MPS. In
addition, it centralizes the torch fixes/workarounds required for MPS
into a new backend utility `mps_fixes.py`. This is conditionally
imported in `api_app.py`/`cli_app.py`.
Many MANY thanks to @StAlKeR7779 for patiently working to debug and fix
these issues.
2023-07-07 17:43:23 -04:00
Eugene Brodsky
97b2ec58e2
Merge branch 'main' into release/invokeai-3-0-alpha
2023-07-07 14:18:12 -04:00
Sergey Borisov
a9e77675a8
Move clip skip to separate node
2023-07-06 17:39:49 +03:00
Sergey Borisov
04b57c408f
Add clip skip option to prompt node
2023-07-06 16:09:40 +03:00
Lincoln Stein
83d3a043da
merge latest changes from main
2023-07-05 19:15:53 -04:00
Lincoln Stein
021e1eca8e
Merge branch 'main' into mps-fp16-fixes
2023-07-05 13:19:52 -04:00
Sergey Borisov
0ac9dca926
Fix loading diffusers ti
2023-07-05 19:46:00 +03:00
Lincoln Stein
9edf78dd2e
merge with main
2023-07-05 09:12:54 -04:00
gogurtenjoyer
ba7345deb4
Merge branch 'main' into mps-fp16-fixes
2023-07-05 07:38:41 -04:00
blessedcoolant
639d88afd6
revert: inference_mode to no_grad
2023-07-05 16:39:15 +12:00
blessedcoolant
c0501ed5c2
fix: Slow loading of Loras
...
Co-Authored-By: StAlKeR7779 <7768370+StAlKeR7779@users.noreply.github.com>
2023-07-05 12:47:34 +10:00
psychedelicious
08d428a5e7
feat(nodes): add lora field, update lora loader
2023-07-05 12:47:34 +10:00
gogurtenjoyer
233869b56a
Mac MPS FP16 fixes
...
This PR is to allow FP16 precision to work on Macs with MPS. In addition, it centralizes the torch fixes/workarounds
required for MPS into a new backend utility file `mps_fixes.py`. This is conditionally imported in `api_app.py`/`cli_app.py`.
Many MANY thanks to StAlKeR7779 for patiently working to debug and fix these issues.
2023-07-04 18:10:53 -04:00
blessedcoolant
7e18814dd0
Add standard names for Model Loader Nodes
2023-07-04 14:35:06 +10:00
Lincoln Stein
a8a2209560
VAE loader is loading proper VAE. Unclear if it is changing the image
2023-07-04 14:35:06 +10:00
Lincoln Stein
fa8a5838d3
add vae lodaer
2023-07-04 14:35:06 +10:00
blessedcoolant
6c62f41f2e
chore: Change PipelineModels to MainModels
2023-07-04 14:33:56 +10:00
Lincoln Stein
4d2c7806fc
quash memory leak when compel invocation called
2023-07-03 14:12:35 -04:00
Lincoln Stein
3937428563
Merge branch 'release/invokeai-3-0-alpha' of github.com:invoke-ai/InvokeAI into release/invokeai-3-0-alpha
2023-07-03 14:11:28 -04:00
Lincoln Stein
ed86d0b708
Union[foo, None]=>Optional[foo]
2023-07-03 12:17:45 -04:00
psychedelicious
fa169b5517
feat(nodes): add ImageCollection node in prep for batch processing
2023-07-04 00:18:27 +10:00
Lincoln Stein
aae60b6142
quash memory leak when compel invocation called
2023-07-03 10:08:10 -04:00
Lincoln Stein
b79740d61d
back out torch.no_grad()
2023-07-02 23:03:24 -04:00
Lincoln Stein
fa8ccd2a94
add no_grad() to compel node invoke() method
2023-07-02 18:20:16 -04:00
StAlKeR7779
ac46b129bf
Merge branch 'main' into feat/lora_model_patch
2023-06-28 22:43:58 +03:00
Lincoln Stein
72209d0cc3
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-28 14:49:37 -04:00
blessedcoolant
75614bbba3
Merge branch 'main' into feat/nodes/cpu-noise
2023-06-28 18:22:08 +12:00
blessedcoolant
32883adf6e
Merge branch 'main' into feat/controlnet_extras
2023-06-28 17:36:21 +12:00
Kent Keirsey
fc322aa9f7
Update controlnet-aux to 0.0.6 and add LeReS
2023-06-27 23:45:47 -04:00
psychedelicious
73f63853ba
fix(nodes): use context for logger in param_easing
2023-06-27 23:30:10 -04:00
psychedelicious
2e14528e4c
feat(nodes): default to CPU noise
2023-06-27 13:57:31 +10:00
user1
10d2d85c83
Started to add ControlNet resize_crop and resize_fill options, but commented out, not ready to deploy yet.
2023-06-26 12:03:05 -07:00
user1
af566adf56
For MediapipeFace ControlNet preprocessor, if input image is RGBA format then convert to RGB (otherwise MediapipeFace image processing throws an error)
2023-06-26 04:29:43 -07:00
user1
873c18bc4b
Added TileResampler ControlNet preprocessor node.
...
Also fixes to SegmentAnything ControlNet preprocessor node.
2023-06-26 04:27:26 -07:00
Eugene Brodsky
7b97639961
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-26 01:24:30 -04:00
Sergey Borisov
5cebf67ee4
Apply lora by patching lora instead of hooks
2023-06-26 03:57:33 +03:00
user1
10e8389fa4
Commenting out LeReS ControlNet image preprocessor until release of controlnet_aux v0.0.6 (supported on controlnet_aux current main, but not on latest release v0.0.5)
2023-06-25 14:25:14 -07:00
user1
414a04774c
Added LeReS ControlNet image preprocessor.
2023-06-25 14:19:55 -07:00
user1
b872e7a5e0
Simplifying ControlNet SAM preprocessor segmentation color mapping.
2023-06-25 12:54:48 -07:00
user1
de4064bdac
Fixed problem with with non-reproducible results from ControlNet SegmentAnything preprocessor. Cause was controlnet_aux randomization of segmentation coloring, which seems to lead to some randomization of resulting images using ControlNet seg model. Switched to using deterministic ADE20K color palette instead, which solved the problem.
2023-06-25 12:38:17 -07:00
user1
10c3753d7f
Added SAM preprocessor
2023-06-25 11:16:39 -07:00
user1
c5faffc18b
Merge branch 'main' of github.com:invoke-ai/InvokeAI into feat/controlnet-control-modes
...
Only "real" conflicts were in:
invokeai/frontend/web/src/features/controlNet/components/ControlNet.tsx
invokeai/frontend/web/src/features/controlNet/store/controlNetSlice.ts
2023-06-24 17:05:57 -07:00
Lincoln Stein
d5f742620f
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-24 11:58:06 -04:00
Lincoln Stein
ba1371a88f
rename ModelType.Pipeline to ModelType.Main
2023-06-24 11:45:49 -04:00
psychedelicious
bab3a9504e
fix(nodes): fix LatentsToImage not using is_intermediate
when creating images
...
Appears this was removed during a merge conflict resolution.
2023-06-24 17:57:39 +10:00
blessedcoolant
bb85608890
Merge branch 'main' into feat/onnx
2023-06-23 05:18:41 +12:00
Sergey Borisov
6c7668aaca
Update onnx model structure, change code according
2023-06-22 20:03:17 +03:00
psychedelicious
1bc170727b
tidy(nodes): rename sd_model_loader
to pipeline_model_loader
...
this is more accurate bc it can do eg kandinsky also
2023-06-22 17:47:58 +10:00
psychedelicious
42a59aa147
feat(nodes): add sd_model_loader
node
...
Loads any pipeline model.
Also introduced is `PipelineModelField`, which includes a model name and base model.
2023-06-22 17:36:05 +10:00
Sergey Borisov
7759b3f75a
Small refactor
2023-06-21 04:24:25 +03:00
Sergey Borisov
4d337f6abc
ONNX Model/runtime first implementation
2023-06-21 02:12:21 +03:00
blessedcoolant
4f5693040e
Merge branch 'main' into fix/inpaint_new_manager
2023-06-19 22:55:00 +12:00
Sergey Borisov
a01998d095
Remove more old logic
2023-06-19 15:57:28 +10:00
Sergey Borisov
7b35162b9e
Remove old logic except for inpaint, add support for lora and ti to inpaint node
2023-06-19 15:57:28 +10:00
Sergey Borisov
c26e1a9271
Rewrite inpaint node to new model manager, remove TextToImage and ImageToImage nodes
2023-06-19 15:57:28 +10:00
Sergey Borisov
9b32407744
Provide generator to all schedulers step function to make both ancestral and sde schedulers reproducible
2023-06-19 00:34:01 +03:00
Sergey Borisov
f3d9797ebe
Add dpmpp_sde and dpmpp_2m_sde schedulers(with karras)
2023-06-18 23:38:15 +03:00
Lincoln Stein
82c2498043
Merge branch 'main' into lstein/new-model-manager
2023-06-14 08:41:40 -07:00
blessedcoolant
6b8e88ad7f
Merge branch 'main' into feat/controlnet-control-modes
2023-06-15 03:18:41 +12:00
psychedelicious
34ebee67b7
fix(nodes): fix revert conflict
2023-06-15 01:05:16 +10:00
psychedelicious
b51e9a6bdb
Revert "feat(nodes): add warning socket event"
...
This reverts commit cefdd9d634e515239bd85666c872a0d64bb9d772.
2023-06-15 01:05:16 +10:00
psychedelicious
abee37eab3
feat(nodes): add warning socket event
2023-06-15 01:05:16 +10:00
psychedelicious
42e48b2bef
feat(nodes): add dynamic prompt node
2023-06-15 01:05:16 +10:00
StAlKeR7779
d0ee3558d1
Merge branch 'main' into lstein/new-model-manager
2023-06-14 17:29:01 +03:00
psychedelicious
a1773197e9
feat(nodes): remove image_origin
from most places
...
- remove `image_origin` from most places where we interact with images
- consolidate image file storage into a single `images/` dir
Images have an `image_origin` attribute but it is not actually used when retrieving images, nor will it ever be. It is still used when creating images and helps to differentiate between internally generated images and uploads.
It was included in eg API routes and image service methods as a holdover from the previous app implementation where images were not managed in a database. Now that we have images in a db, we can do away with this and simplify basically everything that touches images.
The one potentially controversial change is to no longer separate internal and external images on disk. If we retain this separation, we have to keep `image_origin` around in a number of spots and it getting image paths on disk painful.
So, I am have gotten rid of this organisation. Images are now all stored in `images`, regardless of their origin. As we improve the image management features, this change will hopefully become transparent.
2023-06-14 23:08:27 +10:00
user1
5cd0e90816
Renamed ControlNet control_mode option "even_more_control" to "unbalanced"
2023-06-13 22:30:17 -07:00
user1
de3e6cdb02
Switched over to ControlNet control_mode with 4 options: balanced, more_prompt, more_control, even_more_control. Based on True/False combinations of internal booleans cfg_injection and soft_injection
2023-06-13 21:08:34 -07:00