psychedelicious
7467fa5e57
fix(ui): fix node ui type hints
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
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
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
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
5d5cdc7716
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
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
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
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
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
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
8f393b64b8
feat(nodes): add seed validator
...
If `seed>SEED_MAX`, we can still continue if we parse the seed as `seed % SEED_MAX`.
2023-05-24 11:30:47 -04:00
psychedelicious
035425ef24
feat(nodes): address feedback
...
- Address database feedback:
- Remove all the extraneous tables. Only an `images` table now:
- `image_type` and `image_category` are unrestricted strings. When creating images, the provided values are checked to ensure they are a valid type and category.
- Add `updated_at` and `deleted_at` columns. `deleted_at` is currently unused.
- Use SQLite's built-in timestamp features to populate these. Add a trigger to update `updated_at` when the row is updated. Currently no way to update a row.
- Rename the `id` column in `images` to `image_name`
- Rename `ImageCategory.IMAGE` to `ImageCategory.GENERAL`
- Move all exceptions outside their base classes to make them more portable.
- Add `width` and `height` columns to the database. These store the actual dimensions of the image file, whereas the metadata's `width` and `height` refer to the respective generation parameters and are nullable.
- Make `deserialize_image_record` take a `dict` instead of `sqlite3.Row`
- Improve comments throughout
- Tidy up unused code/files and some minor organisation
2023-05-24 11:30:47 -04:00
psychedelicious
5de3c41d19
feat(nodes): add metadata handling
2023-05-24 11:30:47 -04:00
psychedelicious
d4aa79acd7
fix(nodes): use save
instead of set
...
`set` is a python builtin
2023-05-24 11:30:47 -04:00
blessedcoolant
0acb8ed85d
Merge branch 'main' into feat/nodes/add-w-h-latentsoutput
2023-05-12 15:23:29 +12:00
Sergey Borisov
27dc07d95a
Set zero eta by default(fix ddim scheduler error)
2023-05-11 18:49:27 +03:00
blessedcoolant
f7dc171c4f
Rename default schedulers across the app
2023-05-12 03:44:20 +12:00
blessedcoolant
8a836247c8
Add DPMPP Single, Euler Karras and DPMPP2 Multi Karras Schedulers
2023-05-12 02:23:33 +12:00
blessedcoolant
9a383e456d
Codesplit SCHEDULER_MAP for reusage
2023-05-12 00:40:03 +12:00
blessedcoolant
c1e7460d39
Merge branch 'main' into unipc-sched
2023-05-12 00:11:09 +12:00
blessedcoolant
3ffff023b2
Add missing key to scheduler_map
...
It was breaking coz the sampler was not being reset. So needs a key on each. Will simplify this later.
2023-05-12 00:08:50 +12:00
blessedcoolant
d1029138d2
Default to DDIM if scheduler is missing
2023-05-11 22:54:35 +12:00
blessedcoolant
06b5800d28
Add UniPC Scheduler
2023-05-11 22:43:18 +12:00
psychedelicious
93ced0bec6
feat(nodes): add w/h to latents outputs
...
This reduces the number of nodes needed when working with latents (ie fewer plain integer value nodes)
Also correct a few mistakes in the fields
2023-05-11 20:32:55 +10:00
psychedelicious
4333852c37
fix(nodes): fix missing context
arg in LatentsToLatents
2023-05-11 19:28:42 +10:00
psychedelicious
f488b1a7f2
fix(nodes): fix usage of Optional
2023-05-11 11:55:51 +10:00
psychedelicious
a7786d5ff2
fix(nodes): restore seamless to TextToLatents
2023-05-11 11:55:51 +10:00
psychedelicious
a1079e455a
feat(nodes): cleanup unused params, seed generation
2023-05-11 11:55:51 +10:00
psychedelicious
6102e560ba
feat(nodes): add LatentsToImage node (VAE encode)
2023-05-11 11:55:51 +10:00
StAlKeR7779
58d7833c5c
Review changes
2023-05-05 21:09:29 +03:00
StAlKeR7779
5012f61599
Separate conditionings back to positive and negative
2023-05-05 15:47:51 +03:00
StAlKeR7779
81ec476f3a
Revert seed field addition
2023-05-04 21:50:40 +03:00
StAlKeR7779
7d221e2518
Combine conditioning to one field(better fits for multiple type conditioning like perp-neg)
2023-05-04 20:14:22 +03:00
StAlKeR7779
56d3cbead0
Merge branch 'main' into feat/compel_node
2023-05-04 00:28:33 +03:00
psychedelicious
3264d30b44
feat(nodes): allow multiples of 8 for dimensions
2023-05-02 12:01:52 +10:00