
"""simple docstring"""





import argparse
import json
import os

import fairseq
import torch
from fairseq.data import Dictionary

# Register SEW's fairseq modules
from sew_asapp import tasks  # noqa: F401

from transformers import (
    SEWConfig,
    SEWForCTC,
    SEWModel,
    WavaVecaCTCTokenizer,
    WavaVecaFeatureExtractor,
    WavaVecaProcessor,
    logging,
)


logging.set_verbosity_info()
__magic_name__       =			logging.get_logger(__name__)

__magic_name__       =			{
    "post_extract_proj": "feature_projection",
    "encoder.pos_conv.0": "encoder.pos_conv_embed.conv",
    "self_attn.k_proj": "encoder.layers.*.attention.k_proj",
    "self_attn.v_proj": "encoder.layers.*.attention.v_proj",
    "self_attn.q_proj": "encoder.layers.*.attention.q_proj",
    "self_attn.out_proj": "encoder.layers.*.attention.out_proj",
    "self_attn_layer_norm": "encoder.layers.*.layer_norm",
    "fc1": "encoder.layers.*.feed_forward.intermediate_dense",
    "fc2": "encoder.layers.*.feed_forward.output_dense",
    "final_layer_norm": "encoder.layers.*.final_layer_norm",
    "encoder.upsample.0": "encoder.upsample.projection",
    "encoder.layer_norm": "encoder.layer_norm",
    "w2v_model.layer_norm": "layer_norm",
    "w2v_encoder.proj": "lm_head",
    "mask_emb": "masked_spec_embed",
}



def 						_lowerCAmelCase				(				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_				):
		for attribute in key.split("""."""				):
				__SCREAMING_SNAKE_CASE            = getattr(UpperCamelCase_  ,				UpperCamelCase_				)

		if weight_type is not None:
				__SCREAMING_SNAKE_CASE            = getattr(UpperCamelCase_  ,				UpperCamelCase_				).shape
		else:
				__SCREAMING_SNAKE_CASE            = hf_pointer.shape

		assert hf_shape == value.shape, (
		    f"Shape of hf {key + '.' + weight_type if weight_type is not None else ''} is {hf_shape}, but should be"
		    f" {value.shape} for {full_name}"
		)

		if weight_type == "weight":
				__SCREAMING_SNAKE_CASE            = value
		elif weight_type == "weight_g":
				__SCREAMING_SNAKE_CASE            = value
		elif weight_type == "weight_v":
				__SCREAMING_SNAKE_CASE            = value
		elif weight_type == "bias":
				__SCREAMING_SNAKE_CASE            = value
		else:
				__SCREAMING_SNAKE_CASE            = value

		logger.info(f"{key + '.' + weight_type if weight_type is not None else ''} was initialized from {full_name}."				)



def 						_lowerCAmelCase				(				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_				):
		__SCREAMING_SNAKE_CASE            = []
		__SCREAMING_SNAKE_CASE            = fairseq_model.state_dict()

		__SCREAMING_SNAKE_CASE            = hf_model.sew.feature_extractor if is_finetuned else hf_model.feature_extractor

		for name, value in fairseq_dict.items():
				__SCREAMING_SNAKE_CASE            = False
				if "conv_layers" in name:
						load_conv_layer(
						    UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				hf_model.config.feat_extract_norm == """group"""  ,				)
						__SCREAMING_SNAKE_CASE            = True
				else:
						for key, mapped_key in MAPPING.items():
								__SCREAMING_SNAKE_CASE            = """sew.""" + mapped_key if (is_finetuned and mapped_key != """lm_head""") else mapped_key

								if key in name or key.split("""w2v_model."""				)[-1] == name.split("""."""				)[0]:
										__SCREAMING_SNAKE_CASE            = True
										if "*" in mapped_key:
												__SCREAMING_SNAKE_CASE            = name.split(UpperCamelCase_				)[0].split("""."""				)[-2]
												__SCREAMING_SNAKE_CASE            = mapped_key.replace("""*"""  ,				UpperCamelCase_				)
										if "weight_g" in name:
												__SCREAMING_SNAKE_CASE            = """weight_g"""
										elif "weight_v" in name:
												__SCREAMING_SNAKE_CASE            = """weight_v"""
										elif "weight" in name:
												__SCREAMING_SNAKE_CASE            = """weight"""
										elif "bias" in name:
												__SCREAMING_SNAKE_CASE            = """bias"""
										else:
												__SCREAMING_SNAKE_CASE            = None
										set_recursively(UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_				)
								continue
				if not is_used:
						unused_weights.append(UpperCamelCase_				)

		logger.warning(f"Unused weights: {unused_weights}"				)



