• UmerHA's avatar
    Fixing implementation of ControlNet-XS (#6772) · fda1531d
    UmerHA authored
    
    
    * CheckIn - created DownSubBlocks
    
    * Added extra channels, implemented subblock fwd
    
    * Fixed connection sizes
    
    * checkin
    
    * Removed iter, next in forward
    
    * Models for SD21 & SDXL run through
    
    * Added back pipelines, cleared up connections
    
    * Cleaned up connection creation
    
    * added debug logs
    
    * updated logs
    
    * logs: added input loading
    
    * Update umer_debug_logger.py
    
    * log: Loading hint
    
    * Update umer_debug_logger.py
    
    * added logs
    
    * Changed debug logging
    
    * debug: added more logs
    
    * Fixed num_norm_groups
    
    * Debug: Logging all of SDXL input
    
    * Update umer_debug_logger.py
    
    * debug: updated logs
    
    * checkim
    
    * Readded tests
    
    * Removed debug logs
    
    * Fixed Slow Tests
    
    * Added value ckecks | Updated model_cpu_offload_seq
    
    * accelerate-offloading works ; fast tests work
    
    * Made unet & addon explicit in controlnet
    
    * Updated slow tests
    
    * Added dtype/device to ControlNetXS
    
    * Filled in test model paths
    
    * Added image_encoder/feature_extractor to XL pipe
    
    * Fixed fast tests
    
    * Added comments and docstrings
    
    * Fixed copies
    
    * Added docs ; Updates slow tests
    
    * Moved changes to UNetMidBlock2DCrossAttn
    
    * tiny cleanups
    
    * Removed stray prints
    
    * Removed ip adapters + freeU
    
    - Removed ip adapters + freeU as they don't make sense for ControlNet-XS
    - Fixed imports of UNet components
    
    * Fixed test_save_load_float16
    
    * Make style, quality, fix-copies
    
    * Changed loading/saving API for ControlNetXS
    
    - Changed loading/saving API for ControlNetXS
    - other small fixes
    
    * Removed ControlNet-XS from research examples
    
    * Make style, quality, fix-copies
    
    * Small fixes
    
    - deleted ControlNetXSModel.init_original
    - added time_embedding_mix to StableDiffusionControlNetXSPipeline .from_pretrained / StableDiffusionXLControlNetXSPipeline.from_pretrained
    - fixed copy hints
    
    * checkin May 11 '23
    
    * CheckIn Mar 12 '24
    
    * Fixed tests for SD
    
    * Added tests for UNetControlNetXSModel
    
    * Fixed SDXL tests
    
    * cleanup
    
    * Delete Pipfile
    
    * CheckIn Mar 20
    
    Started replacing sub blocks  by `ControlNetXSCrossAttnDownBlock2D` and `ControlNetXSCrossAttnUplock2D`
    
    * check-in Mar 23
    
    * checkin 24 Mar
    
    * Created init for UNetCnxs and CnxsAddon
    
    * CheckIn
    
    * Made from_modules, from_unet and no_control work
    
    * make style,quality,fix-copies & small changes
    
    * Fixed freezing
    
    * Added gradient ckpt'ing; fixed tests
    
    * Fix slow tests(+compile) ; clear naming confusion
    
    * Don't create UNet in init ; removed class_emb
    
    * Incorporated review feedback
    
    - Deleted get_base_pipeline /  get_controlnet_addon for pipes
    - Pipes inherit from StableDiffusionXLPipeline
    - Made module dicts for cnxs-addon's down/mid/up classes
    - Added support for qkv fusion and freeU
    
    * Make style, quality, fix-copies
    
    * Implemented review feedback
    
    * Removed compatibility check for vae/ctrl embedding
    
    * make style, quality, fix-copies
    
    * Delete Pipfile
    
    * Integrated review feedback
    
    - Importing ControlNetConditioningEmbedding now
    - get_down/mid/up_block_addon now outside class
    - renamed `do_control` to `apply_control`
    
    * Reduced size of test tensors
    
    For this, added `norm_num_groups` as parameter everywhere
    
    * Renamed cnxs-`Addon` to cnxs-`Adapter`
    
    - `ControlNetXSAddon` -> `ControlNetXSAdapter`
    - `ControlNetXSAddonDownBlockComponents` -> `DownBlockControlNetXSAdapter`, and similarly for mid/up
    - `get_mid_block_addon` -> `get_mid_block_adapter`, and similarly for mid/up
    
    * Fixed save_pretrained/from_pretrained bug
    
    * Removed redundant code
    
    ---------
    Co-authored-by: default avatarDhruv Nair <dhruv.nair@gmail.com>
    fda1531d
__init__.py 4.37 KB