Commit Graph

3331 Commits

Author SHA1 Message Date
Lincoln Stein
c19835c2d0 wired attention configuration into backend 2023-08-17 14:20:45 -04:00
Lincoln Stein
ed38eaa10c refactor InvokeAIAppConfig 2023-08-17 13:47:26 -04:00
blessedcoolant
b213335316 feat: Add InpaintMask Field type 2023-08-18 04:54:23 +12:00
Sergey Borisov
ff5c725586 Update mask field type 2023-08-17 19:35:03 +03:00
Sergey Borisov
bf0dfcac2f Add inapint mask field class 2023-08-17 19:19:07 +03:00
Lincoln Stein
842eb4bb0a
Merge branch 'main' into bugfix/enable-links-in-autoimport 2023-08-17 07:20:26 -04:00
blessedcoolant
8923201fdf
Merge branch 'main' into seam-painting 2023-08-17 21:21:44 +12:00
mickr777
226409107b Fix for Image Deletion issue 2023-08-17 17:18:11 +10:00
Lincoln Stein
503e3bca54 revise config but need to migrate old format to new 2023-08-16 23:30:00 -04:00
Lincoln Stein
daf75a1361 blackify 2023-08-16 21:47:29 -04:00
Lincoln Stein
c39f8b478b fix misplaced ram_used and ram_changed attributes 2023-08-16 21:39:18 -04:00
Lincoln Stein
2ca8611723 add +/- sign in front of RAM delta 2023-08-16 15:53:01 -04:00
Sergey Borisov
5aa7bfebd4 Fix masked generation with inpaint models 2023-08-16 20:28:33 +03:00
Lincoln Stein
b12cf315a8
Merge branch 'main' into feat/collect-more-stats 2023-08-16 09:19:33 -04:00
blessedcoolant
975586bb40 Merge branch 'main' into seam-painting 2023-08-17 01:05:42 +12:00
psychedelicious
a7ba142ad9 feat(ui): set min zoom on nodes to 0.1 2023-08-16 23:04:36 +10:00
psychedelicious
0d36bab6cc fix(ui): do not rerender top panel buttons 2023-08-16 23:04:36 +10:00
psychedelicious
c2e7f62701 fix(ui): do not rerender edges 2023-08-16 23:04:36 +10:00
psychedelicious
1f194e3688 chore(ui): lint 2023-08-16 23:04:36 +10:00
psychedelicious
f9b8b5cff2 fix(ui): improve node rendering performance
Previously the editor was using prop-drilling node data and templates to get values deep into nodes. This ended up causing very noticeable performance degradation. For example, any text entry fields were super laggy.

Refactor the whole thing to use memoized selectors via hooks. The hooks are mostly very narrow, returning only the data needed.

Data objects are never passed down, only node id and field name - sometimes the field kind ('input' or 'output').

The end result is a *much* smoother node editor with very minimal rerenders.
2023-08-16 23:04:36 +10:00
psychedelicious
f7c92e1eff fix(ui): disable awkward resize animation for <Flow /> 2023-08-16 23:04:36 +10:00
psychedelicious
70b8c3dfea fix(ui): fix context menu on workflow editor
There is a tricky mouse event interaction between chakra's `useOutsideClick()` hook (used by chakra `<Menu />`) and reactflow. The hook doesn't work when you click the main reactflow area.

