* decouple python from js
* bring the painterro btn back
* refactor painterro code
replicate 7ddbd6533a as close as possible
* improve reliability
* fix big brain import
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
* Implement masking during sampling to improve blending
- Almost inpainting-like behaviour
- Works best with small erased areas
- Denoiser strength to 1 results to completely in-paint with no previous image info
- Uncrop kind of sometimes works, but not really
- DDIM changes depend on a PR in stable-diffusion core
* Remove old init_masking code on save, as the masked image is applied during sampling
Co-authored-by: anon-hlhl <>
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
Share doesn't work due to a gradio bug, not sure why someone added that. Especially because queuing was broken with share even before we switched to Blocks interface (which is the reason for the share issue).
Some people are using other workarounds to share with friends so need queuing, iirc it doesn't cause any issues to have queuing enabled by default.
This will let you set the gpu id which gfgpan and esrgan load on. I don't have multiple gpus so i can't test it properly myself but the code is working without errors when I use --extra-models-gpu --gfpgan-gpu 0 --esrgan-gpu 0
Note: you will want to use this in combination with --gpu to ensure the main model loads of the gpu you want it to, otherwise the default is id 0
modelFS must be removed from GPU memory after each batch is generated, otherwise both modelFS and modelCS will be loaded into memory at once and the script will OOM