def 						_lowerCAmelCase				(				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_				):
		__SCREAMING_SNAKE_CASE            = full_name.split("""conv_layers."""				)[-1]
		__SCREAMING_SNAKE_CASE            = name.split("""."""				)
		__SCREAMING_SNAKE_CASE            = int(items[0]				)
		__SCREAMING_SNAKE_CASE            = int(items[1]				)

		if type_id == 0:
				if "bias" in name:
						assert value.shape == feature_extractor.conv_layers[layer_id].conv.bias.data.shape, (
						    f"{full_name} has size {value.shape}, but"
						    f" {feature_extractor.conv_layers[layer_id].conv.bias.data.shape} was found."
						)
						__SCREAMING_SNAKE_CASE            = value
						logger.info(f"Feat extract conv layer {layer_id} was initialized from {full_name}."				)
				elif "weight" in name:
						assert value.shape == feature_extractor.conv_layers[layer_id].conv.weight.data.shape, (
						    f"{full_name} has size {value.shape}, but"
						    f" {feature_extractor.conv_layers[layer_id].conv.weight.data.shape} was found."
						)
						__SCREAMING_SNAKE_CASE            = value
						logger.info(f"Feat extract conv layer {layer_id} was initialized from {full_name}."				)
		elif (type_id == 2 and not use_group_norm) or (type_id == 2 and layer_id == 0 and use_group_norm):
				if "bias" in name:
						assert value.shape == feature_extractor.conv_layers[layer_id].layer_norm.bias.data.shape, (
						    f"{full_name} has size {value.shape}, but {feature_extractor[layer_id].layer_norm.bias.data.shape} was"
						    " found."
						)
						__SCREAMING_SNAKE_CASE            = value
						logger.info(f"Feat extract layer norm weight of layer {layer_id} was initialized from {full_name}."				)
				elif "weight" in name:
						assert value.shape == feature_extractor.conv_layers[layer_id].layer_norm.weight.data.shape, (
						    f"{full_name} has size {value.shape}, but"
						    f" {feature_extractor[layer_id].layer_norm.weight.data.shape} was found."
						)
						__SCREAMING_SNAKE_CASE            = value
						logger.info(f"Feat extract layer norm weight of layer {layer_id} was initialized from {full_name}."				)
		else:
				unused_weights.append(UpperCamelCase_				)



