

'''simple docstring'''



import unittest

import numpy as np

from transformers.testing_utils import require_flax, require_tf, require_torch
from transformers.utils import (
    expand_dims,
    flatten_dict,
    is_flax_available,
    is_tf_available,
    is_torch_available,
    reshape,
    squeeze,
    transpose,
)


if is_flax_available():
     import jax.numpy as jnp

if is_tf_available():
     import tensorflow as tf

if is_torch_available():
     import torch



class 				_snake_case					(   unittest.TestCase			):

  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							{
          'task_specific_params': {
              'summarization': {'length_penalty': 1.0, 'max_length': 1_28, 'min_length': 12, 'num_beams': 4},
              'summarization_cnn': {'length_penalty': 2.0, 'max_length': 1_42, 'min_length': 56, 'num_beams': 4},
              'summarization_xsum': {'length_penalty': 1.0, 'max_length': 62, 'min_length': 11, 'num_beams': 6},
          }
      }
      lowerCAmelCase 						=							{
          'task_specific_params.summarization.length_penalty': 1.0,
          'task_specific_params.summarization.max_length': 1_28,
          'task_specific_params.summarization.min_length': 12,
          'task_specific_params.summarization.num_beams': 4,
          'task_specific_params.summarization_cnn.length_penalty': 2.0,
          'task_specific_params.summarization_cnn.max_length': 1_42,
          'task_specific_params.summarization_cnn.min_length': 56,
          'task_specific_params.summarization_cnn.num_beams': 4,
          'task_specific_params.summarization_xsum.length_penalty': 1.0,
          'task_specific_params.summarization_xsum.max_length': 62,
          'task_specific_params.summarization_xsum.min_length': 11,
          'task_specific_params.summarization_xsum.num_beams': 6,
      }

      self.assertEqual(flatten_dict(_SCREAMING_SNAKE_CASE	)      , _SCREAMING_SNAKE_CASE	)

  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE	)      , x.transpose()	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	)      , x.transpose((1, 2, 0)	)	)	)

  @require_torch
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE	)      , transpose(_SCREAMING_SNAKE_CASE	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	)      , transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	).numpy()	)	)

  @require_tf
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE	)      , transpose(_SCREAMING_SNAKE_CASE	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	)      , transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	).numpy()	)	)

  @require_flax
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE	)      , np.asarray(transpose(_SCREAMING_SNAKE_CASE	)	)	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	)      , np.asarray(transpose(_SCREAMING_SNAKE_CASE      , axes=(1, 2, 0)	)	)	)	)

  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)      , np.reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)      , np.reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)	)	)

  @require_torch
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)      , reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)      , reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	).numpy()	)	)

  @require_tf
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)      , reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)      , reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	).numpy()	)	)

  @require_flax
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)      , np.asarray(reshape(_SCREAMING_SNAKE_CASE      , (4, 3)	)	)	)	)

      lowerCAmelCase 						=							np.random.randn(3      , 4      , 5	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)      , np.asarray(reshape(_SCREAMING_SNAKE_CASE      , (12, 5)	)	)	)	)

  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(1      , 3      , 4	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE	)      , np.squeeze(_SCREAMING_SNAKE_CASE	)	)	)

      lowerCAmelCase 						=							np.random.randn(1      , 4      , 1      , 5	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)      , np.squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)	)	)

  @require_torch
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(1      , 3      , 4	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE	)      , squeeze(_SCREAMING_SNAKE_CASE	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(1      , 4      , 1      , 5	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)      , squeeze(_SCREAMING_SNAKE_CASE      , axis=2	).numpy()	)	)

  @require_tf
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(1      , 3      , 4	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE	)      , squeeze(_SCREAMING_SNAKE_CASE	).numpy()	)	)

      lowerCAmelCase 						=							np.random.randn(1      , 4      , 1      , 5	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)      , squeeze(_SCREAMING_SNAKE_CASE      , axis=2	).numpy()	)	)

  @require_flax
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(1      , 3      , 4	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE	)      , np.asarray(squeeze(_SCREAMING_SNAKE_CASE	)	)	)	)

      lowerCAmelCase 						=							np.random.randn(1      , 4      , 1      , 5	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)      , np.asarray(squeeze(_SCREAMING_SNAKE_CASE      , axis=2	)	)	)	)

  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      self.assertTrue(np.allclose(expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)      , np.expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)	)	)

  @require_torch
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							torch.tensor(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)      , expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	).numpy()	)	)

  @require_tf
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							tf.constant(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)      , expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	).numpy()	)	)


  @require_flax
  def   _SCREAMING_SNAKE_CASE				(				self	):





      '''simple docstring'''

      lowerCAmelCase 						=							np.random.randn(3      , 4	)
      lowerCAmelCase 						=							jnp.array(_SCREAMING_SNAKE_CASE	)
      self.assertTrue(np.allclose(expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)      , np.asarray(expand_dims(_SCREAMING_SNAKE_CASE      , axis=1	)	)	)	)








'''simple docstring'''



from dataclasses import dataclass
from typing import List, Optional, Union

import numpy as np
import torch

from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available



@dataclass
class 				_snake_case					(   a_			):
  SCREAMING_SNAKE_CASE			:       Union[List[np.ndarray], torch.FloatTensor]


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 .pipeline_text_to_video_synth import TextToVideoSDPipeline
     from .pipeline_text_to_video_synth_imgaimg import VideoToVideoSDPipeline  # noqa: F401
     from .pipeline_text_to_video_zero import TextToVideoZeroPipeline





