user1
fdef53b2de
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
11bd038b9d
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
768cfe3aab
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
user1
c4277b0662
Moved to controlnet_aux v0.0.4, reinstated Zoe controlnet preprocessor. Also in pyproject.toml had to specify downgrade of timm to 0.6.13 _after_ controlnet-aux installs timm >= 0.9.2, because timm >0.6.13 breaks Zoe preprocessor.
2023-05-26 21:44:00 -04:00
psychedelicious
020f3ccf07
fix(nodes): controlnet input accepts list or single controlnet
2023-05-26 21:44:00 -04:00
psychedelicious
7467fa5e57
fix(ui): fix node ui type hints
2023-05-26 21:44:00 -04:00
psychedelicious
e19ef7ed2f
fix(ui): add control field type
2023-05-26 21:44:00 -04:00
psychedelicious
71003be6b8
fix(ui): add value to conditioning field
2023-05-26 21:44:00 -04:00
user1
c1dbafc2df
chore(ui): regen api client
2023-05-26 21:44:00 -04:00
user1
dcebd71381
Extended node-based ControlNet support to LatentsToLatentsInvocation.
2023-05-26 21:44:00 -04:00
user1
d855a65e73
Cleaning up after ControlNet refactor in TextToLatentsInvocation
2023-05-26 21:44:00 -04:00
user1
a9007c7e0f
Refactored most of controlnet code into its own method to declutter TextToLatents.invoke(), and make upcoming integration with LatentsToLatents easier.
2023-05-26 21:44:00 -04:00
user1
af60304f97
Fix to work with current stable release of controlnet_aux (v0.0.3). Turned of pre-processor params that were added post v0.0.3. Also change defaults for shuffle.
2023-05-26 21:44:00 -04:00
user1
6de241eead
Switched CotrolNet node modelname input from free text to default list of popular ControlNet model names.
2023-05-26 21:44:00 -04:00
user1
51032dc0b2
Commented out ZoeDetector. Will re-instate once there's a controlnet-aux release that supports it.
2023-05-26 21:44:00 -04:00
user1
297931f5d9
Cleaning up prior to submitting ControlNet PR. Mostly turning off diagnostic printing. Also fixed error when there is no controlnet input.
2023-05-26 21:44:00 -04:00
user1
f613c073c1
Added support for specifying which step iteration to start using
...
each ControlNet, and which step to end using each controlnet (specified as fraction of total steps)
2023-05-26 21:44:00 -04:00
user1
63d248622c
Refactored ControNet support to consolidate multiple parameters into data struct. Also redid how multiple controlnets are handled.
2023-05-26 21:44:00 -04:00
user1
48485fe92f
Removed last bits of dtype and and device hardwiring from controlnet section
2023-05-26 21:44:00 -04:00
user1
07726af703
Cleaning up mistakes after rebase.
2023-05-26 21:44:00 -04:00
user1
ad1004b485
Cleaning up TextToLatent arg testing
2023-05-26 21:44:00 -04:00
user1
0096fb2790
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
9c8c2e49d6
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
2005a96847
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
00a8d60c1b
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
3aa182390a
changes to base class for controlnet nodes
2023-05-26 21:44:00 -04:00
user1
e44f1d6d4e
Refactored controlnet node to output ControlField that bundles control info.
2023-05-26 21:44:00 -04:00
user1
dfdf8e2ead
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
3a645c4e80
Initial port of controlnet node support from generator-based TextToImageInvocation node to latent-based TextToLatentsInvocation node
2023-05-26 21:44:00 -04:00
user1
113129daf9
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
940e3b6635
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
user1
7fb29dabff
Fixed lint-ish formatting error
2023-05-26 21:44:00 -04:00
user1
714ad6dbb8
Fixed use of ControlNet control_weight parameter
2023-05-26 21:44:00 -04:00
user1
c0863fa20f
Added support for using multiple control nets. Unfortunately this breaks direct usage of Control node output port ==> TextToLatent control input port -- passing through a Collect node is now required. Working on fixing this...
2023-05-26 21:44:00 -04:00
user1
78b0b37ba6
More rebase repair.
2023-05-26 21:44:00 -04:00
user1
5d5cdc7716
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
93cd818f6a
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
598a628790
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
f3666eda63
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
754017b59e
Added an additional "raw_processed_image" output port to controlnets, mainly so could route ImageField to a ShowImage node
2023-05-26 21:44:00 -04:00
user1
21251ce12c
Added HED, LineArt, and OpenPose ControlNet nodes
2023-05-26 21:44:00 -04:00
user1
dc12fa6cd6
changes to base class for controlnet nodes
2023-05-26 21:44:00 -04:00
user1
f2f4c37f19
Refactored ControlNet nodes so they subclass from PreprocessedControlInvocation, and only need to override run_processor(image) (instead of reimplementing invoke())
2023-05-26 21:44:00 -04:00
user1
0864fca641
Resolving conflicts in rebase to origin/main
2023-05-26 21:44:00 -04:00
user1
5e4c0217c7
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
78cd106c23
Initial port of controlnet node support from generator-based TextToImageInvocation node to latent-based TextToLatentsInvocation node
2023-05-26 21:44:00 -04:00
user1
6ed0efa938
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
ca0669c337
Resolving rebase conflict
2023-05-26 21:44:00 -04:00
user1
a91dee87d0
Added support for ControlNet and MultiControlNet to legacy non-nodal Txt2Img in backend/generator. Although backend/generator will likely disappear by v3.x, right now they are very useful for testing core ControlNet and MultiControlNet functionality while node codebase is rapidly evolving.
2023-05-26 21:44:00 -04:00
user1
5ff98a4179
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
psychedelicious
a25bae2545
fix(ui): tweak log levels
2023-05-26 18:06:08 +10:00
psychedelicious
0ea35b1e3d
feat(ui): improve session canceled handling
2023-05-26 18:06:08 +10:00
psychedelicious
c6f935bf1a
feat(ui): improve gallery page handling
2023-05-26 18:06:08 +10:00
psychedelicious
96b4d35d43
fix(ui): fix uploads not loading more images correctly after generation
2023-05-26 18:06:08 +10:00
psychedelicious
7b0938e7e4
feat(ui): add comments for weird stuff
2023-05-26 18:06:08 +10:00
psychedelicious
249522b568
fix(ui): fix gallery not loading more images correctly after generation
2023-05-26 18:06:08 +10:00
psychedelicious
39088e42cc
fix(ui): remove console logs
2023-05-26 18:06:08 +10:00
psychedelicious
30e0033ebe
fix(ui): fix results not added to gallery
2023-05-26 18:06:08 +10:00
psychedelicious
b599c40099
feat(ui): improve session invoked handling
2023-05-26 18:06:08 +10:00
psychedelicious
8f190169db
feat(ui): improve session creation handling
2023-05-26 18:06:08 +10:00
psychedelicious
1d4d705795
feat(ui): improve image urls handling
2023-05-26 18:06:08 +10:00
psychedelicious
b3f71b3078
feat(ui): improve image metadata handling
2023-05-26 18:06:08 +10:00
psychedelicious
6059db4f15
feat(ui): improve image delete handling
2023-05-26 18:06:08 +10:00
psychedelicious
0d5f44b153
feat(ui): improve image upload handling
2023-05-26 18:06:08 +10:00
psychedelicious
17164a37a8
fix(ui): fix gallery auto switch
2023-05-26 18:06:08 +10:00
psychedelicious
f88ccabe30
fix(ui): gallery not loading on page load
2023-05-26 18:06:08 +10:00
psychedelicious
57a3eb3652
feat(ui): unset progress image inside invocationComplete listener
2023-05-26 13:25:50 +10:00
Mary Hipp
82a8972bde
create listener for imageMetdataReceived to swap our progressImage
2023-05-26 13:25:50 +10:00
psychedelicious
0c3b4bb70d
chore(ui): regen api client
2023-05-25 22:17:14 -04:00
psychedelicious
33e13820fc
feat(nodes): remove meta
node field; use individual is_intermediate
field instead
...
as suggested by @Kyle0654
2023-05-25 22:17:14 -04:00
psychedelicious
43d991cfdb
fix(ui): fix incorrect comment
2023-05-25 22:17:14 -04:00
psychedelicious
291e9cf14b
fix(nodes): add is_intermediate
to all image-outputting nodes
2023-05-25 22:17:14 -04:00
psychedelicious
a2de5c9963
feat(ui): change intermediates handling
...
- Update the canvas graph generation to flag its uploaded init and mask images as `intermediate`.
- During canvas setup, hit the update route to associate the uploaded images with the session id.
- Organize the socketio and RTK listener middlware better. Needed to facilitate the updated canvas logic.
- Add a new action `sessionReadyToInvoke`. The `sessionInvoked` action is *only* ever run in response to this event. This lets us do whatever complicated setup (eg canvas) and explicitly invoking. Previously, invoking was tied to the socket subscribe events.
- Some minor tidying.
2023-05-25 22:17:14 -04:00
psychedelicious
5025f84627
chore(ui): regen api client
2023-05-25 22:17:14 -04:00
psychedelicious
d2c8a53c55
feat(nodes): change intermediates handling
...
- `ImageType` is now restricted to `results` and `uploads`.
- Add a reserved `meta` field to nodes to hold the `is_intermediate` boolean. We can extend it in the future to support other node `meta`.
- Add a `is_intermediate` column to the `images` table to hold this. (When `latents`, `conditioning` etc are added to the DB, they will also have this column.)
- All nodes default to `*not* intermediate`. Nodes must explicitly be marked `intermediate` for their outputs to be `intermediate`.
- When building a graph, you can set `node.meta.is_intermediate=True` and it will be handled as an intermediate.
- Add a new `update()` method to the `ImageService`, and a route to call it. Updates have a strict model, currently only `session_id` and `image_category` may be updated.
- Add a new `update()` method to the `ImageRecordStorageService` to update the image record using the model.
2023-05-25 22:17:14 -04:00
Kent Keirsey
05fb0ac2b2
Update latent.py
2023-05-26 10:27:33 +10:00
Kent Keirsey
d4acd49ee3
Update generate.py
2023-05-26 10:27:33 +10:00
Kent Keirsey
d98868e524
Update generationSlice.ts to change Default Scheduler
2023-05-26 10:27:33 +10:00
Mary Hipp
93bb27f2c7
fix gallery navigation
2023-05-26 10:01:06 +10:00
Mary Hipp
a4c44edf8d
more use parameter fixes
2023-05-26 10:01:06 +10:00
Mary Hipp
1e94d7739a
fix metadata references, add support for negative_conditioning syntax
2023-05-26 10:01:06 +10:00
psychedelicious
3829ffbe66
fix(tests): add --use_memory_db
flag; use it in tests
2023-05-25 12:12:31 +10:00
psychedelicious
ad619ae880
fix(tests): log db_location
2023-05-25 12:12:31 +10:00
psychedelicious
d22ebe08be
fix(tests): log db_location
2023-05-25 12:12:31 +10:00
psychedelicious
ee0c6ad86e
fix(cli): fix invocation services for cli
2023-05-25 12:12:31 +10:00
psychedelicious
3000436121
chore(nodes): remove unused imports
2023-05-25 12:12:31 +10:00
psychedelicious
37cdd91f5d
fix(nodes): use forward declarations for InvocationServices
...
Also use `TYPE_CHECKING` to get IDE hints.
2023-05-25 12:12:31 +10:00
psychedelicious
ff6b345d45
fix(nodes): rebase fixes
2023-05-24 11:30:47 -04:00
psychedelicious
1fb307abf4
feat(nodes): restore canvas functionality (non-latents)
2023-05-24 11:30:47 -04:00
psychedelicious
29c952dcf6
feat(ui): restore canvas functionality
2023-05-24 11:30:47 -04:00
psychedelicious
010f63a50d
feat(ui): misc tidy
2023-05-24 11:30:47 -04:00
psychedelicious
068bbe3a39
fix(ui): fix uploads tab in gallery
2023-05-24 11:30:47 -04:00
psychedelicious
ad39680feb
feat(nodes): wip inpainting nodes prep
2023-05-24 11:30:47 -04:00
psychedelicious
1e0ae8404c
feat(nodes): comment out seamless
...
this will be a model config feature when model manager is ready
2023-05-24 11:30:47 -04:00
psychedelicious
460d555a3d
feat(nodes): add image mul, channel, convert nodes
...
also make img node names consistent
2023-05-24 11:30:47 -04:00
psychedelicious
66ad04fcfc
feat(nodes): add mask image category
2023-05-24 11:30:47 -04:00
psychedelicious
c7c0836721
feat(ui): migrate linear workflows to latents
2023-05-24 11:30:47 -04:00
psychedelicious
d2c223de8f
feat(nodes): move fully* to new images service
...
* except i haven't rebuilt inpaint in latents
2023-05-24 11:30:47 -04:00
psychedelicious
dd16f788ed
fix(nodes): fix RangeOfSizeInvocation off-by-one error
2023-05-24 11:30:47 -04:00
psychedelicious
b25c1af018
feat(nodes): add RangeOfSizeInvocation
...
The `RangeInvocation` is a simple wrapper around `range()`, but you must provide `stop > start`.
`RangeOfSizeInvocation` replaces the `stop` parameter with `size`, so that you can just provide the `start` and `step` and get a range of `size` length.
2023-05-24 11:30:47 -04:00