



from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCamelCase_	   =			logging.get_logger(__name__)



class        _SCREAMING_SNAKE_CASE		(       _lowerCAmelCase ):
   a_							:      Any						= "timm_backbone"





   def __init__(self    ,  UpperCAmelCase=None    ,  UpperCAmelCase=3    ,  UpperCAmelCase=True    ,  UpperCAmelCase=True    ,  UpperCAmelCase=None    ,  **UpperCAmelCase    ,  ):
       '''simple docstring'''







       super().__init__(**SCREAMING_SNAKE_CASE__)
       __UpperCAmelCase			 =backbone
       __UpperCAmelCase			 =num_channels
       __UpperCAmelCase			 =features_only
       __UpperCAmelCase			 =use_pretrained_backbone
       __UpperCAmelCase			 =True
       __UpperCAmelCase			 =out_indices if out_indices is not None else (-1,)





from ...utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_torch_available,
    is_transformers_available,
)


try:
 if not (is_transformers_available() and is_torch_available()):
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
 from .multicontrolnet import MultiControlNetModel
 from .pipeline_controlnet import StableDiffusionControlNetPipeline
 from .pipeline_controlnet_imgaimg import StableDiffusionControlNetImgaImgPipeline
 from .pipeline_controlnet_inpaint import StableDiffusionControlNetInpaintPipeline


if is_transformers_available() and is_flax_available():
 from .pipeline_flax_controlnet import FlaxStableDiffusionControlNetPipeline