To get around this, I've used a dirty hack, copy-pasting the simple context menu component we use, and extending it slightly to respond to a global `contextMenusClosed` redux action.
2023-08-16 23:04:36 +10:00
psychedelicious
43b30355e4 feat: make primitive node titles consistent 2023-08-16 23:04:36 +10:00
Lincoln Stein
a93bd01353 fix bad merge 2023-08-16 08:53:07 -04:00
Lincoln Stein
bb1b8ceaa8
Update invokeai/backend/model_management/model_cache.py
Co-authored-by: StAlKeR7779 <stalkek7779@yandex.ru>
2023-08-16 08:48:44 -04:00
Lincoln Stein
be8edaf3fd
Merge branch 'main' into feat/collect-more-stats 2023-08-16 08:48:14 -04:00
blessedcoolant
9cbaefaa81 feat: Add Seam Painting to SDXL 2023-08-16 19:46:48 +12:00
blessedcoolant
cc7c6e5d41 feat: Add Seam Painting with Scale Before 2023-08-16 19:35:03 +12:00
blessedcoolant
f2ee8a3da8 wip: Basic Seam Painting (only normal models) (no scale) 2023-08-16 17:26:23 +12:00
blessedcoolant
e98d7a52d4 feat: Add Seam Painting Options 2023-08-16 17:25:55 +12:00
Lincoln Stein
21e1c0a5f0 tweaked formatting 2023-08-15 22:25:30 -04:00
psychedelicious
611e241ca7 chore(ui): regen types 2023-08-16 12:07:34 +10:00
psychedelicious
6df4af2c79 chore: lint 2023-08-16 12:07:34 +10:00
psychedelicious
0f8606914e feat(ui): remove shouldShowDeleteButton
- remove this state entirely
- use `state.hotkeys.shift` directly to hide and show the icon on gallery
- also formatting
2023-08-16 12:07:34 +10:00
psychedelicious
5b1099193d fix(ui): restore reset button in node image component 2023-08-16 12:07:34 +10:00
psychedelicious
230131646f feat(ui): use imageDTOs instead of images in starring queries 2023-08-16 12:07:34 +10:00
psychedelicious
8b1ec2685f chore: black 2023-08-16 12:07:34 +10:00
psychedelicious
60c2c877d7 fix: add response model for star/unstar routes
- also implement pessimistic updates for starring, only changing the images that were successfully updated by backend
- some autoformat changes crept in
2023-08-16 12:07:34 +10:00
psychedelicious
315a056686 feat(ui): show Star All if selection is a mix of starred and unstarred 2023-08-16 12:07:34 +10:00
maryhipp
80b0c5eab4 change from pin to star 2023-08-16 12:07:34 +10:00
Mary Hipp
08dc265e09 add listener to update selection list with change in star status 2023-08-16 12:07:34 +10:00
Mary Hipp
029a95550e rename pin to star, add multiselect and remove single image update api 2023-08-16 12:07:34 +10:00
maryhipp
ee6a26a97d update list images endpoint to sort by pinnedness and then created_at 2023-08-16 12:07:34 +10:00
Mary Hipp
a512fdc0f6 update IAIDndImage to use children for icons, add UI for shift+delete to delete images from gallery 2023-08-16 12:07:34 +10:00
Mary Hipp
767a612746 (ui) WIP trying to get all cache scenarios working smoothly, fix assets 2023-08-16 12:07:34 +10:00
Mary Hipp
0a71d6baa1 (ui) update cache to render pinned images alongside unpinned correctly, as well as changes in pinnedness 2023-08-16 12:07:34 +10:00
Mary Hipp
37be827e17 (ui) hook up toggle pin mutation with context menu for single image 2023-08-16 12:07:34 +10:00
maryhipp
04a9894e77 (api) add ability to pin and unpin images 2023-08-16 12:07:34 +10:00
Lincoln Stein
f9958de6be added memory used to load models 2023-08-15 21:56:19 -04:00
Lincoln Stein
ec10aca91e report RAM and RAM cache statistics 2023-08-15 21:00:30 -04:00
psychedelicious
2b7dd3e236 feat: add missing primitive collections
- add missing primitive collections
- remove `Seed` and `LoRAField` (they don't exist)
2023-08-16 09:54:38 +10:00
psychedelicious
fa884134d9 feat: rename ui_type_hint to ui_type
Just a bit more succinct while not losing any clarity.
2023-08-16 09:54:38 +10:00
blessedcoolant
18006cab9a chore: Regen frontend types 2023-08-16 09:54:38 +10:00
psychedelicious
75ea716c13 feat(ui): hide node footer if there is nothing to display 2023-08-16 09:54:38 +10:00
blessedcoolant
d5f7027597 feat: Save Mask option for Canvas 2023-08-16 09:54:38 +10:00
blessedcoolant
b1ad777f5a fix: Outpainting being broken due to field name change 2023-08-16 09:54:38 +10:00
psychedelicious
f65c8092cb fix(ui): fix issue with node editor state not restoring correctly on mount
If `reactflow` initializes before the node templates are parsed, edges may not be rendered and the viewport may get reset.

- Add `isReady` state to `NodesState`. This is false when we are loading or parsing node templates and true when that is finished.
- Conditionally render `reactflow` based on `isReady`.
- Add `viewport` to `NodesState` & handlers to keep it synced. This allows `reactflow` to mount and unmount freely and not lose viewport.
2023-08-16 09:54:38 +10:00
psychedelicious
94bfef3543 feat(ui): add UI component for unknown node types 2023-08-16 09:54:38 +10:00
psychedelicious
c48fd9c083 feat(nodes): refactor parameter/primitive nodes
Refine concept of "parameter" nodes to "primitives":
- integer
- float
- string
- boolean
- image
- latents
- conditioning
- color

Each primitive has:
- A field definition, if it is not already python primitive value. The field is how this primitive value is passed between nodes. Collections are lists of the field in node definitions. ex: `ImageField` & `list[ImageField]`
- A single output class. ex: `ImageOutput`
- A collection output class. ex: `ImageCollectionOutput`
- A node, which functions to load or pass on the primitive value. ex: `ImageInvocation` (in this case, `ImageInvocation` replaces `LoadImage`)

Plus a number of related changes:
- Reorganize these into `primitives.py`
- Update all nodes and logic to use primitives
- Consolidate "prompt" outputs into "string" & "mask" into "image" (there's no reason for these to be different, the function identically)
- Update default graphs & tests
- Regen frontend types & minor frontend tidy related to changes
2023-08-16 09:54:38 +10:00
psychedelicious
f49fc7fb55 feat: node editor
squashed rebase on main after backendd refactor
2023-08-16 09:54:38 +10:00
Lincoln Stein
a4b029d03c write RAM usage and change after each generation 2023-08-15 18:21:31 -04:00
Lincoln Stein
d6c9bf5b38 added sdxl controlnet detection 2023-08-15 12:51:15 -04:00
Sergey Borisov
4f82273fc4 Update 'monkeypatched' controlnet class 2023-08-15 11:07:43 -04:00
Lincoln Stein
b2934be6ba use as_posix() instead of str() 2023-08-14 22:59:26 -04:00
Lincoln Stein
eab67b6a01 fixed actual bug 2023-08-14 22:59:26 -04:00
Lincoln Stein
02fa116690 rebuild frontend for windows testing 2023-08-14 22:59:26 -04:00
Lincoln Stein
5190a4c282 further removal of Paths 2023-08-14 22:59:26 -04:00
Lincoln Stein
141d438517 prevent windows from crashing with a WindowsPath serialization error on merge 2023-08-14 22:59:26 -04:00
psychedelicious
549d2e0485 chore: remove old web server code and python deps 2023-08-15 10:54:57 +10:00
blessedcoolant
d3d8b71c67 feat: Change refinerStart default to 0.8
This is the recommended value according to the paper.
2023-08-15 10:13:02 +10:00
Lincoln Stein
b524bf3c04 allow symbolic links to be followed during autoimport 2023-08-14 07:37:47 -04:00
psychedelicious
9d3cd85bdd chore: black 2023-08-14 13:02:33 +10:00
psychedelicious
46a8eed33e
Merge branch 'main' into feat/refactor_generation_backend 2023-08-14 13:01:28 +10:00
psychedelicious
9fee3f7b66 Revert "Add magic to debug"
This reverts commit 511da59793.
2023-08-14 12:58:08 +10:00
psychedelicious
9217a217d4 fix(ui): refiner uses steps directly, no math 2023-08-14 12:56:37 +10:00
Sergey Borisov
511da59793 Add magic to debug 2023-08-14 05:14:24 +03:00
Sergey Borisov
409e5d01ba Fix cpu_only schedulers(unipc) 2023-08-14 05:14:05 +03:00
blessedcoolant
58d5c61c79 fix: SDXL Inpaint & Outpaint using regular Img2Img strength 2023-08-14 12:55:18 +12:00
Sergey Borisov
3d8da67be3 Remove callback-generator wrapper 2023-08-14 03:35:15 +03:00
blessedcoolant
957ee6d370 fix: SDXL Canvas Inpaint & Outpaint not respecting SDXL Refiner start value 2023-08-14 12:13:29 +12:00
blessedcoolant
fecad2c014 fix: SDXL Denoising Strength not plugged in correctly 2023-08-14 11:59:11 +12:00
blessedcoolant
550e6ef27a re: Set the image denoise str back to 0
Bug has been fixed. No longer needed.
2023-08-14 10:27:07 +12:00
blessedcoolant
75fb3f429f re: Readd Refiner Step Math but cap max steps to 1000 2023-08-14 09:26:01 +12:00
Sergey Borisov
d63bb39475 Make dpmpp_sde(_k) use not random seed 2023-08-14 00:24:38 +03:00
Sergey Borisov
096333ba3f Fix error on zero timesteps 2023-08-14 00:20:01 +03:00
Sergey Borisov
7a8f14d595 Clean-up code a bit 2023-08-13 19:50:48 +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
746e099f0d fix: Do not do step math for refinerSteps
This is probably better done on the backend or in a different way. This can cause steps to go above 1000 which is more than the set number for the model.
2023-08-14 04:04:15 +12:00
blessedcoolant
499e89d6f6 feat: Add SDXL Negative Aesthetic Score 2023-08-14 04:02:36 +12:00
blessedcoolant
90fa3eebb3 feat: Make SDXL Style Prompt not take spaces 2023-08-14 02:25:39 +12:00
greatwolf
9e2e82a752
Fixed import issue in invokeai/frontend/install/model_install.py
This fixes an import issue introduced in commit 1bfe983.
The change made 'invokeai_configure' into a module but this line still tries to call it as if it's a function. This will result in a `'module' not callable` error.
2023-08-13 05:15:55 -07:00
blessedcoolant
561951ad98 chore: Black linting 2023-08-13 21:28:39 +12:00
blessedcoolant
3ff9961bda fix: Circular dependency in Mask Blur Method 2023-08-13 21:26:20 +12:00
blessedcoolant
33779b6339 chore: Remove shouldFitToWidthHeight from Inpaint Graphs
Was never used for inpainting but was fed to the node anyway.
2023-08-13 21:16:37 +12:00
blessedcoolant
b35cdc05a5 feat: Scaled Processing to Inpainting & Outpainting / 1.x & SDXL 2023-08-13 20:17:23 +12:00
Millun Atluri
9afb5d6ace Update version to 3.0.2post1 2023-08-12 19:49:33 -04:00
Millun Atluri
50177b8ed9 Update frontend JS files 2023-08-12 19:49:33 -04:00
blessedcoolant
c8864e475b fix: SDXL Lora's not working on Canvas Image To Image 2023-08-13 04:34:15 +12:00
blessedcoolant
fcf7f4ac77 feat: Add SDXL ControlNet To Linear UI 2023-08-13 04:27:38 +12:00
blessedcoolant
29f1c6dc82 fix: Image To Image FP32 Fix for Canvas SDXL 2023-08-13 04:23:52 +12:00
blessedcoolant
28208e6f49 fix: Fix VAE Precision not working for SDXL Canvas Modes 2023-08-13 04:09:51 +12:00
blessedcoolant
c33acf951e feat: Make Refiner work with Canvas 2023-08-13 03:53:40 +12:00
blessedcoolant
500cd552bc feat: Make SDXL work across the board + Custom VAE Support
Also a major cleanup pass to the SDXL graphs to ensure there's no ID overlap
2023-08-13 01:45:03 +12:00
blessedcoolant
55d27f71a3 feat: Give each graph its own unique id 2023-08-13 00:51:10 +12:00
blessedcoolant
746c7c59ff fix: remove extra node for canvas output catch 2023-08-12 22:39:30 +12:00
blessedcoolant
ad96c41156 feat: Add Canvas Output node to all Canvas Graphs 2023-08-12 22:04:43 +12:00
blessedcoolant
27bd127fb0 fix: Do not add anything but final output to staging area 2023-08-12 21:10:30 +12:00
blessedcoolant
f296e5c41e wip: Remove MaskBlur / Adjust color correction 2023-08-12 20:54:30 +12:00
Mary Hipp
a67d8376c7 fix missed spot for autoAddBoardId none 2023-08-12 18:07:01 +10:00
blessedcoolant
9f6221fe8c Merge branch 'main' into feat/refactor_generation_backend 2023-08-12 18:37:47 +12:00
blessedcoolant
7587b54787 chore: Cleanup, comment and organize Node Graphs
Before it gets too chaotic
2023-08-12 17:17:46 +12:00
blessedcoolant
7254ffc3e7 chore: Split Inpaint and Outpaint Graphs 2023-08-12 16:30:20 +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
8acd7eeca5 feat: Disable clip skip for SDXL Canvas 2023-08-12 08:18:30 +12:00
blessedcoolant
7293a6036a feat(wip): Add SDXL To Canvas 2023-08-12 08:16:05 +12:00
Lincoln Stein
0b11f309ca instead of crashing when a corrupted model is detected, warn and move on 2023-08-11 15:05:14 -04:00
Ryan Dick
6a8eb392b2 Add support for loading SDXL LoRA weights in diffusers format. 2023-08-11 14:40:22 -04:00
blessedcoolant
f343ab0302 wip: Port Outpainting to new backend 2023-08-12 06:15:59 +12:00
blessedcoolant
d7d6298ec0 feat: Add Infill Method support 2023-08-12 05:32:11 +12:00
blessedcoolant
58a48bf197 fix: LoRA list name sorting 2023-08-12 04:47:15 +12:00
blessedcoolant
5629d8fa37 fix; Key issue in Lora List 2023-08-12 04:43:40 +12:00
blessedcoolant
1affb7f647 feat: Add Paste / Mask Blur / Color Correction to Inpainting
Seam options are now removed. They are replaced by two options --Mask Blur and Mask Blur Method .. which control the softness of the mask that is being painted.
2023-08-12 03:28:19 +12:00
blessedcoolant
69a9dc7b36 wip: Add initial Inpaint Graph 2023-08-12 02:42:13 +12:00
Sergey Borisov
f3ae52ff97 Fix error at high denoising_start, fix unipc(cpu_only) 2023-08-11 15:46:16 +03:00
blessedcoolant
7479f9cc02 feat: Update LinearUI to use new backend (except Inpaint) 2023-08-11 22:22:01 +12: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
Mary Hipp
80fd4c2176 undo lint changes 2023-08-11 14:26:09 +10:00
Mary Hipp
3b6e425e17 fix error detail in toast 2023-08-11 14:26:09 +10:00
Mary Hipp
50415450d8 invalidate board total when images deleted, only run date range logic if board has less than 20 images 2023-08-11 14:26:09 +10:00
Millun Atluri
06296896a9 Update invokeai version 2023-08-10 22:23:41 -04:00
Millun Atluri
a7399aca0c Add new JS files for 3.0.2 build 2023-08-10 22:23:41 -04:00
Lincoln Stein
f851ad7ba0 Two changes to command-line scripts
- installer - use correct entry point for invokeai-configure
- model merge script - prevent error when `--root` not provided
2023-08-10 20:59:22 -04:00
Sergey Borisov
c0c2ab3dcf Format by black 2023-08-11 03:20:56 +03:00
Sergey Borisov
56023bc725 Add support for LyCORIS IA3 format 2023-08-11 02:08:08 +03:00
Sergey Borisov
2ef6a8995b Temporary force set vae to same precision as unet 2023-08-10 18:01:58 -04:00
Lincoln Stein
d0fee93aac round slider values to nice numbers 2023-08-10 18:00:45 -04:00
Lincoln Stein
1bfe9835cf clip cache settings to permissible values; remove redundant imports in install __init__ file 2023-08-10 18:00:45 -04:00
Kent Keirsey
f6522c8971
Merge branch 'main' into fix/detect-more-loras 2023-08-10 17:33:16 -04:00
Lincoln Stein
a969707e45 prevent vae: '' from crashing model 2023-08-10 17:33:04 -04:00
psychedelicious
d4812bbc8d Merge branch 'main' into fix/ui/fix-lora-sort 2023-08-10 19:00:26 +10:00
psychedelicious
3cd05cf6bf fix(ui): fix lora sort
was sorting with disabled at top of list instead of bottom

fixes #4217
2023-08-10 15:31:29 +10:00
psychedelicious
da0efeaa7f fix(ui): fix canvas model switching
There was no check at all to see if the canvas had a valid model already selected. The first model in the list was selected every time.

Now, we check if its valid. If not, we go through the logic to try and pick the first valid model.

If there are no valid models, or there was a problem listing models, the model selection is cleared.
2023-08-10 15:20:37 +10: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
Eugene Brodsky
2c2b731386
fix typo 2023-08-09 13:08:59 -04:00
Lincoln Stein
2f68a1a76c use Stalker's simplified LoRA vector-length detection code 2023-08-09 09:21:29 -04:00
Lincoln Stein
930e7bc754
Merge branch 'main' into feat/image-import-script 2023-08-09 08:54:56 -04:00
Lincoln Stein
7d4ace962a
Merge branch 'main' into fix/detect-more-loras 2023-08-09 08:48:27 -04:00
Millun Atluri
06842f8e0a Update to 3.0.2rc1 2023-08-09 00:29:43 -04:00
Millun Atluri
628df4ec98 Add updated frontend html file 2023-08-09 00:29:43 -04:00
Millun Atluri
16b956616f Update version to 3.0.2 2023-08-09 00:29:43 -04:00
Millun Atluri
604cc17a3a Yarn build JS files 2023-08-09 00:29:43 -04:00
Millun Atluri
8b39b67ec7
Merge branch 'main' into feat/select-vram-in-config 2023-08-09 12:17:27 +10:00
StAlKeR7779
dfb41d8461
Merge branch 'main' into bugfix/autodetect-sdxl-ckpt-config 2023-08-09 03:57:44 +03: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
Lincoln Stein
f56f19710d allow user to interactively resize screen before UI runs 2023-08-08 12:27:25 -04: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
13347f6aec blackified 2023-08-08 08:33:30 -07:00
Lincoln Stein
a9bf387e5e turned on Pydantic validate_assignment 2023-08-08 08:33:30 -07:00
Lincoln Stein
8258c87a9f refrain from writing deprecated legacy options to invokeai.yaml 2023-08-08 08:33:30 -07:00
Lincoln Stein
a8d3e078c0
Merge branch 'main' into fix/detect-more-loras 2023-08-08 10:42:45 -04:00
Lincoln Stein
6ed7ba57dd
Merge branch 'main' into bugfix/fix-model-updates 2023-08-08 09:05:25 -04:00
Kevin Turner
8b8ec68b30
Merge branch 'main' into feat/image_http_head 2023-08-08 00:02:48 -07:00
psychedelicious
e20af5aef0 feat(ui): add LoRA support to SDXL linear UI
new graph modifier `addSDXLLoRasToGraph()` handles adding LoRA to the SDXL t2i and i2i graphs.
2023-08-08 15:02:00 +10:00
psychedelicious
57e8ec9488 chore(ui): lint/format 2023-08-08 12:53:47 +10:00
Mary Hipp
734a9e4271 invalidate board total when images deleted, only run date range logic if board has less than 20 images 2023-08-08 12:53:47 +10:00
Mary Hipp
fe924daee3 add option to disable multiselect 2023-08-08 12:53:47 +10: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
Lincoln Stein
f0918edf98 improve error reporting on unrecognized lora models 2023-08-07 16:38:58 -04:00
Lincoln Stein
a846d82fa1 Add techedi code to avoid rendering prompt/seed with null
- Added techjedi github and real names
2023-08-07 16:29:46 -04:00
Lincoln Stein
22f7cf0638 add stalker's complicated but effective code for finding token vector length in LoRAs 2023-08-07 16:19:57 -04: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
Lincoln Stein
72a3e776b2 fix logic error introduced in PR 4109 2023-08-07 15:38:22 -04:00
Lincoln Stein
af044007d5 pick correct config file for sdxl models 2023-08-07 15:19:49 -04:00
Sergey Borisov
1db2c93f75 Fix preview, inpaint 2023-08-07 21:27:32 +03:00
Kevin Turner
f272a44feb
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-07 10:59:28 -07: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
psychedelicious
8469d3e95a chore: black 2023-08-07 10:05:52 +10: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
Lincoln Stein
f3d3316558 probe LoRAs that do not have the text encoder 2023-08-06 16:00:53 -04:00
Lincoln Stein
5a6cefb0ea add backslash to end of incomplete windows paths 2023-08-06 12:34:35 -04:00
Lincoln Stein
1a6f5f0860 use backslash on Windows systems for autoadded delimiter 2023-08-06 12:29:31 -04:00
Kevin Turner
5bfd6cb66f Merge remote-tracking branch 'origin/main' into refactor/model_manager_instantiate
# Conflicts:
#	invokeai/backend/model_management/model_manager.py
2023-08-05 22:02:28 -07:00
Kevin Turner
59caff7ff0 refactor(diffusers_pipeline): remove unused img2img wrappers 🚮
invokeai.app no longer needs this as a single method, as it builds on latents2latents instead.
2023-08-05 21:50:52 -07: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
Kevin Turner
b80abdd101 refactor(diffusers_pipeline): remove unused image_from_embeddings 🚮 2023-08-05 21:50:52 -07:00
Kevin Turner
006d782cc8 refactor(diffusers_pipeline): tidy imports 🚮 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
Kevin Turner
80876bbbd1 Merge remote-tracking branch 'origin/refactor/model_manager_instantiate' into refactor/model_manager_instantiate 2023-08-05 15:25:05 -07:00
Kevin Turner
7a4ff4c089
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-05 15:23:38 -07:00
Kevin Turner
44bf308192 test(model_management): add a couple tests for _get_model_path 2023-08-05 15:22:23 -07:00
Lincoln Stein
12e51c84ae blackified 2023-08-05 14:26:16 -07:00
Lincoln Stein
0ccc3b509e add techjedi's import script, with some filecompletion tweaks 2023-08-05 14:26:16 -07:00
Lincoln Stein
4043a4c21c blackified 2023-08-05 12:44:58 -04:00
Lincoln Stein
83f75750a9 add techjedi's import script, with some filecompletion tweaks 2023-08-05 12:19:24 -04: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
Lincoln Stein
c076f1397e rebuild frontend 2023-08-05 14:40:42 +10:00
Lincoln Stein
2568aafc0b bump version number so that pip updates work 2023-08-05 14:40:42 +10:00
Kevin Turner
65ed224bfc
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-04 21:34:38 -07:00
psychedelicious
b6e369c745 chore: black 2023-08-05 12:28:35 +10:00
gogurtenjoyer
ecabfc252b devices.py - Update MPS FP16 check to account for upcoming MacOS Sonoma
float16 doesn't seem to work on MacOS Sonoma due to further changes with Metal. This'll default back to float32 for Sonoma users.
2023-08-05 12:28:35 +10:00
psychedelicious
da96a41103
Merge branch 'main' into feat/select-vram-in-config 2023-08-05 12:11:50 +10:00
psychedelicious
eb6c317f04 chore: black 2023-08-05 12:05:24 +10:00
psychedelicious
6d7223238f fix: fix typo in message 2023-08-05 12:05:24 +10:00
Damian Stewart
8607d124c5 improve message about the consequences of the --ignore_missing_core_models flag 2023-08-05 12:05:24 +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
Kevin Turner
b10cf20eb1 Merge branch 'main' into refactor/model_manager_instantiate
# Conflicts:
#	invokeai/backend/model_management/model_manager.py
2023-08-04 18:28:18 -07:00
StAlKeR7779
9bacd77a79
Merge branch 'main' into bugfix/fp16-models 2023-08-05 01:42:43 +03:00
Lincoln Stein
1b158f62c4 resolve vae overrides correctly 2023-08-04 18:24:47 -04: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
Sergey Borisov
f0613bb0ef Fix merge conflict resolve - restore full/diff layer support 2023-08-04 19:53:27 +03:00
StAlKeR7779
0e9f92b868
Merge branch 'main' into feat/sdxl_lora 2023-08-04 19:22:13 +03:00
psychedelicious
7d0cc6ec3f chore: black 2023-08-05 02:04:22 +10:00
Sergey Borisov
2f8b928486 Add support for diff/full lora layers 2023-08-05 02:04:22 +10: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
Mary Hipp
cfc3a20565 autoAddBoardId should always be defined 2023-08-04 22:19:11 +10:00
Lincoln Stein
f06fee4581
Merge branch 'main' into remove-onnx-model-check-from-pipeline-download 2023-08-03 22:02:05 -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
446fb4a438 blackify 2023-08-03 19:24:23 -04:00
Lincoln Stein
ab5d938a1d use variant instead of revision 2023-08-03 19:23:52 -04:00
Brandon
9942af756a
Merge branch 'main' into remove-onnx-model-check-from-pipeline-download 2023-08-03 10:10:51 -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
Kevin Turner
91ebf9f76e
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-02 19:01:21 -07: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
Lincoln Stein
e080fd1e08 blackify 2023-08-03 11:25:20 +10:00
Lincoln Stein
eeef1e08f8 restore ability to convert merged inpaint .safetensors files 2023-08-03 11:25:20 +10:00
Mary Hipp
b3b94b5a8d use correct prop 2023-08-03 11:01:21 +10:00
Mary Hipp
5c9787c145 add project-id header to requests 2023-08-03 11:01:21 +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
Kevin Turner
02d2cc758d
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-02 17:11:23 -07:00
Damian Stewart
4e0949fa55 fix .swap() by reverting improperly merged @classmethod change 2023-08-03 10:00:43 +10:00
Kevin Brack
26ef5249b1 guard board switching in board context menu 2023-08-03 09:18:46 +10:00
Kevin Brack
87424be95d block auto add board change during generation. Switch condition to isProcessing 2023-08-03 09:18:46 +10:00
Kevin Brack
366952f810 fix localization 2023-08-03 09:18:46 +10:00
Kevin Brack
450e95de59 auto change board waiting for isReady 2023-08-03 09:18:46 +10:00
Kevin Brack
0ba8a0ea6c Board assignment changing on click 2023-08-03 09:18:46 +10:00
Lincoln Stein
f4981f26d5
Merge branch 'main' into bugfix/fp16-models 2023-08-02 19:17:55 -04: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
Brandon
82d259f43b
Merge branch 'main' into remove-onnx-model-check-from-pipeline-download 2023-08-02 16:35:46 -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
0db1e97119
Merge branch 'main' into refactor/cleanup-root-detection 2023-08-02 09:46:46 -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
77c5c18542 add slider for VRAM cache 2023-08-02 09:11:24 -04:00
Brandon Rising
ed76250dba Stop checking for unet/model.onnx when a model_index.json is detected 2023-08-02 07:21:21 -04:00
Lincoln Stein
4d22cafdad Installer should download fp16 models if user has specified 'auto' in config
- Closes #4127
2023-08-01 22:06:27 -04:00
Kevin Turner
1f9e984b0d
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-01 16:49:39 -07:00
Lincoln Stein
8a4e5f73aa reset stats on exception 2023-08-01 19:39:42 -04:00
psychedelicious
4599575e65 fix(ui): use const for wsProtocol, lint 2023-08-02 09:26:20 +10:00
Zerdoumi
242d860a47 fix https/wss behind reverse proxy 2023-08-02 09:26:20 +10:00
Lincoln Stein
fd7b842419 add execution stat reporting after each invocation 2023-08-01 17:44:09 -04:00
Kevin Turner
5998509888
Merge branch 'main' into refactor/model_manager_instantiate 2023-08-01 11:09:43 -07:00
blessedcoolant
dcc274a2b9 feat: Make ModelListWrapper instead of rendering conditionally 2023-08-01 22:50:10 +10:00
blessedcoolant
f404669831 fix: Rename loading vars for consistency 2023-08-01 22:42:05 +10:00
blessedcoolant
ce687b28ef fix: Model Manager Tab Issues 2023-08-01 22:41:32 +10:00
psychedelicious
7292d89108
Merge branch 'main' into refactor/cleanup-root-detection 2023-08-01 22:14:56 +10:00
psychedelicious
fb8f218901 fix(ui): post-onnx fixes 2023-08-01 07:59:01 -04:00
Lincoln Stein
e7d9e552a7
Merge branch 'main' into feat_compel_and 2023-08-01 07:20:25 -04:00
Lincoln Stein
df53b62048 get rid of dangling debug statements 2023-07-31 22:39:11 -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
psychedelicious
52437205bb chore(ui): lint 2023-08-01 08:54:03 +10:00