Mary Hipp
bd73b6b2af
reorganize the gallery - move board name to top of image grid, add hide/view boards button for toggle
2024-07-24 14:10:16 +10:00
Mary Hipp
0d40a7d865
exclude uncategorized from search and make sure list is always correct
2024-07-24 14:10:16 +10:00
Mary Hipp
c2f6b80246
move Uncategorized back to private board list
2024-07-24 14:10:16 +10:00
Mary Hipp
80f5f8210a
increase font size of Move for boards
2024-07-24 14:10:16 +10:00
Mary Hipp
b7383cc0e5
board UI updates: always show search for boards and images if a term is entered, clear search when view is toggled off
2024-07-24 14:10:16 +10:00
Mary Hipp
2172e4d292
board UI updates: font tweaks, add cover image to tooltip, move uncategorized out of board list, allow collapsible board list if private enabled
2024-07-24 14:10:16 +10:00
Sergey Borisov
ab0bfa709a
Handle loras in modular denoise
2024-07-24 05:07:29 +03:00
Sergey Borisov
6af659b1da
Handle t2i adapter in modular denoise
2024-07-24 02:55:33 +03:00
psychedelicious
db664afc49
fix(ui): model select overflowing when model names are too long
2024-07-24 09:35:32 +10:00
psychedelicious
b99a53e64e
tidy(ui): organise postprocessing listeners
2024-07-24 08:22:46 +10:00
psychedelicious
5f4ce6fda3
tidy(ui): organise postprocessing files
2024-07-24 08:22:46 +10:00
psychedelicious
93e95ce53f
chore(ui): lint
2024-07-24 08:22:46 +10:00
psychedelicious
2997f0a1f8
fix(ui): ts issue
2024-07-24 08:22:46 +10:00
psychedelicious
40b262bcc2
tidy(ui): "simpleUpscale" -> "postProcessing"
2024-07-24 08:22:46 +10:00
psychedelicious
a26f050cbb
feat(ui): rename ad-hoc upscale stuff to post-processing
2024-07-24 08:22:46 +10:00
psychedelicious
94b5b2a467
feat(ui): improve starter model search for spandrel models
2024-07-24 08:22:46 +10:00
psychedelicious
b4519ea61f
tidy(ui): remove unused maxUpscalePixels config
2024-07-24 08:22:46 +10:00
psychedelicious
7f7ce291b5
feat(ui): revised simple upscale warning UI
2024-07-24 08:22:46 +10:00
psychedelicious
aeb53563ff
feat(ui): use graph util for ad-hoc upscale graph
2024-07-24 08:22:46 +10:00
psychedelicious
e8d2e2330e
fix(ui): set board in ad-hoc upscale graph
2024-07-24 08:22:46 +10:00
psychedelicious
4c6b9ce7c9
fix(ui): use spandrel autoscale node in upscaling tab
2024-07-24 08:22:46 +10:00
psychedelicious
87a2221d72
chore(ui): typegen
2024-07-24 08:22:46 +10:00
psychedelicious
76aa6bdf05
feat(nodes): split spandrel node
...
`spandrel_image_to_image` now just runs the model with no changes.
`spandrel_image_to_image_autoscale` runs the model repeatedly until the desired scale is reached. previously, `spandrel_image_to_image` did this.
2024-07-24 08:22:46 +10:00
Sergey Borisov
416d29fb83
Ruff format
2024-07-24 01:17:28 +03:00
psychedelicious
0c1994d682
fix(ui): restore pnpm-lock.yaml
...
#6645 inadvertently removed the lockfile
2024-07-24 08:07:32 +10:00
Sergey Borisov
19c00241c6
Use non-inverted mask generally(except inpaint model handling)
2024-07-24 00:59:13 +03:00
Lincoln Stein
633bbb4e85
[MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict ( #6645 )
...
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* documentation fix
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* documentation fix
* remove v9 pnpm lockfile
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* [MM2] replace untyped config dict passed to install_model with typed ModelRecordChanges
- adjusted frontend to work with new schema
- used this facility to assign "starter model" names and descriptions to the installed
models.
* remove v9 pnpm lockfile
* regenerate schema.ts
* prettified
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-23 21:41:00 +00:00
psychedelicious
a221ab2fb6
fix(ui): upsell menuitem styling
2024-07-24 06:58:27 +10:00
psychedelicious
0279a27f66
fix(ui): render settingsmenu in portal, no zindex
2024-07-24 06:58:27 +10:00
chainchompa
54aef4959c
cleanup
2024-07-24 06:56:02 +10:00
chainchompa
4017609b91
clean up useIsAllowedToUpscale since its no longer necessary
2024-07-24 06:56:02 +10:00
chainchompa
cb0bffedd5
fix board handling for simple upscale
2024-07-24 06:56:02 +10:00
chainchompa
1fd2a91ccd
only show warning for simple upscale if no simple upscale model is available
2024-07-24 06:56:02 +10:00
Sergey Borisov
c323a760a5
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 23:34:28 +03:00
Sergey Borisov
9d1fcba415
Fix create gradient mask node output
2024-07-23 23:29:28 +03:00
chainchompa
bf6066d834
Merge branch 'main' into chainchompa/simple-upscale-updates
2024-07-23 13:27:48 -04:00
Mary Hipp
5635f65ee9
feat(ui): add upsells for pro edition to settings menu
2024-07-23 13:27:00 -04:00
chainchompa
6317cf8ef9
move handleSimpleUpscaleModels logic into handleSpandrelImageToImageModels listener
2024-07-23 13:13:21 -04:00
chainchompa
9e1daf06f7
Merge branch 'main' into chainchompa/simple-upscale-updates
2024-07-23 12:16:44 -04:00
chainchompa
e1a718b512
cleanup
2024-07-23 12:16:35 -04:00
chainchompa
cbce89162b
update simple upscale metadata to match upscale metadata
2024-07-23 12:15:26 -04:00
chainchompa
b46b20210d
handle simple upscale models on modelsLoaded
2024-07-23 11:53:43 -04:00
chainchompa
8e89157a83
reuse ParamSpandrelModel for simple upscale
2024-07-23 11:36:46 -04:00
Sergey Borisov
ca21996a97
Remove old seamless class
2024-07-23 18:04:33 +03:00
Sergey Borisov
62aa064e56
Handle seamless in modular denoise
2024-07-23 18:03:59 +03:00
chainchompa
8107884c8d
Merge branch 'main' into chainchompa/simple-upscale-updates
2024-07-23 10:28:11 -04:00
chainchompa
a2f49ef7c1
cleanup esrgan frontend code
2024-07-23 10:22:38 -04:00
Ryan Dick
e2e47fd606
Merge branch 'main' into stalker-modular_controlnet
2024-07-23 10:19:12 -04:00
chainchompa
c098edc6b2
updated simple upscale to use spandrel node and list of available spandrel models
2024-07-23 10:15:31 -04:00
chainchompa
bc1d9748ce
updated upscale warning to work for simple upscale
2024-07-23 10:04:31 -04:00
Ryan Dick
db52f5606f
Merge branch 'main' into stalker-modular_freeu
2024-07-23 09:53:32 -04:00
Ryan Dick
d014dc94fd
Merge branch 'main' into stalker7779/modular_rescale_cfg
2024-07-23 09:34:22 -04:00
Ryan Dick
39e804d0f8
Use consistent param names in patch_extension(...) functions: context -> ctx.
2024-07-23 09:18:04 -04:00
psychedelicious
154e8f6e78
chore(ui): lint
2024-07-23 15:42:16 +10:00
psychedelicious
2d31b82e60
feat(ui): tweak layout for warning message
2024-07-23 15:42:16 +10:00
psychedelicious
8f934747f3
feat(ui): updated upscale tab warnings
2024-07-23 15:42:16 +10:00
psychedelicious
4352341a00
feat(ui): starter models filter matches spandrel models to "upscale" search term
2024-07-23 15:42:16 +10:00
psychedelicious
d7e0ec52ff
feat(ui): make model install tab controlled
...
This lets us navigate directly to eg the Starter Models tab
2024-07-23 15:42:16 +10:00
psychedelicious
1072b74c0e
fix(ui): edge cases in starter models search
2024-07-23 15:42:16 +10:00
psychedelicious
46dc8c6641
chore(ui): lint
2024-07-23 15:42:16 +10:00
psychedelicious
a8bc6ab5b1
fix(ui): typos
2024-07-23 15:42:16 +10:00
Kent Keirsey
bd91bd4a84
Math Updates
2024-07-23 15:42:16 +10:00
psychedelicious
8756a6b8c3
fix(ui): remove sharpness param
2024-07-23 10:55:54 +10:00
psychedelicious
2e0cebb571
fix(ui): bug where viewer would disappear on upscaling tab
2024-07-23 10:55:54 +10:00
psychedelicious
c3a8184431
feat(ui): add number input to scale slider
2024-07-23 10:55:54 +10:00
psychedelicious
ffa39d74b3
feat(ui): remove first unsharp from upscale graph
2024-07-23 10:55:54 +10:00
psychedelicious
f9d3966ea2
feat(ui): add scale param to upscaling tab
2024-07-23 10:55:54 +10:00
psychedelicious
7cee4e42a7
feat(ui): add addEdgeToMetadata graph helper
2024-07-23 10:55:54 +10:00
psychedelicious
071c7c7c7e
chore(ui): typegen
2024-07-23 10:55:54 +10:00
psychedelicious
818045f678
tidy(ui): use × instead of translation string
2024-07-23 10:55:54 +10:00
psychedelicious
7edefbefff
feat(ui): add translation for upscaling tab
2024-07-23 10:55:54 +10:00
psychedelicious
29efab70b7
feat(nodes): spandrel_image_to_image.scale defaults to 4.0
2024-07-23 10:55:54 +10:00
psychedelicious
ac6adc392a
feat(nodes): add scale
and fit_to_multiple_of_8
to spandrel node
2024-07-23 10:55:54 +10:00
psychedelicious
a2ef5d56ee
feat(nodes): split out spandrel node upscale logic into utils
2024-07-23 10:55:54 +10:00
Mary Hipp
13f3560e55
more lint fixes
2024-07-23 10:55:54 +10:00
Mary Hipp
c4bd60e00f
knip fix
2024-07-23 10:55:54 +10:00
Mary Hipp
54eda9163c
remove tiledVAE option and make it true
2024-07-23 10:55:54 +10:00
Mary Hipp
582f384fff
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
a43211e650
math updates for controlnet tiles
2024-07-23 10:55:54 +10:00
Mary Hipp
6cb0581b0d
add description to upscale model dropdown tooltip
2024-07-23 10:55:54 +10:00
Mary Hipp
845d77916e
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
f18431a999
use fn to get width/height of output image
2024-07-23 10:55:54 +10:00
Mary Hipp
5060bf2f62
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
7854d913b2
add upscaling data to metadata
2024-07-23 10:55:54 +10:00
Mary Hipp
890a3ce32a
add limited metadata
2024-07-23 10:55:54 +10:00
Mary Hipp
fb4b3f3350
fix creativity/sharpness/structure scales, move where loras are added, get scale const working
2024-07-23 10:55:54 +10:00
Mary Hipp
d166b08b6a
restore scale but hardcode it to 2 regardless of upscale model
2024-07-23 10:55:54 +10:00
psychedelicious
5266e9e682
fix(ui): remove unused scale param
2024-07-23 10:55:54 +10:00
psychedelicious
d0265e21b0
fix(ui): use spandrel node for upscaling
2024-07-23 10:55:54 +10:00
psychedelicious
3126e8e49a
chore(ui): typegen
2024-07-23 10:55:54 +10:00
Mary Hipp
9e3412d776
translations and lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
4a09cc57be
use the tile conttrolnet in graph instad of marys hardcoded key
2024-07-23 10:55:54 +10:00
Mary Hipp
5ab36e0433
add warning if no upscale model or no tile controlnet for base model
2024-07-23 10:55:54 +10:00
Mary Hipp
d2bf3629bf
base scale off of upscale model selected
2024-07-23 10:55:54 +10:00
Mary Hipp
d9b217d908
hook up sharpness, structure, and creativity
2024-07-23 10:55:54 +10:00
Mary Hipp
2847f1b5ac
add vae toggle, lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
bc30850f3a
hardcode marys tile cnet key
2024-07-23 10:55:54 +10:00
Mary Hipp
7668dc68a0
cleanup, add loras
2024-07-23 10:55:54 +10:00
Mary Hipp
ea449f5a0a
upscale graph built, no multidiffusion yet
2024-07-23 10:55:54 +10:00
Mary Hipp
5a1ed99ca1
restore adhoc upscale button
2024-07-23 10:55:54 +10:00
Mary Hipp
3a2707ac02
disable invoke button properly for upscaling tab
2024-07-23 10:55:54 +10:00
Mary Hipp
ce5b1103ed
add send to upscale to context menu
2024-07-23 10:55:54 +10:00
Mary Hipp
fd91b83d86
build out the rest of the accordions
2024-07-23 10:55:54 +10:00
Mary Hipp
a0a54348e8
removed upscale button, created spandrel model dropdown, created upscale initial image that works with dnd
2024-07-23 10:55:54 +10:00
Mary Hipp
43b3e242b0
tidy(ui): refactor parameters panel components to be 1:1 with tabs
2024-07-23 10:55:54 +10:00
Sergey Borisov
4e8dcb7a1a
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 01:46:29 +03:00
Sergey Borisov
3cb13d6288
Rename as suggested in other PRs
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 01:01:18 +03:00
Sergey Borisov
87eb018380
Revert debug change
2024-07-22 23:49:20 +03:00
Sergey Borisov
5003e5d763
Same changes as in other PRs, add check for running inpainting on inpaint model without source image
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 23:47:39 +03:00
chainchompa
e92af52fb8
fix moving items to uncategorized updating
2024-07-22 16:11:36 -04:00
Sergey Borisov
5f0fe3c8a9
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 23:09:11 +03:00
chainchompa
339dddd018
update uncategorized board totals when deleting and moving images
2024-07-22 16:03:01 -04:00
Sergey Borisov
1b359b55cb
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 22:17:29 +03:00
Sergey Borisov
58f3072b91
Handle inpainting on normal models
2024-07-21 22:17:29 +03:00
Sergey Borisov
9e7b470189
Handle inpaint models
2024-07-21 20:45:55 +03:00
Sergey Borisov
42356ec866
Add ControlNet support to denoise
2024-07-21 20:01:30 +03:00
Sergey Borisov
1748848b7b
Ruff fixes
2024-07-21 18:37:20 +03:00
Sergey Borisov
5772965f09
Fix slightly different output with old backend
2024-07-21 18:31:30 +03:00
Sergey Borisov
e046e60e1c
Add FreeU support to denoise
2024-07-21 18:31:10 +03:00
Sergey Borisov
9a1420280e
Add rescale cfg support to denoise
2024-07-21 17:33:43 +03:00
Ryan Dick
a8cc5caf96
Fix function call that we forgot to update in https://github.com/invoke-ai/InvokeAI/pull/6606
2024-07-19 17:07:52 -04:00
Mary Hipp
930ff559e4
add sdxl tile to starter models
2024-07-19 16:49:33 -04:00
Ryan Dick
78d2b1b650
Merge branch 'main' into stalker-backend_base
2024-07-19 16:25:20 -04:00
Sergey Borisov
39e10d894c
Add invocation cancellation logic to patchers
2024-07-19 23:17:01 +03:00
Ryan Dick
e16faa6370
Add gradient blending to tile seams in MultiDiffusion.
2024-07-19 13:05:50 -07:00
Ryan Dick
83a86abce2
Add unit tests for ExtensionsManager and ExtensionBase.
2024-07-19 14:15:46 -04:00
Sergey Borisov
0c56d4a581
Ryan's suggested changes to extension manager/extensions
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-18 23:49:44 +03:00
Lincoln Stein
97a7f51721
don't use cpu state_dict for model unpatching when executing on cpu ( #6631 )
...
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-18 15:34:01 -04:00
StAlKeR7779
710dc6b487
Merge branch 'main' into stalker7779/backend_base
2024-07-18 01:08:04 +03:00
Sergey Borisov
2ef3b49a79
Add run cancelling logic to extension manager
2024-07-17 04:39:15 +03:00
Sergey Borisov
3f79467f7b
Ruff format
2024-07-17 04:24:45 +03:00
Sergey Borisov
2c2ec8f0bc
Comments, a bit refactor
2024-07-17 04:20:31 +03:00
Sergey Borisov
79e35bd0d3
Minor fixes
2024-07-17 03:48:37 +03:00
Sergey Borisov
137202b77c
Remove patch_unet logic for now
2024-07-17 03:40:27 +03:00
Sergey Borisov
03e22c257b
Convert conditioning_mode to enum
2024-07-17 03:37:11 +03:00
Sergey Borisov
ae6d4fbc78
Move out _concat_conditionings_for_batch submethods
2024-07-17 03:31:26 +03:00
Sergey Borisov
cd1bc1595a
Rename sequential as private variable
2024-07-17 03:24:11 +03:00
Ryan Dick
f866b49255
Add some ESRGAN and SwinIR upscale models to the starter models list.
2024-07-16 15:55:10 -04:00
Sergey Borisov
b7c6c63005
Added some comments
2024-07-16 22:52:44 +03:00
Ryan Dick
6b0ca88177
Merge branch 'main' into ryan/spandrel-upscale-tiling
2024-07-16 15:40:14 -04:00
Ryan Dick
81991e072b
Merge branch 'main' into ryan/spandrel-upscale
2024-07-16 15:14:08 -04:00
Sergey Borisov
cec345cb5c
Change attention processor apply logic
2024-07-16 20:03:29 +03:00
Sergey Borisov
608cbe3f5c
Separate inputs in denoise context
2024-07-16 19:30:29 +03:00
psychedelicious
7905a46ca4
chore: bump version to 4.2.6post1
2024-07-16 09:09:04 +10:00
psychedelicious
38343917f8
fix(backend): revert non-blocking device transfer
...
In #6490 we enabled non-blocking torch device transfers throughout the model manager's memory management code. When using this torch feature, torch attempts to wait until the tensor transfer has completed before allowing any access to the tensor. Theoretically, that should make this a safe feature to use.
This provides a small performance improvement but causes race conditions in some situations. Specific platforms/systems are affected, and complicated data dependencies can make this unsafe.
- Intermittent black images on MPS devices - reported on discord and #6545 , fixed with special handling in #6549 .
- Intermittent OOMs and black images on a P4000 GPU on Windows - reported in #6613 , fixed in this commit.
On my system, I haven't experience any issues with generation, but targeted testing of non-blocking ops did expose a race condition when moving tensors from CUDA to CPU.
One workaround is to use torch streams with manual sync points. Our application logic is complicated enough that this would be a lot of work and feels ripe for edge cases and missed spots.
Much safer is to fully revert non-locking - which is what this change does.
2024-07-16 08:59:42 +10:00
Sergey Borisov
9f088d1bf5
Multiple small fixes
2024-07-16 00:51:25 +03:00
Sergey Borisov
fd8d1c12d4
Remove 'del' operator overload
2024-07-16 00:43:32 +03:00
Sergey Borisov
d623bd429b
Fix condtionings logic
2024-07-16 00:31:56 +03:00
psychedelicious
5a0c99816c
chore: bump version to v4.2.6
2024-07-15 14:16:31 +10:00
psychedelicious
24bf1ea65a
fix(ui): boards cut off when search open
2024-07-15 14:07:20 +10:00
psychedelicious
28e79c4c5e
chore: ruff
...
Looks like an upstream change to ruff resulted in this file being a violation.
2024-07-15 14:05:04 +10:00
psychedelicious
d7d59d704b
chore: update default workflows
...
- Update all existing defaults
- Add Tiled MultiDiffusion workflow
2024-07-15 14:05:04 +10:00
Riccardo Giovanetti
8539c601e6
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1262 of 1282 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-07-15 11:54:45 +10:00
psychedelicious
5cbe9fafb2
fix(ui): clear selection when deleting last image in board
2024-07-15 08:57:13 +10:00
psychedelicious
3ecd14f394
chore: bump version to 4.2.6rc1
2024-07-13 14:55:21 +10:00
psychedelicious@windows
7c0dfd74a5
fix(api): deleting large images fails
...
This issue is caused by a race condition. When a large image is served to the client, it is done using a streaming `FileResponse`. This concurrently serves the image straight from disk. The file is kept open by FastAPI until the image is fully served.
When a user deletes an image before the file is done serving, the delete fails because the file is still held by FastAPI.
To reproduce the issue:
- Create a very large image (8k reliably creates the issue).
- Create a smaller image, so that the first image in the gallery is not the large image.
- Refresh the app. The small image should be selected.
- Select the large image and immediately delete it. You have to be fast, to delete it before it finishes loading.
- In the terminal, we expect to see an error saying `Failed to delete image file`, and the image does not disappear from the UI.
- After a short wait, once the image has fully loaded, try deleting it again. We expect this to work.
The workaround is to instead serve the image from memory.
Loading the image to memory is very fast, so there is only a tiny window in which we could create the race condition, but it technically could still occur, because FastAPI is asynchronous and handles requests concurrently.
Once we load the image into memory, deletions of that image will work. Then we return a normal `Response` object with the image bytes. This is essentially what `FileResponse` does - except it uses `anyio.open_file`, which is async.
The tradeoff is that the server thread is blocked while opening the file. I think this is a fair tradeoff.
A future enhancement could be to implement soft deletion of images (db is already set up for this), and then clean up deleted image files on startup/shutdown. We could move back to using the async `FileResponse` for best responsiveness in the server without any risk of race conditions.
2024-07-13 14:46:41 +10:00
psychedelicious@windows
2c1a91241e
fix(app): windows indefinite hang while finding port
...
For some reason, I started getting this indefinite hang when the app checks if port 9090 is available. After some fiddling around, I found that adding a timeout resolves the issue.
I confirmed that the util still works by starting the app on 9090, then starting a second instance. The second instance correctly saw 9090 in use and moved to 9091.
2024-07-13 14:46:41 +10:00
Riccardo Giovanetti
84f136e737
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1262 of 1282 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-07-13 08:38:22 +10:00
Sergey Borisov
499e4d4fde
Add preview extension to check logic
2024-07-13 00:45:04 +03:00
Sergey Borisov
e961dd1dec
Remove remains of priority logic
2024-07-13 00:44:21 +03:00
Sergey Borisov
7e00526999
Remove overrides logic for now
2024-07-13 00:28:56 +03:00
Sergey Borisov
3a9dda9177
Renames
2024-07-12 22:44:00 +03:00
Sergey Borisov
bd8ae5d896
Simplify guidance modes
2024-07-12 22:01:37 +03:00
Sergey Borisov
87e96e1be2
Rename modifiers to callbacks, convert order to int, a bit unify injection points
2024-07-12 22:01:05 +03:00
Sergey Borisov
0bc60378d3
A bit rework conditioning convert to unet kwargs
2024-07-12 20:43:32 +03:00
Sergey Borisov
9cc852cf7f
Base code from draft PR
2024-07-12 20:31:26 +03:00
psychedelicious
712cf00a82
fix(app): vae tile size field description
2024-07-12 06:30:27 -07:00
psychedelicious
fb1130c644
fix(ui): do not invalidate image dto cache when deleting image
2024-07-12 14:25:38 +10:00
psychedelicious
0f65a12cf3
fix(ui): handle archived boards like other boards when they are visible, do not reset board selection when autoadd board is hidden
2024-07-12 14:25:38 +10:00
psychedelicious
84abdc5780
fix(ui): prevent cutoff of last board
2024-07-12 14:25:38 +10:00
Ryan Dick
69af099532
Warn on invalid model configs in the DB rather than crashing.
2024-07-11 21:05:55 -04:00
Ryan Dick
0428ce73a9
Add early cancellation to SpandrelImageToImageInvocation.
2024-07-11 15:42:33 -04:00
Alexander Eichhorn
5795617f86
translationBot(ui): update translation (German)
...
Currently translated at 67.0% (859 of 1282 strings)
Co-authored-by: Alexander Eichhorn <pfannkuchensack@einfach-doof.de>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Nathan
b533bc072e
translationBot(ui): update translation (French)
...
Currently translated at 25.2% (322 of 1275 strings)
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/fr/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Васянатор
d7199c7ca6
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1282 of 1282 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1280 of 1280 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1275 of 1275 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1273 of 1273 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Riccardo Giovanetti
a69284367b
translationBot(ui): update translation (Italian)
...
Currently translated at 98.2% (1260 of 1282 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1260 of 1280 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1255 of 1275 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1253 of 1273 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1245 of 1265 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Phrixus2023
c4d2fe9c65
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 76.5% (968 of 1265 strings)
Co-authored-by: Phrixus2023 <920414016@qq.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Hosted Weblate
fe0d56de5c
translationBot(ui): update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
HAL
7aec5624f7
translationBot(ui): update translation (Japanese)
...
Currently translated at 50.4% (636 of 1261 strings)
Co-authored-by: HAL <HALQME@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ja/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
B N
2f3ec41f94
translationBot(ui): update translation (German)
...
Currently translated at 67.3% (849 of 1261 strings)
Co-authored-by: B N <berndnieschalk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
psychedelicious
de1235c980
chore: bump version to 4.2.6a1
2024-07-11 10:34:53 +10:00
Ryan Dick
d0d2955992
Reduce peak VRAM utilization of SpandrelImageToImageInvocation.
2024-07-10 14:25:19 -04:00
Ryan Dick
d868d5d584
Make SpandrelImageToImage tiling much faster.
2024-07-10 14:25:19 -04:00
Ryan Dick
ab775726b7
Add tiling support to the SpoandrelImageToImage node.
2024-07-10 14:25:19 -04:00
Ryan Dick
650902dc29
Fix broken unit test caused by non-existent model path.
2024-07-10 13:59:17 -04:00
psychedelicious
88c3a71586
fix(ui): fix bug with usePanel
2024-07-10 04:27:24 -07:00
psychedelicious
ec1b429d45
feat(ui): add divider between board search and list
2024-07-10 04:27:24 -07:00
psychedelicious
146e3a3377
feat(ui): tweak board tooltip behaviour
2024-07-10 04:27:24 -07:00
psychedelicious
38622b0d91
feat(ui): board list title verbiage
2024-07-10 04:27:24 -07:00
psychedelicious
7db767b7c3
feat(ui): sticky board list header
2024-07-10 04:27:24 -07:00
psychedelicious
b70e87f25b
feat(ui): tweak add board button style
2024-07-10 04:27:24 -07:00
psychedelicious
fea1ec9085
feat(ui): updated boards resizable panel logic
2024-07-10 04:27:24 -07:00
psychedelicious
2e7a95998c
feat(ui): add support for default size in usePanel
2024-07-10 04:27:24 -07:00
psychedelicious
788f90a7d5
feat(ui): tweak resizehandle styling
2024-07-10 04:27:24 -07:00
psychedelicious
6bf29b20af
fix(ui): fix edge case in panels
...
Not sure why I didn't figure out how to do this before - we only should reset a panel if it's too small.
2024-07-10 04:27:24 -07:00
psychedelicious
8f0edcd4f4
fix(ui): edge cases when deleting, archiving, updating boards
...
Need to handle different cases where the selected or auto-add board is hidden - fall back to uncategorized in these situations.
2024-07-10 04:27:24 -07:00
psychedelicious
a7c44b4a98
feat(ui): rename gallery boards on double click
2024-07-10 04:27:24 -07:00
psychedelicious
48a57f0da8
feat(ui): boards styling
...
- Refine layout
- Update colors - more minimal, fewer shaded boxes
- Add indicator for search icons showing a search term is entered
- Handle new `projectName` and `projectUrl` ui props
2024-07-10 04:27:24 -07:00
psychedelicious
dfd94bbd0b
feat(ui): remove galleryHeader in favor of projectUrl & projectName
2024-07-10 04:27:24 -07:00
chainchompa
2edfb2356d
remove extra boardname
2024-07-10 04:27:24 -07:00
chainchompa
58d2c1557d
prettier
2024-07-10 04:27:24 -07:00
chainchompa
8fdff33cf8
update board header styling, toggle board search, resizing gallery panels
2024-07-10 04:27:24 -07:00
chainchompa
a96e34d2d1
remove collapsibles and update board title
2024-07-10 04:27:24 -07:00
chainchompa
8826adad24
filter out uncategorized when not included in search
2024-07-10 04:27:24 -07:00
chainchompa
cdacf2ecd0
clear out boards search when adding a new board
2024-07-10 04:27:24 -07:00
chainchompa
f193a576a6
move boardname back and make collapsible again
2024-07-10 04:27:24 -07:00
chainchompa
b7ebdca70a
update image and assets tabs styling
2024-07-10 04:27:24 -07:00
Ryan Dick
7b5d4935b4
Merge branch 'main' into ryan/spandrel-upscale
2024-07-09 13:47:11 -04:00
chainchompa
a79e9caab1
Merge branch 'main' into boards-ui-update
2024-07-09 10:00:26 -04:00
psychedelicious
476ebd13ae
feat(ui): add board button tooltip when private boards enabled
2024-07-09 22:51:08 +10:00
psychedelicious
2460689c00
feat(ui): style board name
2024-07-09 22:47:03 +10:00
psychedelicious
781b800ef7
feat(ui): boards lists start collapsed
2024-07-09 22:40:50 +10:00
psychedelicious
d38d513d23
fix(ui): autoadd badge doesn't flex shrink
2024-07-09 22:39:32 +10:00
psychedelicious
80e1b87b9e
fix(ui): autoadd badge hides when editing name
2024-07-09 22:39:17 +10:00
psychedelicious
6014382c7b
feat(ui): select a board when it is created
2024-07-09 22:37:41 +10:00
Ryan Dick
af63c538ed
Demote error log to warning to models treated as having size 0.
2024-07-09 08:35:43 -04:00
psychedelicious
060d698a12
feat(ui): restore image count for boards
2024-07-09 22:19:20 +10:00
psychedelicious
637802d803
fix(ui): restore auto-add indicator
2024-07-09 22:14:21 +10:00
psychedelicious
2faf1e2ed3
fix(ui): show uncategorized board when private boards disabled
2024-07-09 22:02:54 +10:00
psychedelicious
81cf47dd99
feat(ui): boards list layout & style tweaking
2024-07-09 21:58:48 +10:00
chainchompa
907b257984
remove unused file and addressed pr feedback
2024-07-08 23:20:50 -04:00
chainchompa
e2667f957c
prettier
2024-07-08 22:16:31 -04:00
chainchompa
40c3b5e727
generate types again
2024-07-08 22:13:12 -04:00
chainchompa
38c5804457
remove unused disclosure
2024-07-08 22:09:23 -04:00
chainchompa
faf65c988a
Merge branch 'main' into boards-ui-update
2024-07-08 22:06:26 -04:00
chainchompa
1785825690
add current gallery board name
2024-07-08 22:03:42 -04:00
chainchompa
0e092c0fb5
update is_private name
2024-07-08 22:03:12 -04:00
chainchompa
79a7b11214
remove old boards list
2024-07-08 15:02:22 -04:00
chainchompa
3a85ab15a1
update BoardRecord
2024-07-08 14:55:04 -04:00
chainchompa
9ca6980c7a
cleanup and bug fixes
2024-07-08 13:29:53 -04:00
Ryan Dick
ecbff2aa44
Whoops... forgot to commit this file.
2024-07-05 14:57:05 -04:00
Ryan Dick
0ce6ec634d
Do not assign the result of SpandrelImageToImageModel.load_from_file(...) during probe to ensure that the model is immediately gc'd.
2024-07-05 14:05:12 -04:00
Ryan Dick
d09999736c
Rename spandrel models to 'Image-to-Image Model' throughout the UI.
2024-07-05 14:04:08 -04:00
Ryan Dick
35f8781ea2
Fix static type errors with SCHEDULER_NAME_VALUES. And, avoid bi-directional cross-directory imports, which contribute to circular import issues.
2024-07-05 07:38:35 -07:00
Ryan Dick
36202d6d25
Delete unused duplicate libc_util.py file. The active version is at invokeai/backend/model_manager/libc_util.py.
2024-07-04 10:30:40 -04:00
Ryan Dick
1d449097cc
Apply ruff rule to disallow all relative imports.
2024-07-04 09:35:37 -04:00
Ryan Dick
9da5925287
Add ruff rule to disallow relative parent imports.
2024-07-04 09:35:37 -04:00
Ryan Dick
414750a45d
Update calc_model_size_by_data(...) to handle all expected model types, and to log an error if an unexpected model type is received.
2024-07-04 09:08:25 -04:00
Lincoln Stein
0fe92cd406
[MM bugfix] Put model install errors on the event bus ( #6578 )
...
* fix access token lookup
* fix bug preventing model install error events from being reported
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-03 22:44:34 -04:00
Ryan Dick
a405f14ea2
Fix SpandrelImageToImageModel size calculation for the model cache.
2024-07-03 16:38:16 -04:00
Ryan Dick
9d3739244f
Prettier formatting.
2024-07-03 16:28:21 -04:00
Ryan Dick
534528b85a
Re-generate schema.ts
2024-07-03 16:28:21 -04:00
Ryan Dick
114320ee69
(minor) typo
2024-07-03 16:28:21 -04:00
Ryan Dick
6161aa73af
Move pil_to_tensor() and tensor_to_pil() utilities to the SpandrelImageToImage class.
2024-07-03 16:28:21 -04:00
Ryan Dick
1ab20f43c8
Tidy spandrel model probe logic, and document the reasons behind the current implementation.
2024-07-03 16:28:21 -04:00
Ryan Dick
9328c17ded
Add Spandrel models to the list of models in the Model Manager tab.
2024-07-03 16:28:21 -04:00
Ryan Dick
c1c8e55e8e
Fix static check errors.
2024-07-03 16:28:21 -04:00
Ryan Dick
504a42fe61
typo: fix UIType on Spandrel Upscaling node.
2024-07-03 16:28:21 -04:00
Ryan Dick
29c8ddfb88
WIP - A bunch of boilerplate to support Spandrel Image-to-Image models throughout the model manager and the frontend.
2024-07-03 16:28:21 -04:00
Ryan Dick
95079dc7d4
Use a ModelIdentifierField to identify the spandrel model in the UpscaleSpandrelInvocation.
2024-07-03 16:28:21 -04:00
Ryan Dick
2a1514272f
Set the dtype correctly for SpandrelImageToImageModels when they are loaded.
2024-07-03 16:28:21 -04:00
Ryan Dick
59ce9cf41c
WIP - Begin to integrate SpandreImageToImageModel type into the model manager.
2024-07-03 16:28:21 -04:00
Ryan Dick
e6abea7bc5
(minor) Remove redundant else clause on a for-loop with no break statement.
2024-07-03 16:28:21 -04:00
Ryan Dick
c335f92345
(minor) simplify startswith(...) syntax.
2024-07-03 16:28:21 -04:00
Ryan Dick
c1afe35704
Add prototype invocation for running upscaling models with spandrel.
2024-07-03 16:28:21 -04:00
chainchompa
6437ef3f82
add view that displays private boards with shared boards
2024-07-03 14:25:36 -04:00
Mary Hipp
e719018ba1
fix sort order
2024-07-03 09:20:08 -07:00
Lincoln Stein
a11dc62c2e
fix access token lookup
2024-07-03 13:31:08 +10:00
psychedelicious
7c01b69c12
fix(ui): revise image selection after deletion
...
- For single image deletion, select the image in the same slot as the deleted image
- For multiple image deletion, empty selection
- On list images, if no images are currently selected, select the first image
2024-07-03 13:20:40 +10:00
psychedelicious
5578660ccb
fix(ui): reset page when search term changes
2024-07-03 13:20:40 +10:00
Ryan Dick
e4813f800a
Update calc_model_size_by_data(...) to handle all expected model types, and to log an error if an unexpected model type is received.
2024-07-02 21:51:45 -04:00
Ryan Dick
3752509066
Expose the VAE tile_size on the VAE encode and decode invocations.
2024-07-02 09:07:03 -04:00
Ryan Dick
79640ba14e
Add context manager for overriding VAE tiling params.
2024-07-02 09:07:03 -04:00
psychedelicious
4075a81676
feat(ui): gallery image selection ux
...
The selection logic is a bit complicated. We have image selection and pagination, both of which can be triggered using the mouse or hotkeys. We have viewer image selection and comparison image selection, which is determined by the alt key.
This change ties the room together with these behaviours:
- Changing the page using pagination buttons never changes the selection.
- Changing the selected image using arrows may change the page, if the arrow key pressed would select an image off the current page.
- `right` on the last image of the current page goes to the next page
- `down` on the last row of images goes to the next page
- `left` on the first image of the current page goes to the previous page
- `up` on the first row of images goes to the previous page
- If `alt` is held when using arrow keys, we change the page, but we only change the comparison image selection.
- When using arrow keys, if the page has changed since the last image was selected, the selection is reset to the first image on the page.
- The next/previous buttons on the image viewer do the same thing as `left` and `right` without `alt`.
- When clicking an image in the gallery:
- If no modifier keys are held, the image is exclusively selected.
- If `ctrl` or `meta` are held, the image's selection status is toggled.
- If `shift` is held, all images from the last-selected image to the image are selected. If there are no images on the current page, the selection is unchanged.
- If `alt` is held, the image is set as the compare image.
- `ctrl+a` and `meta+a` add the current page to the selection.
The logic for gallery navigation and selection is now pretty hairy. It's spread across 3 hooks, a listener, redux slice, components.
When we next make changes to this part of the app, we should consider consolidating some of the related logic. Probably most of it can go into a single listener and make it much simpler to grok.
2024-07-02 13:52:32 +10:00
psychedelicious
4d39976909
feat(ui): restore loading spinner in search box
...
@maryhipp you were right, after trying loading bars and different placements, this feels like the best place for it.
2024-07-02 13:52:32 +10:00
Mary Hipp
d14894b3ae
(ui) clarify auto-add options
2024-07-02 06:44:09 +10:00
Mary Hipp
6f5c5b0757
lint fix
2024-07-01 15:36:06 -04:00
Mary Hipp
93caa23ef8
undo
2024-07-01 15:36:06 -04:00
Mary Hipp
977a77f4e6
fix(ui): dont mess up redux if 403 gets thrown
2024-07-01 15:36:06 -04:00
Mary Hipp
57c0fcb93d
(ui) clarify auto-add options
2024-07-01 15:36:06 -04:00
psychedelicious
b1cc413bbd
tidy(ui): remove search term fetching indicator
...
Don't like this UI (even though I suggested it). No need to prevent the user from interacting with the search term field during fetching. Let's figure out a nicer way to present this in a followup.
2024-07-01 20:06:28 +10:00
psychedelicious
face94ce33
feat(ui): tweak search term placeholder verbiage
2024-07-01 20:06:28 +10:00
psychedelicious
f0b1f0e5b6
feat(ui): pass search term as-is to query
...
The images service does not add the query filter if the search term is an empty string.
2024-07-01 20:06:28 +10:00
psychedelicious
390dc47db5
feat(app): transform search term to lowercase
2024-07-01 20:06:28 +10:00
Mary Hipp
20d5c3a8bf
(ui): improve loader/fetching state while searching, make search term a string in redux
2024-07-01 20:06:28 +10:00
maryhipp
134d831ebf
(api) simplify query
2024-07-01 20:06:28 +10:00
maryhipp
b65ed8e8f2
fix commented out migration
2024-07-01 20:06:28 +10:00
maryhipp
93951dcf82
(api) ruff
2024-07-01 20:06:28 +10:00
Mary Hipp
da05034e20
feat(ui): debounced gallery search
2024-07-01 20:06:28 +10:00
Mary Hipp
d579aefb3e
feat(api): add optional search_term query param to image list to search metadata
2024-07-01 20:06:28 +10:00
psychedelicious
f9961eceb7
fix(app): fix SQL query w/ enum for python 3.11
2024-06-29 11:07:39 +10:00
psychedelicious
10076fb1e8
feat(ui): tweak gallery settings popover divider styling
2024-06-28 18:01:01 +10:00
psychedelicious
d6e85e5f67
tidy(ui): rename GalleryBulkSelect -> GallerySelectionCountTag
2024-06-28 18:01:01 +10:00
psychedelicious
1ce459198c
chore(ui): knip
2024-06-28 18:01:01 +10:00
psychedelicious
17d337169d
fix(ui): do not reset limit when changing gallery view
2024-06-28 18:01:01 +10:00
psychedelicious
1468f4d37e
perf(ui): split out gallery settings popover components
...
This was taking over 15ms (!) to render each time a setting changed, wtf
2024-06-28 18:01:01 +10:00
psychedelicious
2b744480d6
feat(ui): update UI for sorting
2024-06-28 18:01:01 +10:00
psychedelicious
abb8d34b56
chore(ui): typegen
2024-06-28 18:01:01 +10:00
psychedelicious
9e664d7c58
feat(api): remove order_by in favor of starred_first for images records
2024-06-28 18:01:01 +10:00
psychedelicious
c96ccae70b
feat(app): remove order_by in favor of starred_first for images records
2024-06-28 18:01:01 +10:00
maryhipp
f268fe126e
feat(api): add order_by and order_dir to list images for sorting
2024-06-28 18:01:01 +10:00
Mary Hipp
6109a06f04
feat(ui): gallery sort by created at or starred, asc or desc
2024-06-28 18:01:01 +10:00
Kent Keirsey
5df2a79549
Update starter models
2024-06-28 17:49:45 +10:00
Kent Keirsey
10b9088312
update controlnet starter models
2024-06-28 17:49:45 +10:00
psychedelicious
0d4b80780b
feat(ui): handle edge cases when archiving/deleting boards
...
If the currently selected or auto-add board is archived or deleted, we should reset them. There are some edge cases taht weren't handled in the previous implementation.
All handling of this logic is moved to the (renamed) listener.
2024-06-28 10:36:05 +10:00
psychedelicious
15b9ece411
chore(ui): typegen
2024-06-28 10:36:05 +10:00
psychedelicious
89fcab34d0
feat(app): BoardRecord.archived
is a required field
2024-06-28 10:36:05 +10:00
psychedelicious
132289de55
chore: ruff E721
...
Looks like in the latest version of ruff, E721 was added or changed and now catches something it didn't before.
2024-06-28 10:36:05 +10:00
psychedelicious
9f93e9d120
fix(app): when creating image, skip adding to board if board doesn't exist
...
Before this change, if you attempt to create an image that with a nonexistent board, we'd get an unhandled error when adding the image to a board. The record would be created, but file not, due to the structure of the code.
With this change, we now log a warning if we have a problem adding the image to the board, but the record and file are still created.
A future improvement would be to create a transaction for this part of the code, preventing some other situation that could result in only the record or only the file beings saved.
2024-06-28 10:36:05 +10:00
Mary Hipp
b5f23292d4
lint fix
2024-06-28 10:36:05 +10:00
maryhipp
a63dbb2c2d
(api) change query param to include_archived
2024-06-28 10:36:05 +10:00
Mary Hipp
740bf80f3e
(ui): update query param to include_archived, fix cache when archiving boards
2024-06-28 10:36:05 +10:00
Mary Hipp
dc90de600d
(ui) allow auto-add on archived boards, reset to uncategorized if auto-add board is not currently visible due to archived view
2024-06-28 10:36:05 +10:00
psychedelicious
5709f82e5f
feat(ui): separate context menu for no board board
...
Much easier to not need to handle the board being optional in the component.
2024-06-28 10:36:05 +10:00
psychedelicious
20042d99ec
tidy(ui): archived icon component
2024-06-28 10:36:05 +10:00
Mary Hipp
8fce168dc5
fix tsc errors
2024-06-28 10:36:05 +10:00
maryhipp
a7ea096b28
ruff format
2024-06-28 10:36:05 +10:00
Mary Hipp
29eb3c8b62
lint fix
2024-06-28 10:36:05 +10:00
Mary Hipp
071e8bcee4
feat(ui): make archiving and auto-add mutually exclusive
2024-06-28 10:36:05 +10:00
Mary Hipp
68c0aa898f
feat(ui): add ability to archive/unarchive boards, add toggle to gallery settings to show/hide archived boards in list
2024-06-28 10:36:05 +10:00
maryhipp
5120a76ce5
cleanup
2024-06-28 10:36:05 +10:00
maryhipp
38a948ac9f
feat(api): add archived query param to board list endpoint to include them in the response
2024-06-28 10:36:05 +10:00
maryhipp
c33111468e
feat(api): ability to archive boards
2024-06-28 10:36:05 +10:00
Lincoln Stein
3e0fb45dd7
Load single-file checkpoints directly without conversion ( #6510 )
...
* use model_class.load_singlefile() instead of converting; works, but performance is poor
* adjust the convert api - not right just yet
* working, needs sql migrator update
* rename migration_11 before conflict merge with main
* Update invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
* Update invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
* implement lightweight version-by-version config migration
* simplified config schema migration code
* associate sdxl config with sdxl VAEs
* remove use of original_config_file in load_single_file()
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
2024-06-27 17:31:28 -04:00
Ryan Dick
14775cc9c4
ruff format
2024-06-27 09:45:13 -04:00
psychedelicious
c7562dd6c0
fix(backend): mps should not use non_blocking
...
We can get black outputs when moving tensors from CPU to MPS. It appears MPS to CPU is fine. See:
- https://github.com/pytorch/pytorch/issues/107455
- https://discuss.pytorch.org/t/should-we-set-non-blocking-to-true/38234/28
Changes:
- Add properties for each device on `TorchDevice` as a convenience.
- Add `get_non_blocking` static method on `TorchDevice`. This utility takes a torch device and returns the flag to be used for non_blocking when moving a tensor to the device provided.
- Update model patching and caching APIs to use this new utility.
Fixes : #6545
2024-06-27 19:15:23 +10:00
psychedelicious
a0a0c57789
chore(ui): knip
2024-06-27 13:48:40 +10:00
psychedelicious
32ebf82d1a
feat(ui): better pagination buttons
2024-06-27 13:48:40 +10:00
psychedelicious
2dd172c2c6
feat(ui): gallery bulk select styling
2024-06-27 13:48:40 +10:00
psychedelicious
280ec9d4b3
fix(ui): invalidate getImageDTO caches when images are mutated
2024-06-27 13:48:40 +10:00
psychedelicious
fde8fc7575
perf(ui): optimistic updates for getImageDTO query cache
2024-06-27 13:48:40 +10:00
psychedelicious
6dcdc87eb1
fix(ui): control adapter image preview
2024-06-27 13:48:40 +10:00
Mary Hipp
93ffcb642e
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
4c914ef2e8
use correct query params for boardIdSelected listener
2024-06-27 13:48:40 +10:00
Mary Hipp
c0ad5bc4a4
fix when deleting first image in list
2024-06-27 13:48:40 +10:00
Mary Hipp
8c58a180de
GG another fix
2024-06-27 13:48:40 +10:00
Mary Hipp
715dd983b0
appease the knip
2024-06-27 13:48:40 +10:00
Mary Hipp
84ffd36071
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
9f30f1bfec
fix circular dep
2024-06-27 13:48:40 +10:00
Mary Hipp
bdff5c4e87
only show selected when greater than 0
2024-06-27 13:48:40 +10:00
Mary Hipp
afb0651f91
clear selection when board or gallery view changes
2024-06-27 13:48:40 +10:00
Mary Hipp
66e25628c3
fix neg pages
2024-06-27 13:48:40 +10:00
Mary Hipp
3a531a3c88
remove rest of cache, add bulk select UI
2024-06-27 13:48:40 +10:00
Mary Hipp
f01df49128
lint fix
2024-06-27 13:48:40 +10:00
Mary Hipp
7bbe236107
implmenet custom sort to replace images adapter logic
2024-06-27 13:48:40 +10:00
psychedelicious
719c066ac4
feat(ui): more efficient board totals fetching
...
We only need to show the totals in the tooltip. Tooltips accpet a component for the tooltip label. The component isn't rendered until the tooltip is triggered.
Move the board total fetching into a tooltip component for the boards. Now we only fire these requests when the user mouses over the board
2024-06-27 13:48:40 +10:00
psychedelicious
689dc30f87
feat(ui): tweak pagination buttons
...
- Fix off-by-one error when going to last page
- Update component to have minimal/no layout shift
2024-06-27 13:48:40 +10:00
psychedelicious
1f22f6ae02
feat(ui): iterate on dynamic gallery limit
...
- Simplify the gallery layout
- Set an initial gallery limit to load _some_ images immediately.
- Refactor the resize observer to use the actual rendered image component to calculate the number of images per row/col. This prevents inaccuracies caused by image padding that could result in the wrong number of images.
- Debounce the limit update to not thrash teh API
- Use absolute positioning trick to ensure the gallery container is always exactly the right size
- Minimum of `imagesPerRow` images loaded at all times
2024-06-27 13:48:40 +10:00
psychedelicious
9c931d9ca0
fix(ui): gallery content overflow
...
This is one of those unexpected CSS quirks. Flex containers need min-width or min-height for their children to not overflow. Add `minH={0}` to gallery container.
2024-06-27 13:48:40 +10:00
Mary Hipp
e0a241fa4f
wip change limit based on size of gallery
2024-06-27 13:48:40 +10:00
Mary Hipp
6a4b4ee340
trying to invalidate all the tags
2024-06-27 13:48:40 +10:00
Mary Hipp
488bf21925
fix single pagers
2024-06-27 13:48:40 +10:00
Mary Hipp
c9c39c02b6
handle generations coming in, fix pagination to use total from list query so it updates as that changes
2024-06-27 13:48:40 +10:00
Mary Hipp
5101dc4bef
some cleanup, add page buttons
2024-06-27 13:48:40 +10:00
Mary Hipp
98c77a3ed1
pull in spencers work
2024-06-27 13:48:40 +10:00
psychedelicious
4fca62680d
Update invokeai_version.py
2024-06-27 10:41:01 +10:00
Ryan Dick
9a3b8c6fcb
Fix handling of init_timestep in StableDiffusionGeneratorPipeline and improve its documentation.
2024-06-26 12:51:51 -04:00
Ryan Dick
bd74b84cc5
Revert "Remove the redundant init_timestep parameter that was being passed around. It is simply the first element of the timesteps array."
...
This reverts commit fa40061eca
.
2024-06-26 12:51:51 -04:00
Brandon Rising
dc23bebebf
Run ruff
2024-06-26 21:46:59 +10:00
Kent Keirsey
38b6f90c02
Update prevention exception message
2024-06-26 21:46:59 +10:00
Ryan Dick
cd9dfefe3c
Fix inpainting mask shape assertions.
2024-06-25 11:31:52 -07:00
Ryan Dick
b9946e50f9
Use image-space tile dimensions on the TiledMultiDiffusionDenoiseLatents invocation. This is more natural for many users.
2024-06-25 11:31:52 -07:00
Ryan Dick
06f49a30f6
Mark TiledMultiDiffusionDenoiseLatents as a Beta node.
2024-06-25 11:31:52 -07:00
Ryan Dick
e1af78c702
Make the tile_overlap input to MultiDiffusion *strictly* control the amount of overlap rather than being a lower bound.
2024-06-25 11:31:52 -07:00
Ryan Dick
c5588e1ff7
Add TODO comment explaining why some schedulers do not interact well with MultiDiffusion.
2024-06-25 11:31:52 -07:00
Ryan Dick
07ac292680
Consolidate _region_step() function - the separation wasn't really adding any value.
2024-06-25 11:31:52 -07:00
Ryan Dick
7c032ea604
(minor) Fix some documentation typos.
2024-06-25 11:31:52 -07:00
Ryan Dick
c5ee415607
Add progress image callbacks to TiledMultiDiffusionDenoiseLatentsInvocation.
2024-06-25 11:31:52 -07:00
Ryan Dick
fa40061eca
Remove the redundant init_timestep parameter that was being passed around. It is simply the first element of the timesteps array.
2024-06-25 11:31:52 -07:00
Ryan Dick
7cafd78d6e
Revert "Expose vae_decode(...) as a staticmethod on LatentsToImageInvocation."
...
This reverts commit 753239b48d
.
2024-06-25 11:31:52 -07:00
Ryan Dick
8a43656cf9
(minor) Address a few small TODOs.
2024-06-25 11:31:52 -07:00
Ryan Dick
bd3b6ca11b
Remove TiledStableDiffusionRefineInvocation. It was a proof-of-concept that has been superseded by TiledMultiDiffusionDenoiseLatents.
2024-06-25 11:31:52 -07:00
Ryan Dick
ceae5fe1db
(minor) typo
2024-06-25 11:31:52 -07:00
Ryan Dick
25067e4f0d
Delete rough notes.
2024-06-25 11:31:52 -07:00
Ryan Dick
fb0aaa3e6d
Fix advanced scheduler behaviour in MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
c22526b9d0
Fix handling of stateful schedulers in MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
c881882f73
Connect TiledMultiDiffusionDenoiseLatents to the MultiDiffusionPipeline backend.
2024-06-25 11:31:52 -07:00
Ryan Dick
36473fc52a
Remove regional conditioning logic from MultiDiffusionPipeline - it is not yet supported.
2024-06-25 11:31:52 -07:00
Ryan Dick
b9964ecc4a
Initial (untested) implementation of MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
051af802fe
Remove inpainting support from MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
3ff2e558d9
Remove IP-Adapter and T2I-Adapter support from MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
fc187c9253
Document plan for the rest of the MultiDiffusion implementation.
2024-06-25 11:31:52 -07:00
Ryan Dick
605f460c7d
Add detailed docstring to latents_from_embeddings().
2024-06-25 11:31:52 -07:00
Ryan Dick
60d1e686d8
Copy StableDiffusionGeneratorPipeline as a starting point for a new MultiDiffusionPipeline.
2024-06-25 11:31:52 -07:00
Ryan Dick
22704dd542
Simplify handling of inpainting models. Improve the in-code documentation around inpainting.
2024-06-25 11:31:52 -07:00
Ryan Dick
875673c9ba
Minor tidying of latents_from_embeddings(...).
2024-06-25 11:31:52 -07:00
Ryan Dick
f604575862
Consolidate latents_from_embeddings(...) and generate_latents_from_embeddings(...) into a single function.
2024-06-25 11:31:52 -07:00
Ryan Dick
80a67572f1
Fix invocation name of tiled_multi_diffusion_denoise_latents.
2024-06-25 11:31:52 -07:00
Ryan Dick
60ac937698
Improve clarity of comments regarded when 'noise' and 'latents' are expected to be set.
2024-06-25 11:31:52 -07:00
Ryan Dick
1e41949a02
Fix static check errors on imports in diffusers_pipeline.py.
2024-06-25 11:31:52 -07:00
Ryan Dick
5f0e330ed2
Remove a condition for handling inpainting models that never resolves to True. The same logic is already applied earlier by AddsMaskLatents.
2024-06-25 11:31:52 -07:00
Ryan Dick
9dd779b414
Add clarifying comment to explain why noise might be None in latents_from_embedding().
2024-06-25 11:31:52 -07:00
Ryan Dick
fa183025ac
Remove unused are_like_tensors() function.
2024-06-25 11:31:52 -07:00
Ryan Dick
d3c85aa91a
Remove unused StableDiffusionGeneratorPipeline.use_ip_adapter member.
2024-06-25 11:31:52 -07:00
Ryan Dick
82619602a5
Remove unused StableDiffusionGeneratorPipeline.control_model.
2024-06-25 11:31:52 -07:00
Ryan Dick
196f3b721d
Stricter typing for the is_gradient_mask: bool.
2024-06-25 11:31:52 -07:00
Ryan Dick
244c28859d
Fix typing of control_data to reflect that it can be None.
2024-06-25 11:31:52 -07:00
Ryan Dick
40ae174c41
Fix typing of timesteps and init_timestep.
2024-06-25 11:31:52 -07:00
Ryan Dick
afaebdf151
Fix typing to reflect that the callback arg to latents_from_embeddings is never None.
2024-06-25 11:31:52 -07:00
Ryan Dick
d661517d94
Move seed above optional params.
2024-06-25 11:31:52 -07:00
Ryan Dick
82a69a54ac
Simplify handling of AddsMaskGuidance, and fix some related type errors.
2024-06-25 11:31:52 -07:00
Ryan Dick
ffc28176fe
Remove unused num_inference_steps.
2024-06-25 11:31:52 -07:00
Ryan Dick
230e205541
WIP TiledMultiDiffusionDenoiseLatents. Updated parameter list and first half of the logic.
2024-06-25 11:31:52 -07:00
Ryan Dick
7e94350351
Tidy DenoiseLatentsInvocation.prep_control_data(...) and fix some type errors.
2024-06-25 11:31:52 -07:00
Ryan Dick
c4e8549c73
Make DenoiseLatentsInvocation.prep_control_data(...) a staticmethod so that it can be called externally.
2024-06-25 11:31:52 -07:00
Ryan Dick
350a210835
Copy TiledStableDiffusionRefineInvocation as a starting point for TiledMultiDiffusionDenoiseLatents.py
2024-06-25 11:31:52 -07:00
Ryan Dick
ed781dbb0c
Change tiling strategy to make TiledStableDiffusionRefineInvocation work with more tile shapes and overlaps.
2024-06-25 11:31:52 -07:00
Ryan Dick
b41ea963e7
Expose a few more params from TiledStableDiffusionRefineInvocation.
2024-06-25 11:31:52 -07:00
Ryan Dick
da5d105049
Add support for LoRA models in TiledStableDiffusionRefineInvocation.
2024-06-25 11:31:52 -07:00
Ryan Dick
5301770525
Add naive ControlNet support to TiledStableDiffusionRefineInvocation
2024-06-25 11:31:52 -07:00
Ryan Dick
d08e405017
Fix ControlNetModel type hint import source.
2024-06-25 11:31:52 -07:00
Ryan Dick
534640ccde
Rough prototype of TiledStableDiffusionRefineInvocation is working.
2024-06-25 11:31:52 -07:00
Ryan Dick
d5ab8cab5c
WIP - TiledStableDiffusionRefine
2024-06-25 11:31:52 -07:00
Ryan Dick
4767301ad3
Minor improvements to LatentsToImageInvocation type hints.
2024-06-25 11:31:52 -07:00
Ryan Dick
21d7ca45e6
Expose vae_decode(...) as a staticmethod on LatentsToImageInvocation.
2024-06-25 11:31:52 -07:00
Ryan Dick
020e8eb413
Fix return type of prepare_noise_and_latents(...).
2024-06-25 11:31:52 -07:00
Ryan Dick
3d49541c09
Make init_scheduler() a staticmethod on DenoiseLatentsInvocation so that it can be called externally.
2024-06-25 11:31:52 -07:00
Ryan Dick
1ef266845a
Only allow a single positive/negative prompt conditioning input for tiled refine.
2024-06-25 11:31:52 -07:00
Ryan Dick
a37589ca5f
WIP on TiledStableDiffusionRefine
2024-06-25 11:31:52 -07:00
Ryan Dick
171a505f5e
Convert several methods in DenoiseLatentsInvocation to staticmethods so that they can be called externally.
2024-06-25 11:31:52 -07:00
Ryan Dick
8004a0d5f5
Simplify the logic in prepare_noise_and_latents(...).
2024-06-25 11:31:52 -07:00
Ryan Dick
610a1fd611
Split out the prepare_noise_and_latents(...) logic in DenoiseLatentsInvocation so that it can be called from other invocations.
2024-06-25 11:31:52 -07:00
Ryan Dick
43108eec13
(minor) Add a TODO note to get_scheduler(...).
2024-06-25 11:31:52 -07:00
Lincoln Stein
b03073d888
[MM] Add support for probing and loading SDXL VAE checkpoint files ( #6524 )
...
* add support for probing and loading SDXL VAE checkpoint files
* broaden regexp probe for SDXL VAEs
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-06-20 02:57:27 +00:00
steffylo
a43d602f16
fix(queue): add clear_queue_on_startup config to clear problematic queues
2024-06-19 11:39:25 +10:00
Ryan Dick
79ceac2f82
(minor) Use SilenceWarnings as a decorator rather than a context manager to save an indentation level.
2024-06-18 15:06:22 -04:00
Ryan Dick
8e47e005a7
Tidy SilenceWarnings context manager:
...
- Fix type errors
- Enable SilenceWarnings to be used as both a context manager and a decorator
- Remove duplicate implementation
- Check the initial verbosity on __enter__() rather than __init__()
2024-06-18 15:06:22 -04:00
Ryan Dick
d13aafb514
Tidy denoise_latents.py imports to all use absolute import paths.
2024-06-18 15:06:22 -04:00
Brandon Rising
63a7e19dbf
Run ruff
2024-06-18 10:38:29 -04:00
Brandon Rising
fbc5a8ec65
Ignore validation on improperly formatted hashes (pytest)
2024-06-18 10:38:29 -04:00
Brandon Rising
8ce6e4540e
Run ruff
2024-06-18 10:38:29 -04:00
Brandon Rising
f14f377ede
Update validator list
2024-06-18 10:38:29 -04:00
Brandon Rising
1925f83f5e
Update validator list
2024-06-18 10:38:29 -04:00
Brandon Rising
3a5ad6d112
Update validator list
2024-06-18 10:38:29 -04:00
Brandon Rising
41a6bb45f3
Initial functionality
2024-06-18 10:38:29 -04:00
psychedelicious
cd70937b7f
feat(api): improved model install confirmation page styling & messaging
2024-06-17 10:51:08 +10:00
psychedelicious
f002bca2fa
feat(ui): handle new model_install_download_started
event
...
When a model install is initiated from outside the client, we now trigger the model manager tab's model install list to update.
- Handle new `model_install_download_started` event
- Handle `model_install_download_complete` event (this event is not new but was never handled)
- Update optimistic updates/cache invalidation logic to efficiently update the model install list
2024-06-17 10:07:10 +10:00
psychedelicious
56771de856
feat(ui): add redux actions for model_install_download_started
event
2024-06-17 09:52:46 +10:00
psychedelicious
c11478a94a
chore(ui): typegen
2024-06-17 09:51:18 +10:00
psychedelicious
fb694b3e17
feat(app): add model_install_download_started
event
...
Previously, we used `model_install_download_progress` for both download starting and progressing. When handling this event, we don't know which actual thing it represents.
Add `model_install_download_started` event to explicitly represent a model download started event.
2024-06-17 09:50:25 +10:00
psychedelicious
1bc98abc76
docs(ui): explain model install events
2024-06-17 09:33:46 +10:00
chainchompa
7f03b04b2f
Merge branch 'main' into chainchompa/model-install-deeplink
2024-06-14 17:16:25 -04:00
chainchompa
4029972530
formatting
2024-06-14 17:15:55 -04:00
chainchompa
328f160e88
refetch model installs when a new model install starts
2024-06-14 17:09:07 -04:00
chainchompa
aae318425d
added route for installing huggingface model from model marketplace
2024-06-14 17:08:39 -04:00
Ryan Dick
785bb1d9e4
Fix all comparisons against the DEFAULT_PRECISION constant. DEFAULT_PRECISION is a torch.dtype. Previously, it was compared to a str in a number of places where it would always resolve to False. This is a bugfix that results in a change to the default behavior. In practice, this will not change the behavior for many users, because it only causes a change in behavior if a users has configured float32 as their default precision.
2024-06-14 11:26:10 -07:00
Lincoln Stein
a3cb5da130
Improve RAM<->VRAM memory copy performance in LoRA patching and elsewhere ( #6490 )
...
* allow model patcher to optimize away the unpatching step when feasible
* remove lazy_offloading functionality
* allow model patcher to optimize away the unpatching step when feasible
* remove lazy_offloading functionality
* do not save original weights if there is a CPU copy of state dict
* Update invokeai/backend/model_manager/load/load_base.py
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
* documentation fixes requested during penultimate review
* add non-blocking=True parameters to several torch.nn.Module.to() calls, for slight performance increases
* fix ruff errors
* prevent crash on non-cuda-enabled systems
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
Co-authored-by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com>
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com>
2024-06-13 17:10:03 +00:00
blessedcoolant
568a4844f7
fix: other recursive imports
2024-06-10 04:12:20 -07:00
blessedcoolant
b1e56e2485
fix: SchedulerOutput not being imported correctly
2024-06-10 04:12:20 -07:00
Lincoln Stein
7d19af2caa
Merge branch 'main' into lstein/feat/simple-mm2-api
2024-06-08 18:55:06 -04:00
Ryan Dick
52c0c4a32f
Rename latent.py -> denoise_latents.py.
2024-06-07 09:28:42 -04:00
Ryan Dick
8f1afc032a
Move SchedulerInvocation to a new file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
854bca668a
Move CreateDenoiseMaskInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
fea9013cad
Move CreateGradientMaskInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
045caddee1
Move LatentsToImageInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
58697141bf
Move ImageToLatentsInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
5e419dbb56
Move ScaleLatentsInvocation and ResizeLatentsInvocation to their own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
595096bdcf
Move BlendLatentsInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
ed03d281e6
Move CropLatentsCoreInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00
Ryan Dick
0b37496c57
Move IdealSizeInvocation to its own file. No functional changes.
2024-06-07 09:28:42 -04:00