Lincoln Stein
f29bafd6ec
fix Object of type PosixPath is not JSON serializable error
2023-07-18 22:10:12 -04:00
psychedelicious
3e2a948007
Merge branch 'main' into feat/model-events
2023-07-17 17:36:20 +10:00
Kent Keirsey
675a92401c
Merge branch 'main' into lstein/default-model-install
2023-07-16 19:32:59 -04:00
Lincoln Stein
6fbb5ce780
add renaming capabilities to model update API route
2023-07-16 14:17:05 -04:00
psychedelicious
48a031dbaf
fix(nodes): fix typing of configuration service
2023-07-16 10:52:18 +10:00
Lincoln Stein
373beefd13
remove restoration option from invokeai.yaml
2023-07-15 18:26:19 -04:00
Lincoln Stein
6b0a158ffa
Merge branch 'main' into lstein/default-model-install
2023-07-15 18:23:34 -04:00
Lincoln Stein
c90345d6a3
deprecate the face restoration option
2023-07-15 18:23:32 -04:00
Lincoln Stein
9faffa2245
revert inadvertent breaking change to config causing test failures (override)
2023-07-15 18:15:59 -04:00
Lincoln Stein
6073cb8020
add documentation on the configuration system
2023-07-15 16:14:47 -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
Lincoln Stein
2faa7cee37
add rename_model route
2023-07-14 23:03:18 -04:00
Lincoln Stein
8600aad12b
multiple enhancements to model manager REACT API
...
1. add a /sync route for synchronizing the in-memory model lists to
models.yaml, the models directory, and the autoimport directories.
2. add optional destination_directories to convert_model and merge_model
operations.
3. add /ckpt_confs route for retrieving known legacy checkpoint configuration
files.
4. add /search route for finding all models in a directory located in the server
filesystem
2023-07-14 13:45:16 -04:00
Lincoln Stein
ad076b1174
add model directory search route
2023-07-14 11:14:33 -04:00
psychedelicious
5f5c93abb4
feat(app): embed PNG info in invokeai_metadata
and invokeai_graph
...
Using just `metadata` and `graph` feel a bit too generic.
2023-07-13 15:40:05 +10: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
25591788c1
fix conflicts
2023-07-11 15:55:10 -04:00
Lincoln Stein
dab03fb646
rename gpu_mem_reserved to max_vram_cache_size
...
To be consistent with max_cache_size, the amount of memory to hold in
VRAM for model caching is now controlled by the max_vram_cache_size
configuration parameter.
2023-07-11 15:25:39 -04:00
Lincoln Stein
d32f9f7cb0
reverse logic of gpu_mem_reserved
...
- gpu_mem_reserved now indicates the amount of VRAM that will be reserved
for model caching (similar to max_cache_size).
2023-07-11 15:16:40 -04:00
Lincoln Stein
f6302aa691
Merge branch 'main' into release/invokeai-3-0-beta
2023-07-11 10:57:36 -04:00
Lincoln Stein
83ec4c983c
Merge branch 'main' into lstein/keep-models-in-vram
2023-07-10 18:47:05 -04:00
Lincoln Stein
c9c61ee459
Update invokeai/app/services/config.py
...
Co-authored-by: Eugene Brodsky <ebr@users.noreply.github.com>
2023-07-10 18:46:32 -04:00
psychedelicious
00e26ffa9a
fix(nodes): remove board_id
column from images
table
...
This is extraneous; the `board_images` table holds image-board relationships.
2023-07-10 11:30:35 +10:00
Lincoln Stein
5759a390f9
introduce gpu_mem_reserved configuration parameter
2023-07-09 18:35:04 -04:00
Lincoln Stein
b6cc4df1d8
report processing stack traces to the console
2023-07-08 19:48:32 -04:00
Lincoln Stein
5f7435955e
if models.yaml doesn't exist, rebuild it
2023-07-08 15:13:51 -04:00
Lincoln Stein
92d4486214
don't write 'version:' to the invokeai.yaml file
2023-07-08 12:06:23 -04:00
Lincoln Stein
f6ecee926f
version of _find_root() that works in conda environment
2023-07-08 09:02:17 -04:00
Lincoln Stein
454c2c0952
version of _find_root() that works in conda environment
2023-07-08 09:01:05 -04:00
Lincoln Stein
8e8f9cce0f
print version when --version provided at command line
2023-07-07 20:47:29 -04:00
Lincoln Stein
9f58ed35cf
improve user migration experience
...
- No longer fail root directory probing if invokeai.yaml is missing
(test is now whether a `models/core` directory exists).
- Migrate script does not overwrite previously-installed models.
- Can run migrate script on an existing 2.3 version directory
with --from and --to pointing to same 2.3 root.
2023-07-07 08:18:46 -04:00
Lincoln Stein
54f3686e3b
merge with main, fix conflicts
2023-07-06 15:21:45 -04:00
Lincoln Stein
e9352227f3
add merge api
2023-07-06 15:12:34 -04:00
Lincoln Stein
90c66aab3d
merge with upstream
2023-07-06 13:17:02 -04:00
Lincoln Stein
3e925fbf34
model merging API ready for testing
2023-07-06 13:15:15 -04:00
Lincoln Stein
8f5fcb188c
Merge branch 'main' into lstein/model-manager-router-api
2023-07-05 23:16:43 -04:00
Lincoln Stein
f7daa6e71d
all methods now return OPENAPI_MODEL_CONFIGS; convert uses PUT
2023-07-05 23:13:01 -04:00
Lincoln Stein
5027d0a603
accept @psychedelicious suggestions above
2023-07-05 14:50:57 -04:00
Lincoln Stein
9edf78dd2e
merge with main
2023-07-05 09:12:54 -04:00
Lincoln Stein
6112197edf
convert implemented; need router
2023-07-05 09:05:05 -04:00
psychedelicious
5d4d0e795c
fix(mm): fix up mm service types
2023-07-05 20:07:10 +10:00
Eugene Brodsky
7170e82f73
expose max_cache_size in config
2023-07-05 02:44:15 -04:00
Lincoln Stein
5d099f4a49
update_model working
2023-07-04 17:26:57 -04:00
Lincoln Stein
96bf92ead4
add the import model router
2023-07-04 14:35:47 +10:00
Lincoln Stein
d6de11bd56
resolve merge conflict
2023-07-03 12:19:11 -04:00
Lincoln Stein
ed86d0b708
Union[foo, None]=>Optional[foo]
2023-07-03 12:17:45 -04:00
Lincoln Stein
877b187a1b
Merge branch 'lstein/restore-3.9-compatibility' into release/invokeai-3-0-alpha
2023-07-03 11:01:34 -04:00
Lincoln Stein
ac9ec4e75a
restore 3.9 compatibility by replacing | with Union[]
2023-07-03 10:57:40 -04:00
Lincoln Stein
2465c7987b
Revert "restore 3.9 compatibility by replacing | with Union[]"
...
This reverts commit 76bafeb99e
.
2023-07-03 10:56:41 -04:00
Lincoln Stein
76bafeb99e
restore 3.9 compatibility by replacing | with Union[]
2023-07-03 10:55:04 -04:00
Lincoln Stein
1cf61feead
print GPU device at startup
2023-07-01 20:47:11 -04:00
psychedelicious
c00aea7a6c
tests(nodes): fix nodes tests
2023-06-29 23:11:48 +10:00
maryhipp
45935caf1d
fix query
2023-06-29 21:14:53 +10:00
Mary Hipp
73f2092ec5
(api) add option to board delete route and logic to services
2023-06-29 21:14:53 +10:00
Lincoln Stein
72209d0cc3
Merge branch 'main' into lstein/installer-for-new-model-layout
2023-06-28 14:49:37 -04:00
Lincoln Stein
e8ed0fad6c
autoimport from embedding/controlnet/lora folders designated in startup file
2023-06-27 12:30:53 -04:00
psychedelicious
2e14528e4c
feat(nodes): default to CPU noise
2023-06-27 13:57:31 +10:00
Lincoln Stein
160b5d7992
add support for an autoimport models directory scanned at startup time
2023-06-25 18:50:15 -04:00
Lincoln Stein
60b37b7ff4
fix model manager documentation
2023-06-25 16:04:43 -04:00
psychedelicious
b937b7da01
feat(models): update model manager service & route to return list of models
2023-06-22 17:34:12 +10:00
Sergey Borisov
aceadacad4
Remove default model logic
2023-06-22 16:51:53 +10:00
psychedelicious
6779f1a5ad
fix(db): update models for boards w/ nullable deleted_at
2023-06-22 16:25:49 +10:00
psychedelicious
6ee0e197bb
feat(db): add deleted_at
to board_images
2023-06-22 16:25:49 +10:00
psychedelicious
e2ee8102c2
tidy(db): tidy image_record_storage.py
2023-06-22 16:25:49 +10:00
psychedelicious
67a75f6895
feat(api, db): support board_id
filter on images service get_many()
2023-06-22 16:25:49 +10:00
psychedelicious
661a94b3de
feat(db): add get_all()
method for boards
...
This is needed to show the full list of boards in the update boards modal.
2023-06-22 16:25:49 +10:00
psychedelicious
9ef64016c7
feat(db): sort board by created_at
2023-06-22 16:25:49 +10:00
psychedelicious
21f0d0b0c1
fix(db): fix deserialize_board_record()
...
It was not adding `cover_image_name`
2023-06-22 16:25:49 +10:00
psychedelicious
8bce234542
feat(db): update image-board relationships on add
...
Functionally, `add_image_to_board()` now moves images between boards.
2023-06-22 16:25:49 +10:00
maryhipp
95b9c8e505
return cover_image_name since urls change, override one from db for now
2023-06-22 16:25:49 +10:00
psychedelicious
d604d986f9
feat(db, api): update get_board_for_image & service dependencies
...
- previously was `get_boards_for_image`, returning a list of `BoardDTO`, now returns a single `board_id`
2023-06-22 16:25:49 +10:00
psychedelicious
e4893e4031
fix(db): return board records from CRUD methods
2023-06-22 16:25:49 +10:00
maryhipp
4a0a718b96
foiled by a comma
2023-06-22 16:25:49 +10:00
maryhipp
ca8f1a7828
(api) use most recently generated image for cover photo
2023-06-22 16:25:49 +10:00
psychedelicious
5865ecd530
feat(db): add FK for boards.cover_image_name
2023-06-22 16:25:49 +10:00
psychedelicious
e1f9685b02
feat(db): add index for boards
2023-06-22 16:25:49 +10:00
psychedelicious
498bf0d0ba
feat(db): add indices for board_images
2023-06-22 16:25:49 +10:00
psychedelicious
4b32322a58
feat(nodes): make board <> images a one-to-many relationship
...
we can extend this to many-to-many in the future if desired.
2023-06-22 16:25:49 +10:00
maryhipp
748016bdab
routes working
2023-06-22 16:25:49 +10:00
psychedelicious
72e9ced889
feat(nodes): add boards and board_images services
2023-06-22 16:25:49 +10:00
maryhipp
3833304f57
[WIP] board list endpoint w cover photos
2023-06-22 16:25:49 +10:00
maryhipp
4bfaae6617
fix type
2023-06-22 16:25:49 +10:00
maryhipp
499a174832
some more
2023-06-22 16:25:49 +10:00
maryhipp
6ca5ad9075
filter images by board_id
2023-06-22 16:25:49 +10:00
maryhipp
a121e6b3a0
add board_id association to image
2023-06-22 16:25:49 +10:00
maryhipp
a1671519d5
board CRUD
2023-06-22 16:25:49 +10:00
Lincoln Stein
82c2498043
Merge branch 'main' into lstein/new-model-manager
2023-06-14 08:41:40 -07: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
f9d5f9d52c
fix(nodes): minor fixes for folder validation
...
- fix type for `__output_folder`
- prefix `validate_storage_folders()` with `__` to indicate private method
2023-06-15 00:40:39 +10:00
StAlKeR7779
d0ee3558d1
Merge branch 'main' into lstein/new-model-manager
2023-06-14 17:29:01 +03:00
blessedcoolant
587297878a
refactor(minor): Latent Disk Storage
2023-06-15 02:21:49 +12:00
blessedcoolant
b4c998a9ae
refactor(minor): Image File Storage
2023-06-15 01:58:58 +12: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
Sergey Borisov
740c05a0bb
Save models on rescan, uncache model on edit/delete, fixes
2023-06-14 03:12:12 +03:00
StAlKeR7779
c9ae26a176
Merge branch 'main' into lstein/new-model-manager
2023-06-13 23:37:52 +03:00
Sergey Borisov
9fa78443de
Fixes, add sd variant detection
2023-06-12 05:52:30 +03:00
Lincoln Stein
8e1a56875e
remove defunct code
2023-06-11 12:57:06 -04:00
Sergey Borisov
694fd0c92f
Fixes, first runable version
2023-06-11 16:42:40 +03:00