Add ControlNet-XS support (#5827)
* Check in 23-10-05
* check-in 23-10-06
* check-in 23-10-07 2pm
* check-in 23-10-08
* check-in 231009T1200
* check-in 230109
* checkin 231010
* init + forward run
* checkin
* checkin
* ControlNetXSModel is now saveable+loadable
* Forward works
* checkin
* Pipeline works with `no_control=True`
* checkin
* debug: save intermediate outputs of resnet
* checkin
* Understood time error + fixed connection error
* checkin
* checkin 231106T1600
* turned off detailled debug prints
* time debug logs
* small fix
* Separated control_scale for connections/time
* simplified debug logging
* Full denoising works with control scale = 0
* aligned logs
* Added control_attention_head_dim param
* Passing n_heads instead of dim_head into ctrl unet
* Fixed ctrl midblock bug
* Cleanup
* Fixed time dtype bug
* checkin
* 1. from_unet, 2. base passed, 3. all unet params
* checkin
* Finished docstrings
* cleanup
* make style
* checkin
* more tests pass
* Fixed tests
* removed debug logs
* make style + quality
* make fix-copies
* fixed documentation
* added cnxs to doc toc
* added control start/end param
* Update controlnetxs_sdxl.md
* tried to fix copies..
* Fixed norm_num_groups in from_unet
* added sdxl-depth test
* created SD2.1 controlnet-xs pipeline
* re-added debug logs
* Adjusting group norm ; readded logs
* Added debug log statements
* removed debug logs ; started tests for sd2.1
* updated sd21 tests
* fixed tests
* fixed tests
* slightly increased error tolerance for 1 test
* make style & quality
* Added docs for CNXS-SD
* make fix-copies
* Fixed sd compile test ; fixed gradient ckpointing
* vae downs = cnxs conditioning downs; removed guess
* make style & quality
* Fixed tests
* fixed test
* Incorporated review feedback
* simplified control model surgery
* fixed tests & make style / quality
* Updated docs; deleted pip & cursor files
* Rolled back minimal change to resnet
* Update resnet.py
* Update resnet.py
* Update src/diffusers/models/controlnetxs.py
Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
* Update src/diffusers/models/controlnetxs.py
Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
* Incorporated review feedback
* Update docs/source/en/api/pipelines/controlnetxs_sdxl.md
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update docs/source/en/api/pipelines/controlnetxs.md
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update docs/source/en/api/pipelines/controlnetxs.md
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update docs/source/en/api/pipelines/controlnetxs.md
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update src/diffusers/models/controlnetxs.py
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update src/diffusers/models/controlnetxs.py
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update docs/source/en/api/pipelines/controlnetxs.md
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Update src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
* Incorporated doc feedback
---------
Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
Co-authored-by: Steven Liu <59462357+stevhliu@users.noreply.github.com>
Co-authored-by: Dhruv Nair <dhruv.nair@gmail.com>