def 						_lowerCAmelCase				(				UpperCamelCase_  ,				UpperCamelCase_				):
		__SCREAMING_SNAKE_CASE            = SEWConfig()
		if is_finetuned:
				__SCREAMING_SNAKE_CASE            = model.wav_encoder.wav_model.cfg
		else:
				__SCREAMING_SNAKE_CASE            = model.cfg

		__SCREAMING_SNAKE_CASE            = fs_config.conv_bias
		__SCREAMING_SNAKE_CASE            = eval(fs_config.conv_feature_layers				)
		__SCREAMING_SNAKE_CASE            = [x[0] for x in conv_layers]
		__SCREAMING_SNAKE_CASE            = [x[1] for x in conv_layers]
		__SCREAMING_SNAKE_CASE            = [x[2] for x in conv_layers]
		__SCREAMING_SNAKE_CASE            = """gelu"""
		__SCREAMING_SNAKE_CASE            = """layer""" if fs_config.extractor_mode == """layer_norm""" else """group"""
		__SCREAMING_SNAKE_CASE            = 0.0
		__SCREAMING_SNAKE_CASE            = fs_config.activation_fn.name
		__SCREAMING_SNAKE_CASE            = fs_config.encoder_embed_dim
		__SCREAMING_SNAKE_CASE            = 0.02
		__SCREAMING_SNAKE_CASE            = fs_config.encoder_ffn_embed_dim
		__SCREAMING_SNAKE_CASE            = 1e-5
		__SCREAMING_SNAKE_CASE            = fs_config.encoder_layerdrop
		__SCREAMING_SNAKE_CASE            = fs_config.encoder_attention_heads
		__SCREAMING_SNAKE_CASE            = fs_config.conv_pos_groups
		__SCREAMING_SNAKE_CASE            = fs_config.conv_pos
		__SCREAMING_SNAKE_CASE            = len(UpperCamelCase_				)
		__SCREAMING_SNAKE_CASE            = fs_config.encoder_layers
		__SCREAMING_SNAKE_CASE            = fs_config.squeeze_factor

		# take care of any params that are overridden by the Wav2VecCtc model
		if is_finetuned:
				__SCREAMING_SNAKE_CASE            = model.cfg
				__SCREAMING_SNAKE_CASE            = fs_config.final_dropout
				__SCREAMING_SNAKE_CASE            = fs_config.layerdrop
		__SCREAMING_SNAKE_CASE            = fs_config.activation_dropout
		__SCREAMING_SNAKE_CASE            = fs_config.mask_prob > 0 or fs_config.mask_channel_prob > 0
		__SCREAMING_SNAKE_CASE            = fs_config.attention_dropout
		__SCREAMING_SNAKE_CASE            = fs_config.dropout_input
		__SCREAMING_SNAKE_CASE            = fs_config.dropout
		__SCREAMING_SNAKE_CASE            = fs_config.mask_channel_length
		__SCREAMING_SNAKE_CASE            = fs_config.mask_channel_prob
		__SCREAMING_SNAKE_CASE            = fs_config.mask_length
		__SCREAMING_SNAKE_CASE            = fs_config.mask_prob

		__SCREAMING_SNAKE_CASE            = """Wav2Vec2FeatureExtractor"""
		__SCREAMING_SNAKE_CASE            = """Wav2Vec2CTCTokenizer"""

		return config



