{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":525592995,"defaultBranch":"main","name":"InvokeAI","ownerLogin":"invoke-ai","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-08-17T01:04:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/113954515?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717454030.0","currentOid":""},"activityList":{"items":[{"before":"0f3c1b872c8f029b2ee8a51230e6b8b0070697d4","after":"aa89cc6fcae89ad7dc6db5a766432b334dc77a3a","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-04T00:33:49.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"Merge branch 'lstein/feat/simple-mm2-api' of github.com:invoke-ai/InvokeAI into lstein/feat/simple-mm2-api","shortMessageHtmlLink":"Merge branch 'lstein/feat/simple-mm2-api' of github.com:invoke-ai/Inv…"}},{"before":"d4241c3ccacf3b36da9ac349a7a38ac82703cec8","after":"0f3c1b872c8f029b2ee8a51230e6b8b0070697d4","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-04T00:32:37.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"Merge branch 'main' into lstein/feat/simple-mm2-api","shortMessageHtmlLink":"Merge branch 'main' into lstein/feat/simple-mm2-api"}},{"before":"a9962fd104823458f658f989eb73eca1f8a81444","after":"d4241c3ccacf3b36da9ac349a7a38ac82703cec8","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-04T00:31:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"add support for generic loading of diffusers directories","shortMessageHtmlLink":"add support for generic loading of diffusers directories"}},{"before":null,"after":"325e0dba5cdce55d5e8e48d148752895d03eb1a5","ref":"refs/heads/psyche/fix/nodes/retain-seed-slerp-latents","pushedAt":"2024-06-03T22:33:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"fix(nodes): blend latents with weight=0 with DPMSolverSDEScheduler\n\n- Pass the seed from `latents_a` to the output latents. Fixed an issue where using `BlendLatentsInvocation` could result in different outputs during denoising even when the alpha or slerp weight was 0.\n\n## Explanation\n\n`LatentsField` has an optional `seed` field. During denoising, if this `seed` field is not present, we **fall back to 0 for the seed**. The seed is used during denoising in a few ways:\n\n1. Initializing the scheduler.\n\nThe seed is used in two places in `invokeai/app/invocations/latent.py`.\n\nThe `get_scheduler()` utility function has special handling for `DPMSolverSDEScheduler`, which appears to need a seed for deterministic outputs.\n\n`DenoiseLatentsInvocation.init_scheduler()` has special handling for schedulers that accept a generator - the generator needs to be seeded in a particular way. At the time of this commit, these are the Invoke-supported schedulers that need this seed:\n - DDIMScheduler\n - DDPMScheduler\n - DPMSolverMultistepScheduler\n - EulerAncestralDiscreteScheduler\n - EulerDiscreteScheduler\n - KDPM2AncestralDiscreteScheduler\n - LCMScheduler\n - TCDScheduler\n\n2. Adding noise during inpainting.\n\nIf a mask is used for denoising, and we are not using an inpainting model, we add noise to the unmasked area. If, for some reason, we have a mask but no noise, the seed is used to add noise.\n\nI wonder if we should instead assert that if a mask is provided, we also have noise.\n\nThis is done in `invokeai/backend/stable_diffusion/diffusers_pipeline.py` in `StableDiffusionGeneratorPipeline.latents_from_embeddings()`.\n\nWhen we create noise to be used in denoising, we are expected to set `LatentsField.seed` to the seed used to create the noise. This introduces some awkwardness when we manipulate any \"latents\" that will be used for denoising. We have to pass the seed along for every operation.\n\nIf the wrong seed or no seed is passed along, we can get unexpected outputs during denoising. One notable case relates to blending latents (slerping tensors).\n\nIf we slerp two noise tensors (`LatentsField`s) _without_ passing along the seed from the source latents, when we denoise with a seed-dependent scheduler*, the schedulers use the fallback seed of 0 and we get the wrong output. This is most obvious when slerping with a weight of 0, in which case we expect the exact same output after denoising.\n\n*It looks like only the DPMSolver* schedulers are affected, but I haven't tested all of them.\n\nPassing the seed along in the output fixes this issue.","shortMessageHtmlLink":"fix(nodes): blend latents with weight=0 with DPMSolverSDEScheduler"}},{"before":"8ef561614ba75986c73cd5ac0908731ebb08cfb3","after":"f97f19919247a8ee417644f7187a4eb0531bded2","ref":"refs/heads/lstein/feat/lora_patch_optimization","pushedAt":"2024-06-03T21:34:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"do not save original weights if there is a CPU copy of state dict","shortMessageHtmlLink":"do not save original weights if there is a CPU copy of state dict"}},{"before":"6d0467584424e940e0a2dd3194cdc0af25f58311","after":"f6fa122de7bb77624008df582ab2d76022af67fd","ref":"refs/heads/gh-pages","pushedAt":"2024-06-03T20:09:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 64523c4 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 64523c4 with MkDocs version: 1.6.0"}},{"before":"231de3c622874b11739641358bef5715fac2f7f2","after":null,"ref":"refs/heads/psyche/fix/ui/metadata-recall-fixes","pushedAt":"2024-06-03T20:01:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"}},{"before":"756108f6bd54b99cd2c5f4d96948204b4bc33e14","after":"64523c4b1b4add4d705cb98abe1b282af35c8bea","ref":"refs/heads/main","pushedAt":"2024-06-03T20:01:01.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"fix(ui): handle concat when recalling prompts\n\nThis required some minor reworking of of the logic to recall multiple items. I split this into a utility function that includes some special handling for concat.\n\nCloses #6478","shortMessageHtmlLink":"fix(ui): handle concat when recalling prompts"}},{"before":"32fa4a8d4509d8238e751c96b018d8b8f5ea74f3","after":"231de3c622874b11739641358bef5715fac2f7f2","ref":"refs/heads/psyche/fix/ui/metadata-recall-fixes","pushedAt":"2024-06-03T19:59:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"fix(ui): handle concat when recalling prompts\n\nThis required some minor reworking of of the logic to recall multiple items. I split this into a utility function that includes some special handling for concat.\n\nCloses #6478","shortMessageHtmlLink":"fix(ui): handle concat when recalling prompts"}},{"before":"59f2964e5bdfcda50456f7f4585d55ca1fa61db7","after":"6d0467584424e940e0a2dd3194cdc0af25f58311","ref":"refs/heads/gh-pages","pushedAt":"2024-06-03T18:45:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 756108f with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 756108f with MkDocs version: 1.6.0"}},{"before":"a5d6462d32ce94f1b314802f798f47298b227aba","after":null,"ref":"refs/heads/lstein/optimization/ip-image-encoder-vram","pushedAt":"2024-06-03T18:41:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hipsterusername","name":"Kent Keirsey","path":"/hipsterusername","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31807370?s=80&v=4"}},{"before":"6b24424727ecc5f0d1c6df0bf2c2e38c125520ac","after":"756108f6bd54b99cd2c5f4d96948204b4bc33e14","ref":"refs/heads/main","pushedAt":"2024-06-03T18:41:48.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"hipsterusername","name":"Kent Keirsey","path":"/hipsterusername","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31807370?s=80&v=4"},"commit":{"message":"Update invokeai/app/invocations/latent.py\n\nCo-authored-by: Ryan Dick ","shortMessageHtmlLink":"Update invokeai/app/invocations/latent.py"}},{"before":null,"after":"131e429a0f53c15c7ba9939dc4a0b69a1d4200f9","ref":"refs/heads/psyche/refactor/ui/gallery-pagination","pushedAt":"2024-06-03T11:33:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"wip pagination","shortMessageHtmlLink":"wip pagination"}},{"before":null,"after":"32fa4a8d4509d8238e751c96b018d8b8f5ea74f3","ref":"refs/heads/psyche/fix/ui/metadata-recall-fixes","pushedAt":"2024-06-03T08:35:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"fix(ui): handle concat when recalling prompts\n\nThis required some minor reworking of of the logic to recall multiple items. I split this into a utility function that includes some special handling for concat.\n\nCloses #6478","shortMessageHtmlLink":"fix(ui): handle concat when recalling prompts"}},{"before":"e7513f60887b358055e23631024e701d3ffca20d","after":"a9962fd104823458f658f989eb73eca1f8a81444","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T01:53:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"chore: ruff","shortMessageHtmlLink":"chore: ruff"}},{"before":"b6e026b68d16efe609c19b7d18d09d0a4f5a4145","after":"589a7959c019bc56e23ad3d989d015e443ffa20b","ref":"refs/heads/lstein/feat/multi-gpu","pushedAt":"2024-06-03T01:29:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"fixup unit tests and remove debugging statements","shortMessageHtmlLink":"fixup unit tests and remove debugging statements"}},{"before":"e26360f85bb6fa394fe674c5852e66b86c0474f9","after":"b6e026b68d16efe609c19b7d18d09d0a4f5a4145","ref":"refs/heads/lstein/feat/multi-gpu","pushedAt":"2024-06-03T01:19:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"revert to using deepcopy() method for making VRAM copies","shortMessageHtmlLink":"revert to using deepcopy() method for making VRAM copies"}},{"before":"c7f22b6a3b36e0b0bf7b2320ece7db1c84c22a3e","after":"e7513f60887b358055e23631024e701d3ffca20d","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T01:00:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"docs(mm): add comment in `move_model_to_device`","shortMessageHtmlLink":"docs(mm): add comment in move_model_to_device"}},{"before":"aa9695e377acb6f3485e564c4a117063889ada9c","after":"c7f22b6a3b36e0b0bf7b2320ece7db1c84c22a3e","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T00:46:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(mm): remove extraneous docstring\n\nIt's inherited from the ABC.","shortMessageHtmlLink":"tidy(mm): remove extraneous docstring"}},{"before":"c58ac1e80d14d23b9e00b0944830a7994c64bfaa","after":"aa9695e377acb6f3485e564c4a117063889ada9c","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T00:16:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(download): `_download_job` -> `_multifile_job`","shortMessageHtmlLink":"tidy(download): _download_job -> _multifile_job"}},{"before":"6cc6a452741f9eef5394300b06a0f2c3e4a4b4a0","after":"c58ac1e80d14d23b9e00b0944830a7994c64bfaa","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T00:11:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(mm): minor formatting","shortMessageHtmlLink":"tidy(mm): minor formatting"}},{"before":"521f907f587854612960ef5a27cc85a465f59d03","after":"6cc6a452741f9eef5394300b06a0f2c3e4a4b4a0","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-03T00:06:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"feat(download): add type for callback_name\n\nJust a bit of typo protection in lieu of full type safety for these methods, which is difficult due to the typing of `DownloadEventHandler`.","shortMessageHtmlLink":"feat(download): add type for callback_name"}},{"before":"ccdecf21a3dda1dc051eed59a5567aa60406f2f2","after":"521f907f587854612960ef5a27cc85a465f59d03","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-02T23:43:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(nodes): infill\n\n- Set `self._context=context` instead of passing it as an arg","shortMessageHtmlLink":"tidy(nodes): infill"}},{"before":"b1244400234cd3a44d4b060751c758d231a8da98","after":"ccdecf21a3dda1dc051eed59a5567aa60406f2f2","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-02T23:41:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(nodes): cnet processors\n\n- Set `self._context=context` instead of changing the type signature of `run_processor`\n- Tidy a few typing things","shortMessageHtmlLink":"tidy(nodes): cnet processors"}},{"before":"e3a70e598e0c566f2f43bc67588edc0d87c78738","after":"b1244400234cd3a44d4b060751c758d231a8da98","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-02T22:51:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"tidy(mm): move `load_model_from_url` from mm to invocation context","shortMessageHtmlLink":"tidy(mm): move load_model_from_url from mm to invocation context"}},{"before":"2276f327e5b7209a78c84d25d55aa3e1255e0e12","after":"e3a70e598e0c566f2f43bc67588edc0d87c78738","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-02T22:40:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"psychedelicious","name":"psychedelicious","path":"/psychedelicious","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4822129?s=80&v=4"},"commit":{"message":"docs(app): simplify docstring in invocation_context","shortMessageHtmlLink":"docs(app): simplify docstring in invocation_context"}},{"before":"debef2476e71519c9b9c02b9d02056cf5c0afec6","after":"e26360f85bb6fa394fe674c5852e66b86c0474f9","ref":"refs/heads/lstein/feat/multi-gpu","pushedAt":"2024-06-02T18:10:12.000Z","pushType":"push","commitsCount":457,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"merged multi-gpu support into new session_processor architecture","shortMessageHtmlLink":"merged multi-gpu support into new session_processor architecture"}},{"before":"ead1748c544696faf49c8e0d73366feaf34463a9","after":"2276f327e5b7209a78c84d25d55aa3e1255e0e12","ref":"refs/heads/lstein/feat/simple-mm2-api","pushedAt":"2024-06-02T13:45:32.000Z","pushType":"push","commitsCount":55,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"Merge branch 'main' into lstein/feat/simple-mm2-api","shortMessageHtmlLink":"Merge branch 'main' into lstein/feat/simple-mm2-api"}},{"before":"841c3bc2215acd860e2b096fbbbdc1c2e9d61ddf","after":"a5d6462d32ce94f1b314802f798f47298b227aba","ref":"refs/heads/lstein/optimization/ip-image-encoder-vram","pushedAt":"2024-06-02T13:34:38.000Z","pushType":"push","commitsCount":36,"pusher":{"login":"lstein","name":"Lincoln Stein","path":"/lstein","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/111189?s=80&v=4"},"commit":{"message":"Merge branch 'main' into lstein/optimization/ip-image-encoder-vram","shortMessageHtmlLink":"Merge branch 'main' into lstein/optimization/ip-image-encoder-vram"}},{"before":"f4fb8247c422ed4e534e05b7b4fc9f31766c6934","after":"59f2964e5bdfcda50456f7f4585d55ca1fa61db7","ref":"refs/heads/gh-pages","pushedAt":"2024-06-02T05:33:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 6b24424 with MkDocs version: 1.6.0","shortMessageHtmlLink":"Deployed 6b24424 with MkDocs version: 1.6.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEW3xZXQA","startCursor":null,"endCursor":null}},"title":"Activity · invoke-ai/InvokeAI"}