




import unittest

import numpy as np
import torch

from diffusers import PNDMPipeline, PNDMScheduler, UNetaDModel
from diffusers.utils.testing_utils import enable_full_determinism, require_torch, slow, torch_device


enable_full_determinism()




class       a__	( unittest.TestCase				):







     @property
     def       lowerCAmelCase_    (     self			)  ->   int:



          '''simple docstring'''



          torch.manual_seed(0			)
          a     =				UNetaDModel(
              block_out_channels=(32, 64)  ,		layers_per_block=2  ,		sample_size=32  ,		in_channels=3  ,		out_channels=3  ,		down_block_types=("DownBlock2D", "AttnDownBlock2D")  ,		up_block_types=("AttnUpBlock2D", "UpBlock2D")  ,		)
          return model







     def       lowerCAmelCase_    (     self			)  ->   int:



          '''simple docstring'''



          a     =				self.dummy_uncond_unet
          a     =				PNDMScheduler()

          a     =				PNDMPipeline(unet=lowercase_  ,		scheduler=lowercase_			)
          pndm.to(lowercase_			)
          pndm.set_progress_bar_config(disable=lowercase_			)

          a     =				torch.manual_seed(0			)
          a     =				pndm(generator=lowercase_  ,		num_inference_steps=20  ,		output_type="numpy"			).images

          a     =				torch.manual_seed(0			)
          a     =				pndm(generator=lowercase_  ,		num_inference_steps=20  ,		output_type="numpy"  ,		return_dict=lowercase_			)[0]

          a     =				image[0, -3:, -3:, -1]
          a     =				image_from_tuple[0, -3:, -3:, -1]

          assert image.shape == (1, 32, 32, 3)
          a     =				np.array([1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0]			)

          assert np.abs(image_slice.flatten() - expected_slice			).max() < 1e-2
          assert np.abs(image_from_tuple_slice.flatten() - expected_slice			).max() < 1e-2







@slow
@require_torch
class       a__	( unittest.TestCase				):







     def       lowerCAmelCase_    (     self			)  ->   str:



          '''simple docstring'''



          a     =				'''google/ddpm-cifar10-32'''

          a     =				UNetaDModel.from_pretrained(lowercase_			)
          a     =				PNDMScheduler()

          a     =				PNDMPipeline(unet=lowercase_  ,		scheduler=lowercase_			)
          pndm.to(lowercase_			)
          pndm.set_progress_bar_config(disable=lowercase_			)
          a     =				torch.manual_seed(0			)
          a     =				pndm(generator=lowercase_  ,		output_type="numpy"			).images

          a     =				image[0, -3:, -3:, -1]

          assert image.shape == (1, 32, 32, 3)
          a     =				np.array([0.1_5_6_4, 0.1_4_6_4_5, 0.1_4_0_6, 0.1_4_7_1_5, 0.1_2_4_2_5, 0.1_4_0_4_5, 0.1_3_1_1_5, 0.1_2_1_7_5, 0.1_2_5]			)

          assert np.abs(image_slice.flatten() - expected_slice			).max() < 1e-2







import os
import tempfile
import unittest

from transformers.models.marian.convert_marian_tatoeba_to_pytorch import DEFAULT_REPO, TatoebaConverter
from transformers.testing_utils import slow
from transformers.utils import cached_property




@unittest.skipUnless(os.path.exists(UpperCamelCase__				)       , """Tatoeba directory does not exist."""				)
class       a__	( unittest.TestCase				):







     @cached_property
     def       lowerCAmelCase_    (     self			)  ->   List[str]:



          '''simple docstring'''



          a     =				tempfile.mkdtemp()
          return TatoebaConverter(save_dir=A			)







     @slow
     def       lowerCAmelCase_    (     self			)  ->   int:



          '''simple docstring'''



          self.resolver.convert_models(["heb-eng"]			)







     @slow
     def       lowerCAmelCase_    (     self			)  ->   Dict:



          '''simple docstring'''



          a  ,				a     =				self.resolver.write_model_card("opus-mt-he-en"  ,		dry_run=A			)
          assert mmeta["long_pair"] == "heb-eng"