@torch.no_grad()
def 						_lowerCAmelCase				(				UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_=None  ,				UpperCamelCase_=None  ,				UpperCamelCase_=True				):

		if is_finetuned:
				__SCREAMING_SNAKE_CASE       ,__SCREAMING_SNAKE_CASE       ,__SCREAMING_SNAKE_CASE            = fairseq.checkpoint_utils.load_model_ensemble_and_task(
				    [checkpoint_path]  ,				arg_overrides={"""data""": """/""".join(dict_path.split("""/"""				)[:-1]				)}				)
		else:
				__SCREAMING_SNAKE_CASE       ,__SCREAMING_SNAKE_CASE       ,__SCREAMING_SNAKE_CASE            = fairseq.checkpoint_utils.load_model_ensemble_and_task([checkpoint_path]				)

		if config_path is not None:
				__SCREAMING_SNAKE_CASE            = SEWConfig.from_pretrained(UpperCamelCase_				)
		else:
				__SCREAMING_SNAKE_CASE            = convert_config(model[0]  ,				UpperCamelCase_				)
		__SCREAMING_SNAKE_CASE            = model[0].eval()

		__SCREAMING_SNAKE_CASE            = True if config.feat_extract_norm == """layer""" else False
		__SCREAMING_SNAKE_CASE            = WavaVecaFeatureExtractor(
		    feature_size=1  ,				sampling_rate=1_6000  ,				padding_value=0  ,				do_normalize=UpperCamelCase_  ,				return_attention_mask=UpperCamelCase_  ,				)

		if is_finetuned:
				if dict_path:
						__SCREAMING_SNAKE_CASE            = Dictionary.load(UpperCamelCase_				)

						# important change bos & pad token id since CTC symbol is <pad> and
						# not <s> as in fairseq
						__SCREAMING_SNAKE_CASE            = target_dict.pad_index
						__SCREAMING_SNAKE_CASE            = target_dict.bos_index
						__SCREAMING_SNAKE_CASE            = target_dict.pad_index
						__SCREAMING_SNAKE_CASE            = target_dict.bos_index
						__SCREAMING_SNAKE_CASE            = target_dict.eos_index
						__SCREAMING_SNAKE_CASE            = len(target_dict.symbols				)
						__SCREAMING_SNAKE_CASE            = os.path.join(UpperCamelCase_  ,				"""vocab.json"""				)
						if not os.path.isdir(UpperCamelCase_				):
								logger.error("""--pytorch_dump_folder_path ({}) should be a directory""".format(UpperCamelCase_				)				)
								return
						os.makedirs(UpperCamelCase_  ,				exist_ok=UpperCamelCase_				)
						with open(UpperCamelCase_  ,				"""w"""  ,				encoding="""utf-8"""				) as vocab_handle:
								json.dump(target_dict.indices  ,				UpperCamelCase_				)
						__SCREAMING_SNAKE_CASE            = WavaVecaCTCTokenizer(
						    UpperCamelCase_  ,				unk_token=target_dict.unk_word  ,				pad_token=target_dict.pad_word  ,				bos_token=target_dict.bos_word  ,				eos_token=target_dict.eos_word  ,				word_delimiter_token="""|"""  ,				do_lower_case=UpperCamelCase_  ,				)
						__SCREAMING_SNAKE_CASE            = WavaVecaProcessor(feature_extractor=UpperCamelCase_  ,				tokenizer=UpperCamelCase_				)
						processor.save_pretrained(UpperCamelCase_				)

				__SCREAMING_SNAKE_CASE            = SEWForCTC(UpperCamelCase_				)
		else:
				__SCREAMING_SNAKE_CASE            = SEWModel(UpperCamelCase_				)
				feature_extractor.save_pretrained(UpperCamelCase_				)

		recursively_load_weights(UpperCamelCase_  ,				UpperCamelCase_  ,				UpperCamelCase_				)

		hf_model.save_pretrained(UpperCamelCase_				)


if __name__ == "__main__":
							__magic_name__       =			argparse.ArgumentParser()
							parser.add_argument("--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model.")
							parser.add_argument("--checkpoint_path", default=None, type=str, help="Path to fairseq checkpoint")
							parser.add_argument("--dict_path", default=None, type=str, help="Path to dict of fine-tuned model")
							parser.add_argument("--config_path", default=None, type=str, help="Path to hf config.json of model to convert")
							parser.add_argument(
							    "--is_finetuned", action="store_true", help="Whether the model to convert is a fine-tuned model or not"
							)
							__magic_name__       =			parser.parse_args()
							convert_sew_checkpoint(
							    args.checkpoint_path, args.pytorch_dump_folder_path, args.config_path, args.dict_path, args.is_finetuned
							)






"""simple docstring"""





__magic_name__       =			"0.18.2"

from .configuration_utils import ConfigMixin
from .utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_inflect_available,
    is_invisible_watermark_available,
    is_k_diffusion_available,
    is_k_diffusion_version,
    is_librosa_available,
    is_note_seq_available,
    is_onnx_available,
    is_scipy_available,
    is_torch_available,
    is_torchsde_available,
    is_transformers_available,
    is_transformers_version,
    is_unidecode_available,
    logging,
)


try:
							if not is_onnx_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_onnx_objects import *  # noqa F403
