


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


a : int		=				{"configuration_speech_encoder_decoder": ["SpeechEncoderDecoderConfig"]}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : Optional[int]		=				["SpeechEncoderDecoderModel"]

try:
	if not is_flax_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : Optional[Any]		=				["FlaxSpeechEncoderDecoderModel"]

if TYPE_CHECKING:
	from .configuration_speech_encoder_decoder import SpeechEncoderDecoderConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_speech_encoder_decoder import SpeechEncoderDecoderModel

	try:
		if not is_flax_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_flax_speech_encoder_decoder import FlaxSpeechEncoderDecoderModel

else:
	import sys

	a : Union[str, Any]		=				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)








import unittest

from diffusers import FlaxAutoencoderKL
from diffusers.utils import is_flax_available
from diffusers.utils.testing_utils import require_flax

from .test_modeling_common_flax import FlaxModelTesterMixin


if is_flax_available():
	import jax
@require_flax
class 	lowerCamelCase_       (				lowerCAmelCase__     ,     unittest.TestCase				):



					'''simple docstring'''







					__UpperCAmelCase            =				FlaxAutoencoderKL






					@property
					def A      (				self						)   ->			Optional[int]:







								'''simple docstring'''

								__lowercase 					=   4
								__lowercase 					=   3
								__lowercase 					=   (3_2, 3_2)

								__lowercase 					=   jax.random.PRNGKey(0						)
								__lowercase 					=   jax.random.uniform(snake_case_ ,       ((batch_size, num_channels) + sizes)						)

								return {"sample": image, "prng_key": prng_key}






					def A      (				self						)   ->			Any:







								'''simple docstring'''

								__lowercase 					=   {
								    '''block_out_channels''': [3_2, 6_4],
								    '''in_channels''': 3,
								    '''out_channels''': 3,
								    '''down_block_types''': ['''DownEncoderBlock2D''', '''DownEncoderBlock2D'''],
								    '''up_block_types''': ['''UpDecoderBlock2D''', '''UpDecoderBlock2D'''],
								    '''latent_channels''': 4,
								}
								__lowercase 					=   self.dummy_input
								return init_dict, inputs_dict


