
"""simple docstring"""






from ..utils import is_flax_available, is_torch_available


if is_torch_available():
					from .autoencoder_kl import AutoencoderKL
					from .controlnet import ControlNetModel
					from .dual_transformer_ad import DualTransformeraDModel
					from .modeling_utils import ModelMixin
					from .prior_transformer import PriorTransformer
					from .ta_film_transformer import TaFilmDecoder
					from .transformer_ad import TransformeraDModel
					from .unet_ad import UNetaDModel
					from .unet_ad import UNetaDModel
					from .unet_ad_condition import UNetaDConditionModel
					from .unet_ad_condition import UNetaDConditionModel
					from .vq_model import VQModel

if is_flax_available():
					from .controlnet_flax import FlaxControlNetModel
					from .unet_ad_condition_flax import FlaxUNetaDConditionModel
					from .vae_flax import FlaxAutoencoderKL










"""simple docstring"""






from typing import Union

import fire
import torch
from tqdm import tqdm



def  __lowerCamelCase					(					lowerCAmelCase__       ,lowerCAmelCase__ = "cpu"       ,lowerCAmelCase__ = None				):
				A__							 =       torch.load(lowerCAmelCase__       ,map_location=lowerCAmelCase__				)
				for k, v in tqdm(state_dict.items()				):
								if not isinstance(lowerCAmelCase__       ,torch.Tensor				):
												raise TypeError('FP16 conversion only works on paths that are saved state dicts, like pytorch_model.bin'				)
								A__							 =       v.half()
				if save_path is None:  # overwrite src_path
								A__							 =       src_path
				torch.save(lowerCAmelCase__       ,lowerCAmelCase__				)


if __name__ == "__main__":
					fire.Fire(convert)