else:
							from .pipelines import OnnxRuntimeModel

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_pt_objects import *  # noqa F403
else:
							from .models import (
							    AutoencoderKL,
							    ControlNetModel,
							    ModelMixin,
							    PriorTransformer,
							    TaFilmDecoder,
							    TransformeraDModel,
							    UNetaDModel,
							    UNetaDConditionModel,
							    UNetaDModel,
							    UNetaDConditionModel,
							    VQModel,
							)
							from .optimization import (
							    get_constant_schedule,
							    get_constant_schedule_with_warmup,
							    get_cosine_schedule_with_warmup,
							    get_cosine_with_hard_restarts_schedule_with_warmup,
							    get_linear_schedule_with_warmup,
							    get_polynomial_decay_schedule_with_warmup,
							    get_scheduler,
							)
							from .pipelines import (
							    AudioPipelineOutput,
							    ConsistencyModelPipeline,
							    DanceDiffusionPipeline,
							    DDIMPipeline,
							    DDPMPipeline,
							    DiffusionPipeline,
							    DiTPipeline,
							    ImagePipelineOutput,
							    KarrasVePipeline,
							    LDMPipeline,
							    LDMSuperResolutionPipeline,
							    PNDMPipeline,
							    RePaintPipeline,
							    ScoreSdeVePipeline,
							)
							from .schedulers import (
							    CMStochasticIterativeScheduler,
							    DDIMInverseScheduler,
							    DDIMParallelScheduler,
							    DDIMScheduler,
							    DDPMParallelScheduler,
							    DDPMScheduler,
							    DEISMultistepScheduler,
							    DPMSolverMultistepInverseScheduler,
							    DPMSolverMultistepScheduler,
							    DPMSolverSinglestepScheduler,
							    EulerAncestralDiscreteScheduler,
							    EulerDiscreteScheduler,
							    HeunDiscreteScheduler,
							    IPNDMScheduler,
							    KarrasVeScheduler,
							    KDPMaAncestralDiscreteScheduler,
							    KDPMaDiscreteScheduler,
							    PNDMScheduler,
							    RePaintScheduler,
							    SchedulerMixin,
							    ScoreSdeVeScheduler,
							    UnCLIPScheduler,
							    UniPCMultistepScheduler,
							    VQDiffusionScheduler,
							)
							from .training_utils import EMAModel

