psychedelicious
9d3cd85bdd
chore: black
2023-08-14 13:02:33 +10:00
Sergey Borisov
409e5d01ba
Fix cpu_only schedulers(unipc)
2023-08-14 05:14:05 +03:00
Sergey Borisov
d63bb39475
Make dpmpp_sde(_k) use not random seed
2023-08-14 00:24:38 +03:00
Sergey Borisov
59ba9fc0f6
Flip bits in seed for sde/ancestral schedulers to have different noise from initial
2023-08-13 19:50:16 +03:00
Sergey Borisov
6e0beb1ed4
Fixes for second order scheduler timesteps
2023-08-13 19:31:47 +03:00
Sergey Borisov
94636ddb03
Fix empty prompt handling
2023-08-13 19:31:14 +03:00
blessedcoolant
499e89d6f6
feat: Add SDXL Negative Aesthetic Score
2023-08-14 04:02:36 +12:00
blessedcoolant
561951ad98
chore: Black linting
2023-08-13 21:28:39 +12:00
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
87ce4ab27c
fix: Update default_graph to use new DenoiseLatents
2023-08-11 22:21:13 +12: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
Lincoln Stein
a969707e45
prevent vae: '' from crashing model
2023-08-10 17:33:04 -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
Lincoln Stein
cd2c688562
Merge branch 'main' into refactor/remove_unused_pipeline_methods
2023-08-09 17:26:09 -04:00
Sergey Borisov
e98f7eda2e
Fix total_steps in generation event, order field added
2023-08-09 03:34:25 +03: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
Lincoln Stein
4d5169e16d
Merge branch 'main' into feat/select-vram-in-config
2023-08-08 13:50:02 -04: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
Lincoln Stein
e77400ab62
remove deprecated options from config
2023-08-08 08:33:30 -07:00
Lincoln Stein
a9bf387e5e
turned on Pydantic validate_assignment
2023-08-08 08:33:30 -07: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
809705c30d
api(images): allow HEAD request on image/full
2023-08-07 15:11:47 -07:00
Kevin Turner
25c669b1d6
Merge remote-tracking branch 'origin/main' into refactor/remove_unused_pipeline_methods
2023-08-07 13:03:10 -07:00
Lincoln Stein
0fd13d3604
Merge branch 'main' into feat/select-vram-in-config
2023-08-07 15:51:59 -04: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
psychedelicious
d09dfc3e9b
fix(api): use db_location
instead of db_path_string
...
This may just be the SQLite memory sentinel value.
2023-08-06 14:09:04 +10:00
psychedelicious
66f524cae7
fix(mm): fix a lot of typing issues
...
Most fixes are just things being typed as `str` but having default values of `None`, but there are some minor logic changes.
2023-08-06 14:09:04 +10:00
psychedelicious
9ba50130a1
fix(api): fix db location types
...
The services all want strings instead of `Path`s; create variable for the string representation of the path provided by the config services.
2023-08-06 14:09:04 +10:00
psychedelicious
d4cf2d2666
fix(api): fix ApiDependencies.invoker
types
...
ApiDependencies.invoker` provides typing for the API's services layer. Marking it `Optional` results in all the routes seeing it as optional, which is not good.
Instead of marking it optional to satisfy the initial assignment to `None`, we can just skip the initial assignment. This preserves the IDE hinting in API layer and is types-legal.
2023-08-06 14:09:04 +10: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
Jonathan
dc96a3e79d
Fix random number generator
...
Passing in seed=0 is not equivalent to seed=None. The latter will get a new seed from entropy in the OS, and that's what we should be using.
2023-08-06 00:29:08 +10:00
psychedelicious
da96a41103
Merge branch 'main' into feat/select-vram-in-config
2023-08-05 12:11:50 +10:00
Damian Stewart
23497bf759
add --ignore_missing_core_models
CLI flag to bypass checking for missing core models
2023-08-05 12:05:24 +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
Lincoln Stein
0a0b7141af
Merge branch 'main' into feat/execution-stats
2023-08-03 19:49:00 -04:00
Lincoln Stein
1deca89fde
Merge branch 'main' into feat/select-vram-in-config
2023-08-03 19:27:58 -04:00
Lincoln Stein
06742faca7
Merge branch 'feat/execution-stats' of github.com:invoke-ai/InvokeAI into feat/execution-stats
2023-08-03 08:48:05 -04:00
Lincoln Stein
d2bddf7f91
tweak formatting to accommodate longer runtimes
2023-08-03 08:47: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
psychedelicious
cf72eba15c
Merge branch 'main' into feat/execution-stats
2023-08-03 10:53:25 +10:00
psychedelicious
a6f9396a30
fix(db): retrieve metadata even when no session_id
...
this was unnecessarily skipped if there was no `session_id`.
2023-08-03 10:43:44 +10:00
Lincoln Stein
921ccad04d
added stats service to the cli_app startup
2023-08-02 18:41:43 -04:00
Lincoln Stein
008362918e
Merge branch 'main' into feat/execution-stats
2023-08-02 18:15:51 -04:00
Lincoln Stein
8fc75a71ee
integrate correctly into app API and add features
...
- Create abstract base class InvocationStatsServiceBase
- Store InvocationStatsService in the InvocationServices object
- Collect and report stats on simultaneous graph execution
independently for each graph id
- Track VRAM usage for each node
- Handle cancellations and other exceptions gracefully
2023-08-02 18:10:52 -04:00
Lincoln Stein
ec48779080
blackify
2023-08-02 14:28:19 -04:00
Lincoln Stein
bc20fe4cb5
Merge branch 'main' into feat/select-vram-in-config
2023-08-02 14:27:17 -04:00
Lincoln Stein
5de42be4a6
reduce VRAM cache default; take max RAM from system
2023-08-02 14:27:13 -04:00
Lincoln Stein
29ac252501
blackify
2023-08-02 09:44:06 -04:00
Lincoln Stein
880727436c
fix default vram cache size calculation
2023-08-02 09:43:52 -04:00
Lincoln Stein
8a4e5f73aa
reset stats on exception
2023-08-01 19:39:42 -04:00
Lincoln Stein
fd7b842419
add execution stat reporting after each invocation
2023-08-01 17:44:09 -04:00
Lincoln Stein
e7d9e552a7
Merge branch 'main' into feat_compel_and
2023-08-01 07:20:25 -04:00
Lincoln Stein
55d3f04476
additional refactoring
2023-07-31 22:36:11 -04:00
Lincoln Stein
72ebe2ce68
refactor root directory detection to be cleaner
2023-07-31 22:30:06 -04:00
Lincoln Stein
7cd8b2f207
Refactor root detection code
2023-07-31 21:15:44 -04:00
Kent Keirsey
746afcd235
Merge branch 'main' into feat/onnx
2023-07-31 16:56:34 -04:00
Brandon Rising
f5ac73b091
Merge branch 'main' into feat/onnx
2023-07-31 10:58:40 -04:00
psychedelicious
2c07f54b6e
Merge branch 'main' into fix-optional
2023-07-31 16:31:01 +10:00
Lincoln Stein
2164da8592
blackify
2023-07-30 16:25:06 -04:00
Lincoln Stein
4121c261a0
fix missing models when INVOKEAI_ROOT="."
2023-07-30 13:37:18 -04:00
Alexandre Macabies
50e00feceb
Add missing Optional on a few nullable fields.
2023-07-30 16:25:12 +02:00
Damian Stewart
d2c55dc011
enable .and() syntax and long prompts
2023-07-30 14:20:59 +02:00
Lincoln Stein
982a568349
blackify pr
2023-07-29 10:47:55 -04:00
Lincoln Stein
9968ff2893
fix relative model paths to be against config.models_path, not root
2023-07-29 10:30:27 -04: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
psychedelicious
9affdbbaad
chore: black
2023-07-28 11:38:52 +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
Lincoln Stein
4a30773d09
Merge branch 'main' into feat/unify-logging
2023-07-27 15:25:56 -04:00
Brandon Rising
1ea9ba84f5
Release session if applying ti or lora
2023-07-27 15:20:38 -04:00
Lincoln Stein
64bd11541a
Merge branch 'main' into feat/unify-logging
2023-07-27 15:20:07 -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
Lincoln Stein
8023a23cec
beat uvicorn access log into submission
2023-07-27 12:05:17 -04:00
Lincoln Stein
e4c0102b3c
unified uvicorn access log entries too
2023-07-27 11:59:29 -04:00
Lincoln Stein
c4a2808a4b
use same logging infrastructure for uvicorn and backend
2023-07-27 11:24:07 -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
4bea846199
Merge branch 'main' into feat/safety-checker-node
2023-07-26 10:04:23 -04:00
Lincoln Stein
b8f43f444a
implemented startup sanity checks on core models
2023-07-26 08:26:29 -04:00
Lincoln Stein
3e206d4d6a
removed nsfw/watermark from invokeai.yaml
2023-07-26 06:53:35 -04:00
Lincoln Stein
2c5b539d3a
esrgan and its models are now nested in app config route
2023-07-26 15:27:04 +10: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
2aefa921fe
fix "unknown model type" error when rebasing a model with API
...
- Add command-line model probing script for dev use
- Minor documentation tweak
2023-07-25 08:36:57 -04:00
Lincoln Stein
fc4e104c61
tested on 3.11 and 3.10
2023-07-24 17:13:32 -04:00
blessedcoolant
1969afd038
Merge branch 'main' into feat/fix-soft-locks
2023-07-24 20:12:10 +12:00
blessedcoolant
d6bf6513ef
Merge branch 'main' into fix-types-2
2023-07-24 20:01:48 +12:00
blessedcoolant
e766ddbcf4
fix: Generate random seed using the generator instead of RandomState
2023-07-24 19:38:21 +12: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
psychedelicious
d5a75eb833
feat: increase seed from int32 to uint32
...
At some point I typo'd this and set the max seed to signed int32 max. It should be *un*signed int32 max.
This restored the seed range to what it was in v2.3.
2023-07-24 16:34:50 +10:00
Alexandre Macabies
07a90c0198
Fix incorrect use of a singleton list.
...
This was found through pylance type errors. Go types!
2023-07-23 15:28:05 +02:00
psychedelicious
4b334be7d0
feat(nodes,ui): fix soft locks on session/invocation retrieval
...
When a queue item is popped for processing, we need to retrieve its session from the DB. Pydantic serializes the graph at this stage.
It's possible for a graph to have been made invalid during the graph preparation stage (e.g. an ancestor node executes, and its output is not valid for its successor node's input field).
When this occurs, the session in the DB will fail validation, but we don't have a chance to find out until it is retrieved and parsed by pydantic.
This logic was previously not wrapped in any exception handling.
Just after retrieving a session, we retrieve the specific invocation to execute from the session. It's possible that this could also have some sort of error, though it should be impossible for it to be a pydantic validation error (that would have been caught during session validation). There was also no exception handling here.
When either of these processes fail, the processor gets soft-locked because the processor's cleanup logic is never run. (I didn't dig deeper into exactly what cleanup is not happening, because the fix is to just handle the exceptions.)
This PR adds exception handling to both the session retrieval and node retrieval and events for each: `session_retrieval_error` and `invocation_retrieval_error`.
These events are caught and displayed in the UI as toasts, along with the type of the python exception (e.g. `Validation Error`). The events are also logged to the browser console.
2023-07-23 21:41:01 +10:00
Brandon Rising
78750042f5
Pass in dim overrides
2023-07-21 12:16:24 -04:00
psychedelicious
594bf6fef1
fix(api,ui): fix canvas saved images have extra transparent regions
...
- add `crop_visible` param to upload image & set to true only for canvas saves
2023-07-21 07:26:12 -04:00
psychedelicious
896b77cf56
feat(api,db): allow creating an image with a board_id
2023-07-21 07:26:12 -04:00
Lincoln Stein
9370572169
prettify startup messages
2023-07-20 22:45:35 -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
Lincoln Stein
c013fe5b5d
Merge branch 'main' into release/invokeai-3-0-rc
2023-07-20 12:22:27 -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
Lincoln Stein
7deafa838b
merge with main
2023-07-20 11:45:54 -04:00
Lincoln Stein
5134de7cfa
Merge branch 'main' into lstein/logger-route
2023-07-20 11:29:48 -04:00
Lincoln Stein
89a15f78dd
collapse all autoimport directories into a single folder
2023-07-20 09:01:49 -04:00
Lincoln Stein
603989dc0d
added get_log_level and set_log_level operations to the app route
2023-07-20 08:33:01 -04:00