blessedcoolant
f296e5c41e
wip: Remove MaskBlur / Adjust color correction
2023-08-12 20:54:30 +12:00
blessedcoolant
6034fa12de
feat: Add Mask Blur node
2023-08-12 16:20:58 +12:00
Sergey Borisov
ce3675fc14
Apply denoising_start/end according on timestep value
2023-08-12 03:19:49 +03:00
blessedcoolant
f343ab0302
wip: Port Outpainting to new backend
2023-08-12 06:15:59 +12:00
Sergey Borisov
f3ae52ff97
Fix error at high denoising_start, fix unipc(cpu_only)
2023-08-11 15:46:16 +03:00
blessedcoolant
7c0023ad9e
feat: Remove TextToLatents / Rename Latents To Latents -> DenoiseLatents
2023-08-11 22:20:37 +12:00
blessedcoolant
231e665675
Merge branch 'main' into feat/refactor_generation_backend
2023-08-11 20:53:38 +12:00
Sergey Borisov
2ef6a8995b
Temporary force set vae to same precision as unet
2023-08-10 18:01:58 -04:00
psychedelicious
49cce1eec6
feat: add app_version
to image metadata
2023-08-10 14:22:39 +10:00
Sergey Borisov
e9ec5ab85c
Apply requested changes
...
Co-Authored-By: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2023-08-10 06:19:22 +03:00
Sergey Borisov
17fed1c870
Fix merge conflict errors
2023-08-10 05:03:33 +03:00
Sergey Borisov
ade78b9591
Merge branch 'main' into feat/refactor_generation_backend
2023-08-10 04:32:16 +03:00
Martin Kristiansen
c8fbaf54b6
Add self.min, not self.max
2023-08-10 09:59:22 +10:00
Sergey Borisov
b4a74f6523
Add MaskEdge and ColorCorrect nodes
...
Co-Authored-By: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com>
2023-08-08 23:57:02 +03:00
Sergey Borisov
f7aec3b934
Move conditioning class to backend
2023-08-08 23:33:52 +03:00
Sergey Borisov
a7e44678fb
Remove legacy/unused code
2023-08-08 20:49:01 +03:00
Sergey Borisov
da0184a786
Invert mask, fix l2l on no mask conntected, remove zeroing latents on zero start
2023-08-08 20:01:49 +03:00
Sergey Borisov
96b7248051
Add mask to l2l
2023-08-08 18:50:36 +03:00
Sergey Borisov
5f29526a8e
Add seed to latents field
2023-08-08 04:00:33 +03:00
Sergey Borisov
492bfe002a
Remove sdxl t2l/l2l nodes
2023-08-08 03:38:42 +03:00
Kevin Turner
25c669b1d6
Merge remote-tracking branch 'origin/main' into refactor/remove_unused_pipeline_methods
2023-08-07 13:03:10 -07:00
Sergey Borisov
1db2c93f75
Fix preview, inpaint
2023-08-07 21:27:32 +03:00
Sergey Borisov
2539e26c18
Apply denoising_start/end, add torch-sdp to memory effictiend attention func
2023-08-07 19:57:11 +03:00
Sergey Borisov
b0738b7f70
Fixes, zero tensor for empty negative prompt, remove raw prompt node
2023-08-07 18:37:06 +03:00
Jonathan
ae17d01e1d
Fix hue adjustment ( #4182 )
...
* Fix hue adjustment
Hue adjustment wasn't working correctly because color channels got swapped. This has now been fixed and we're using PIL rather than cv2 to do the RGBA->HSV->RGBA conversion. The range of hue adjustment is also the more typical 0..360 degrees.
2023-08-06 23:23:51 +00:00
Kevin Turner
6487e7d906
refactor(diffusers_pipeline): remove unused ModelGroup 🚮
...
orphaned since #3550 removed the LazilyLoadedModelGroup code, probably unused since ModelCache took over responsibility for sequential offload somewhere around #3335 .
2023-08-05 21:50:52 -07:00
Kevin Turner
77033eabd3
refactor(diffusers_pipeline): remove unused precision
🚮
2023-08-05 21:50:52 -07:00
Sergey Borisov
9aaf67c5b4
wip
2023-08-06 05:05:25 +03:00
psychedelicious
b8b589c150
fix(nodes): fix hsl nodes rebase conflict
2023-08-06 09:57:49 +10:00
Kent Keirsey
d93900a8de
Added HSL Nodes
2023-08-06 09:57:49 +10:00
Lincoln Stein
6ad565d84c
folded in changes from 4099
2023-08-04 18:24:47 -04:00
Sergey Borisov
04229082d6
Provide ti name from model manager, not from ti itself
2023-08-04 18:24:47 -04:00
StAlKeR7779
0d3c27f46c
Fix typo
...
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
2023-08-04 11:44:56 -04:00
Sergey Borisov
cff91f06d3
Add lora apply in sdxl l2l node
2023-08-04 11:44:56 -04:00
Lincoln Stein
1d5d187ba1
model probe detects sdxl lora models
2023-08-04 11:44:56 -04:00
Sergey Borisov
1ac14a1e43
add sdxl lora support
2023-08-04 11:44:56 -04:00
psychedelicious
bf94412d14
feat: add multi-select to gallery
...
multi-select actions include:
- drag to board to move all to that board
- right click to add all to board or delete all
backend changes:
- add routes for changing board for list of image names, deleting list of images
- change image-specific routes to `images/i/{image_name}` to not clobber other routes (like `images/upload`, `images/delete`)
- subclass pydantic `BaseModel` as `BaseModelExcludeNull`, which excludes null values when calling `dict()` on the model. this fixes inconsistent types related to JSON parsing null values into `null` instead of `undefined`
- remove `board_id` from `remove_image_from_board`
frontend changes:
- multi-selection stuff uses `ImageDTO[]` as payloads, for dnd and other mutations. this gives us access to image `board_id`s when hitting routes, and enables efficient cache updates.
- consolidate change board and delete image modals to handle single and multiples
- board totals are now re-fetched on mutation and not kept in sync manually - was way too tedious to do this
- fixed warning about nested `<p>` elements
- closes #4088 , need to handle case when `autoAddBoardId` is `"none"`
- add option to show gallery image delete button on every gallery image
frontend refactors/organisation:
- make typegen script js instead of ts
- enable `noUncheckedIndexedAccess` to help avoid bugs when indexing into arrays, many small changes needed to satisfy TS after this
- move all image-related endpoints into `endpoints/images.ts`, its a big file now, but this fixes a number of circular dependency issues that were otherwise felt impossible to resolve
2023-08-03 11:46:59 +10:00
Lincoln Stein
e7d9e552a7
Merge branch 'main' into feat_compel_and
2023-08-01 07:20:25 -04:00
Brandon Rising
f5ac73b091
Merge branch 'main' into feat/onnx
2023-07-31 10:58:40 -04:00
Damian Stewart
d2c55dc011
enable .and() syntax and long prompts
2023-07-30 14:20:59 +02:00
blessedcoolant
6d82a1019a
fix: Black linting
2023-07-29 17:34:43 +12:00
blessedcoolant
bee678fdd1
fix: Prompt Node using incorrect output type
2023-07-29 17:12:25 +12:00
blessedcoolant
aae1670080
fix: Incorrect Prompt Node output type
2023-07-29 16:04:19 +12:00
blessedcoolant
8a0e1b6cfc
feat: Create Prompt Input Node
2023-07-29 15:52:37 +12:00
Brandon Rising
6ca0c38ee3
Merge branch 'main' into feat/onnx
2023-07-28 22:06:28 -04:00
ZachNagengast
2164674b01
Black format
2023-07-28 07:49:29 -07:00
Lincoln Stein
e342ca872f
fix to work on non-MPS systems
2023-07-28 10:27:49 -04:00
Brandon Rising
da751da3dd
Merge branch 'main' into feat/onnx
2023-07-28 09:59:35 -04:00
Brandon Rising
2b7b3dd4ba
Run python black
2023-07-28 09:46:44 -04:00
ZachNagengast
ddaf753f7b
Merge branch 'set-timestep-mps-fix' of ssh://github.com/ZachNagengast/InvokeAI into set-timestep-mps-fix
2023-07-27 23:40:44 -07:00
ZachNagengast
e6d14c708c
Fix variable name
2023-07-27 23:40:23 -07:00
Millun Atluri
7f81a95b20
Merge branch 'main' into set-timestep-mps-fix
2023-07-28 16:12:07 +10:00
ZachNagengast
aa1f827271
Fix unet_info location, can have no device prop
2023-07-27 14:47:09 -07:00
ZachNagengast
6edeb4e072
Pass device to set_timestep to avoid float64 error
2023-07-27 12:52:18 -07:00
Brandon Rising
1ea9ba84f5
Release session if applying ti or lora
2023-07-27 15:20:38 -04:00
Lincoln Stein
0d8f9cbe55
resolved conflicts with main
2023-07-27 15:11:25 -04:00
Lincoln Stein
fd75a1dd10
reformat with black
2023-07-27 15:01:00 -04:00
Brandon Rising
59716938bf
Remove TensorRT support at the current time until we validate it works, remove time step recorder
2023-07-27 11:18:50 -04:00
Martin Kristiansen
218b6d0546
Apply black
2023-07-27 10:54:01 -04:00
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