Lincoln Stein
fdad62e88b
chore: add ".version" and ".last_model" to gitignore ( #3208 )
...
Mistakenly closed the previous pr.
2023-04-20 18:26:27 +01:00
Lincoln Stein
955c81acef
Merge branch 'main' into patch-1
2023-04-20 18:26:06 +01:00
Lincoln Stein
e1058f3416
update CODEOWNERS for changed team composition ( #3234 )
...
Remove @mauwii and @keturn until they are able to reengage with the
development effort. @GreggHelt2 is designated co-codeowner for the
backend.
2023-04-20 17:19:10 +01:00
Sammy
edf16a253d
Merge branch 'main' into patch-1
2023-04-20 14:16:10 +02:00
Lincoln Stein
46f5ef4100
Merge branch 'main' into dev/codeowner-fix-main
2023-04-19 22:40:56 +01:00
Lincoln Stein
b843255236
update CODEOWNERS for changed team composition
2023-04-19 17:37:48 -04:00
Alexandre D. Roberge
3a968e5072
Update NSFW.md
...
Outdated doc said to change the '.invokeai' file, but it's now named 'invokeai.init' afaik.
2023-04-18 21:18:32 -04:00
Lincoln Stein
fd80e84ea6
Merge branch 'main' into patch-1
2023-04-18 19:14:28 -04:00
Lincoln Stein
4824237a98
Added CPU instruction for README ( #3225 )
...
Since the change itself is quite straight-forward, I'll just describe
the context. Tried using automatic installer on my laptop, kept erroring
out on line 140-something of installer.py, "ERROR: Can not perform a
'--user' install. User site-packages are not visible in this
virtualenv."
Got tired of of fighting with pip so moved on to command line install.
Worked immediately, but at the time lacked instruction for CPU, so
instead of opening any helpful hyperlinks in the readme, took a few
minutes to grab the link from installer.py - thus this pr.
2023-04-18 19:07:37 -04:00
Leo Pasanen
2c9a05eb59
Added CPU instruction for README
2023-04-18 18:46:55 +03:00
blessedcoolant
ecb5bdaf7e
[bug] #3218 HuggingFace API off when --no-internet set ( #3219 )
...
#3218
Huggingface API will not be queried if --no-internet flag is set
2023-04-18 14:34:34 +12:00
Tim Cabbage
f6cdff2c5b
[bug] #3218 HuggingFace API off when --no-internet set
...
https://github.com/invoke-ai/InvokeAI/issues/3218
Huggingface API will not be queried if --no-internet flag is set
2023-04-17 16:53:31 +02:00
Eugene
63d10027a4
nodes: invocation queue item - make more pydantic
2023-04-16 09:39:33 -04:00
Eugene
ef0773b8a3
nodes: set default for InvocationQueueItem.invoke_all
2023-04-16 09:39:33 -04:00
Eugene
3daaddf15b
nodes: remove duplicate LatentsToLatentsInvocation
2023-04-16 09:39:33 -04:00
Eugene
570c3fe690
nodes: ensure Graph and GraphExecutionState ids are cast to str on instantiation
2023-04-16 09:39:33 -04:00
Eugene
cbd1a7263a
nodes: fix typing of GraphExecutionState.id
2023-04-16 09:39:33 -04:00
Eugene
7fc5fbd4ce
nodes: convert InvocationQueueItem to Pydantic class
2023-04-16 09:39:33 -04:00
Eugene Brodsky
6f6de402ad
make InvocationQueueItem serializable
2023-04-16 09:39:33 -04:00
Sammy
281662a6e1
chore: add ".version" and ".last_model" to gitignore
...
Mistakenly closed the previous pr
2023-04-15 21:46:47 +02:00
SammCheese
50eb02f68b
chore(ui): build
2023-04-15 20:45:17 +10:00
SammCheese
d73f3adc43
moving shouldHidePreview from gallery to ui slice.
2023-04-15 20:45:17 +10:00
SammCheese
116107f464
chore(ui): build
2023-04-15 20:45:17 +10:00
SammCheese
da44bb1707
rename setter
2023-04-15 20:45:17 +10:00
SammCheese
f43aed677e
chore(ui): build
2023-04-15 20:45:17 +10:00
SammCheese
0d051aaae2
rename hidden variable to something more descriptive
2023-04-15 20:45:17 +10:00
SammCheese
e4e48ff995
i forgor to push the locale
2023-04-15 20:45:17 +10:00
SammCheese
442a6bffa4
feat: add "Hide Preview" Button
2023-04-15 20:45:17 +10:00
Kyle Schouviller
23d65e7162
[nodes] Add subgraph library, subgraph usage in CLI, and fix subgraph execution ( #3180 )
...
* Add latent to latent (img2img equivalent)
Fix a CLI bug with multiple links per node
* Using "latents" instead of "latent"
* [nodes] In-progress implementation of graph library
* Add linking to CLI for graph nodes (still broken)
* Fix subgraph execution, fix subgraph linking in CLI
* Fix LatentsToLatents
2023-04-14 06:41:06 +00:00
blessedcoolant
024fd54d0b
Fixed a Typo. ( #3190 )
2023-04-14 14:33:31 +12:00
Nicholas Körfer
c44c19e911
Fixed a Typo.
2023-04-13 17:42:34 +02:00
psychedelicious
d923d1d66b
fix(nodes): fix naming of CvInvocationConfig
2023-04-11 12:13:53 +10:00
psychedelicious
1f2c1e14db
fix(nodes): move InvocationConfig to baseinvocation.py
2023-04-11 12:13:53 +10:00
psychedelicious
07e3a0ec15
feat(nodes): add invocation schema customisation, add model selection
...
- add invocation schema customisation
done via fastapi's `Config` class and `schema_extra`. when using `Config`, inherit from `InvocationConfig` to get type hints.
where it makes sense - like for all math invocations - define a `MathInvocationConfig` class and have all invocations inherit from it.
this customisation can provide any arbitrary additional data to the UI. currently it provides tags and field type hints.
this is necessary for `model` type fields, which are actually string fields. without something like this, we can't reliably differentiate `model` fields from normal `string` fields.
can also be used for future field types.
all invocations now have tags, and all `model` fields have ui type hints.
- fix model handling for invocations
added a helper to fall back to the default model if an invalid model name is chosen. model names in graphs now work.
- fix latents progress callback
noticed this wasn't correct while working on everything else.
2023-04-11 12:13:53 +10:00
psychedelicious
427db7c7e2
feat(nodes): fix typo in PasteImageInvocation
2023-04-10 21:33:08 +10:00
psychedelicious
dad3a7f263
fix(nodes): sampler_name
--> scheduler
...
the name of this was changed at some point. nodes still used the old name, so scheduler selection did nothing. simple fix.
2023-04-10 19:54:09 +10:00
psychedelicious
5bd0bb637f
fix(nodes): add missing type to ImageField
2023-04-10 19:33:15 +10:00
Lincoln Stein
f05095770c
Increase chunk size when computing diffusers SHAs ( #3159 )
...
When running this app first time in WSL2 environment, which is
notoriously slow when it comes to IO, computing the SHAs of the models
takes an eternity.
Computing shas for sd2.1
```
| Calculating sha256 hash of model files
| sha256 = 1e4ce085102fe6590d41ec1ab6623a18c07127e2eca3e94a34736b36b57b9c5e (49 files hashed in 510.87s)
```
I increased the chunk size to 16MB reduce the number of round trips for
loading the data. New results:
```
| Calculating sha256 hash of model files
| sha256 = 1e4ce085102fe6590d41ec1ab6623a18c07127e2eca3e94a34736b36b57b9c5e (49 files hashed in 59.89s)
```
Higher values don't seem to make an impact.
2023-04-09 22:29:43 -04:00
AbdBarho
de189f2db6
Increase chunk size when computing SHAs
2023-04-09 21:53:59 +02:00
psychedelicious
4463124bdd
feat(nodes): mark ImageField properties required, add docs
2023-04-09 22:53:17 +10:00
psychedelicious
34402cc46a
feat(nodes): add list_images endpoint
...
- add `list_images` endpoint at `GET api/v1/images`
- extend `ImageStorageBase` with `list()` method, implemented it for `DiskImageStorage`
- add `ImageReponse` class to for image responses, which includes urls, metadata
- add `ImageMetadata` class (basically a stub at the moment)
- uploaded images now named `"{uuid}_{timestamp}.png"`
- add `models` modules. besides separating concerns more clearly, this helps to mitigate circular dependencies
- improve thumbnail handling
2023-04-09 13:48:44 +10:00
Kent Keirsey
54d9833db0
Else.
2023-04-08 12:08:51 -04:00
Kent Keirsey
5fe8cb56fc
Correct response note
2023-04-08 12:08:51 -04:00
Kent Keirsey
7919d81fb1
Update to address feedback
2023-04-08 12:08:51 -04:00
Kent Keirsey
9d80b28a4f
Begin Convert Work
2023-04-08 12:08:51 -04:00
Kent Keirsey
1fcd91bcc5
Add/Update and Delete Models
2023-04-08 12:08:51 -04:00
blessedcoolant
e456e2e63a
fix typo ( #3147 )
...
fix typo.
reference:
21f79e5919/invokeai/configs/INITIAL_MODELS.yaml (L21-L25)
2023-04-08 20:25:31 +12:00
c67e708d
ee41b99049
Update 050_INSTALLING_MODELS.md
...
fix typo
2023-04-08 17:02:47 +09:00
psychedelicious
111d674e71
fix(nodes): use correct torch device in NoiseInvocation
2023-04-08 12:32:03 +10:00
Lincoln Stein
8f048cfbd9
Add python-multipart, which is needed by nodes ( #3141 )
...
I'm not quite sure why this isn't being installed by fastapi's
dependencies, but running without it installed yields:
```
root@gnubert:/srv/ssdtank/docker/invokeai/git/InvokeAI# docker run --gpus all -p 9989:9090 -v /srv/ssdtank/docker/invokeai/data:/data -v /srv/ssdtank/docker/invokeai/git/InvokeAI/static/dream_web/:/static/dream_web --rm -ti -u root --entrypoint /bin/bash ghcr.io/cmsj/invokeai-nodes@sha256:426ebc414936cb67e02f5f64d963196500a77b2f485df8122a2d462797293938
root@7a77b56a5771:/usr/src# /invoke-new.py --web
Form data requires "python-multipart" to be installed.
You can install "python-multipart" with:
pip install python-multipart
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /invoke-new.py:22 in <module> │
│ │
│ 19 │
│ 20 │
│ 21 if __name__ == '__main__': │
│ ❱ 22 │ main() │
│ 23 │
│ │
│ /invoke-new.py:13 in main │
│ │
│ 10 │ os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) │
│ 11 │ │
│ 12 │ if '--web' in sys.argv: │
│ ❱ 13 │ │ from invokeai.app.api_app import invoke_api │
│ 14 │ │ invoke_api() │
│ 15 │ else: │
│ 16 │ │ # TODO: Parse some top-level args here. │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/invokeai/app/api_app.py:17 in <module> │
│ │
│ 14 │
│ 15 from ..backend import Args │
│ 16 from .api.dependencies import ApiDependencies │
│ ❱ 17 from .api.routers import images, sessions, models │
│ 18 from .api.sockets import SocketIO │
│ 19 from .invocations import * │
│ 20 from .invocations.baseinvocation import BaseInvocation │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/invokeai/app/api/routers/images.py:45 in <module> │
│ │
│ 42 │ │ 404: {"description": "Session not found"}, │
│ 43 │ }, │
│ 44 ) │
│ ❱ 45 async def upload_image(file: UploadFile, request: Request): │
│ 46 │ if not file.content_type.startswith("image"): │
│ 47 │ │ return Response(status_code=415) │
│ 48 │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/fastapi/routing.py:630 in decorator │
│ │
│ 627 │ │ ), │
│ 628 │ ) -> Callable[[DecoratedCallable], DecoratedCallable]: │
│ 629 │ │ def decorator(func: DecoratedCallable) -> DecoratedCallable: │
│ ❱ 630 │ │ │ self.add_api_route( │
│ 631 │ │ │ │ path, │
│ 632 │ │ │ │ func, │
│ 633 │ │ │ │ response_model=response_model, │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/fastapi/routing.py:569 in add_api_route │
│ │
│ 566 │ │ current_generate_unique_id = get_value_or_default( │
│ 567 │ │ │ generate_unique_id_function, self.generate_unique_id_function │
│ 568 │ │ ) │
│ ❱ 569 │ │ route = route_class( │
│ 570 │ │ │ self.prefix + path, │
│ 571 │ │ │ endpoint=endpoint, │
│ 572 │ │ │ response_model=response_model, │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/fastapi/routing.py:444 in __init__ │
│ │
│ 441 │ │ │ │ 0, │
│ 442 │ │ │ │ get_parameterless_sub_dependant(depends=depends, path=self.path_format), │
│ 443 │ │ │ ) │
│ ❱ 444 │ │ self.body_field = get_body_field(dependant=self.dependant, name=self.unique_id) │
│ 445 │ │ self.app = request_response(self.get_route_handler()) │
│ 446 │ │
│ 447 │ def get_route_handler(self) -> Callable[[Request], Coroutine[Any, Any, Response]]: │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/fastapi/dependencies/utils.py:756 in │
│ get_body_field │
│ │
│ 753 │ │ alias="body", │
│ 754 │ │ field_info=BodyFieldInfo(**BodyFieldInfo_kwargs), │
│ 755 │ ) │
│ ❱ 756 │ check_file_field(final_field) │
│ 757 │ return final_field │
│ 758 │
│ │
│ /usr/src/InvokeAI/lib/python3.10/site-packages/fastapi/dependencies/utils.py:111 in │
│ check_file_field │
│ │
│ 108 │ │ │ │ raise RuntimeError(multipart_incorrect_install_error) from None │
│ 109 │ │ except ImportError: │
│ 110 │ │ │ logger.error(multipart_not_installed_error) │
│ ❱ 111 │ │ │ raise RuntimeError(multipart_not_installed_error) from None │
│ 112 │
│ 113 │
│ 114 def get_param_sub_dependant( │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: Form data requires "python-multipart" to be installed.
You can install "python-multipart" with:
pip install python-multipart
```
2023-04-07 19:17:37 -04:00