try:
							if not (is_torch_available() and is_scipy_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
else:
							from .schedulers import LMSDiscreteScheduler

try:
							if not (is_torch_available() and is_torchsde_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_torchsde_objects import *  # noqa F403
else:
							from .schedulers import DPMSolverSDEScheduler

try:
							if not (is_torch_available() and is_transformers_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
							from .pipelines import (
							    AltDiffusionImgaImgPipeline,
							    AltDiffusionPipeline,
							    AudioLDMPipeline,
							    CycleDiffusionPipeline,
							    IFImgaImgPipeline,
							    IFImgaImgSuperResolutionPipeline,
							    IFInpaintingPipeline,
							    IFInpaintingSuperResolutionPipeline,
							    IFPipeline,
							    IFSuperResolutionPipeline,
							    ImageTextPipelineOutput,
							    KandinskyImgaImgPipeline,
							    KandinskyInpaintPipeline,
							    KandinskyPipeline,
							    KandinskyPriorPipeline,
							    KandinskyVaaControlnetImgaImgPipeline,
							    KandinskyVaaControlnetPipeline,
							    KandinskyVaaImgaImgPipeline,
							    KandinskyVaaInpaintPipeline,
							    KandinskyVaaPipeline,
							    KandinskyVaaPriorEmbaEmbPipeline,
							    KandinskyVaaPriorPipeline,
							    LDMTextToImagePipeline,
							    PaintByExamplePipeline,
							    SemanticStableDiffusionPipeline,
							    ShapEImgaImgPipeline,
							    ShapEPipeline,
							    StableDiffusionAttendAndExcitePipeline,
							    StableDiffusionControlNetImgaImgPipeline,
							    StableDiffusionControlNetInpaintPipeline,
							    StableDiffusionControlNetPipeline,
							    StableDiffusionDepthaImgPipeline,
							    StableDiffusionDiffEditPipeline,
							    StableDiffusionImageVariationPipeline,
							    StableDiffusionImgaImgPipeline,
							    StableDiffusionInpaintPipeline,
							    StableDiffusionInpaintPipelineLegacy,
							    StableDiffusionInstructPixaPixPipeline,
							    StableDiffusionLatentUpscalePipeline,
							    StableDiffusionLDMaDPipeline,
							    StableDiffusionModelEditingPipeline,
							    StableDiffusionPanoramaPipeline,
							    StableDiffusionParadigmsPipeline,
							    StableDiffusionPipeline,
							    StableDiffusionPipelineSafe,
							    StableDiffusionPixaPixZeroPipeline,
							    StableDiffusionSAGPipeline,
							    StableDiffusionUpscalePipeline,
							    StableUnCLIPImgaImgPipeline,
							    StableUnCLIPPipeline,
							    TextToVideoSDPipeline,
							    TextToVideoZeroPipeline,
							    UnCLIPImageVariationPipeline,
							    UnCLIPPipeline,
							    UniDiffuserModel,
							    UniDiffuserPipeline,
							    UniDiffuserTextDecoder,
							    VersatileDiffusionDualGuidedPipeline,
							    VersatileDiffusionImageVariationPipeline,
							    VersatileDiffusionPipeline,
							    VersatileDiffusionTextToImagePipeline,
							    VideoToVideoSDPipeline,
							    VQDiffusionPipeline,
							)

try:
							if not (is_torch_available() and is_transformers_available() and is_invisible_watermark_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_transformers_and_invisible_watermark_objects import *  # noqa F403
else:
							from .pipelines import StableDiffusionXLImgaImgPipeline, StableDiffusionXLPipeline

try:
							if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
							from .pipelines import StableDiffusionKDiffusionPipeline

try:
							if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
else:
							from .pipelines import (
							    OnnxStableDiffusionImgaImgPipeline,
							    OnnxStableDiffusionInpaintPipeline,
							    OnnxStableDiffusionInpaintPipelineLegacy,
							    OnnxStableDiffusionPipeline,
							    OnnxStableDiffusionUpscalePipeline,
							    StableDiffusionOnnxPipeline,
							)

try:
							if not (is_torch_available() and is_librosa_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_torch_and_librosa_objects import *  # noqa F403
else:
							from .pipelines import AudioDiffusionPipeline, Mel

try:
							if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
							from .pipelines import SpectrogramDiffusionPipeline

try:
							if not is_flax_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_flax_objects import *  # noqa F403
else:
							from .models.controlnet_flax import FlaxControlNetModel
							from .models.modeling_flax_utils import FlaxModelMixin
							from .models.unet_ad_condition_flax import FlaxUNetaDConditionModel
							from .models.vae_flax import FlaxAutoencoderKL
							from .pipelines import FlaxDiffusionPipeline
							from .schedulers import (
							    FlaxDDIMScheduler,
							    FlaxDDPMScheduler,
							    FlaxDPMSolverMultistepScheduler,
							    FlaxKarrasVeScheduler,
							    FlaxLMSDiscreteScheduler,
							    FlaxPNDMScheduler,
							    FlaxSchedulerMixin,
							    FlaxScoreSdeVeScheduler,
							)


try:
							if not (is_flax_available() and is_transformers_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
else:
							from .pipelines import (
							    FlaxStableDiffusionControlNetPipeline,
							    FlaxStableDiffusionImgaImgPipeline,
							    FlaxStableDiffusionInpaintPipeline,
							    FlaxStableDiffusionPipeline,
							)

try:
							if not (is_note_seq_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from .utils.dummy_note_seq_objects import *  # noqa F403
else:
							from .pipelines import MidiProcessor




