
"""simple docstring"""




import unittest

from transformers import MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING, is_vision_available, pipeline
from transformers.testing_utils import (
    is_pipeline_test,
    nested_simplify,
    require_tf,
    require_torch,
    require_vision,
    slow,
)

from .test_pipelines_common import ANY


if is_vision_available():
      from PIL import Image
else:





      class  snake_case     :

             @staticmethod
             def _lowercase					(*SCREAMING_SNAKE_CASE_       ,       **SCREAMING_SNAKE_CASE_    ):

               """simple docstring"""







               pass





@is_pipeline_test
@require_vision
@require_torch
class  snake_case     (							unittest.TestCase   ):
       UpperCAmelCase__						     =      MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING

       def _lowercase					(self       ,       SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = pipeline(
             '''zero-shot-object-detection'''       ,       model='''hf-internal-testing/tiny-random-owlvit-object-detection'''    )

         SCREAMING_SNAKE_CASE_						 = [
             {
                 """image""": """./tests/fixtures/tests_samples/COCO/000000039769.png""",
                 """candidate_labels""": ["""cat""", """remote""", """couch"""],
             }
         ]
         return object_detector, examples

       def _lowercase					(self       ,       SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = object_detector(examples[0]       ,       threshold=0.0    )

         SCREAMING_SNAKE_CASE_						 = len(SCREAMING_SNAKE_CASE_    )
         self.assertGreater(SCREAMING_SNAKE_CASE_       ,       0    )
         self.assertEqual(
             SCREAMING_SNAKE_CASE_       ,       [
                 {
                     '''score''': ANY(SCREAMING_SNAKE_CASE_    ),
                     '''label''': ANY(SCREAMING_SNAKE_CASE_    ),
                     '''box''': {'''xmin''': ANY(SCREAMING_SNAKE_CASE_    ), '''ymin''': ANY(SCREAMING_SNAKE_CASE_    ), '''xmax''': ANY(SCREAMING_SNAKE_CASE_    ), '''ymax''': ANY(SCREAMING_SNAKE_CASE_    )},
                 }
                 for i in range(SCREAMING_SNAKE_CASE_    )
             ]       ,       )

       @require_tf
       @unittest.skip('''Zero Shot Object Detection not implemented in TF'''    )
       def _lowercase					(self    ):

         """simple docstring"""







         pass

       @require_torch
       def _lowercase					(self    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = pipeline(
             '''zero-shot-object-detection'''       ,       model='''hf-internal-testing/tiny-random-owlvit-object-detection'''    )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             '''./tests/fixtures/tests_samples/COCO/000000039769.png'''       ,       candidate_labels=['''cat''', '''remote''', '''couch''']       ,       threshold=0.64       ,       )

         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 {'''score''': 0.72_35, '''label''': '''cat''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                 {'''score''': 0.72_18, '''label''': '''remote''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                 {'''score''': 0.71_84, '''label''': '''couch''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                 {'''score''': 0.67_48, '''label''': '''remote''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                 {'''score''': 0.66_56, '''label''': '''cat''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                 {'''score''': 0.66_14, '''label''': '''couch''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                 {'''score''': 0.64_56, '''label''': '''remote''', '''box''': {'''xmin''': 4_94, '''ymin''': 1_05, '''xmax''': 5_21, '''ymax''': 1_27}},
                 {'''score''': 0.6_42, '''label''': '''remote''', '''box''': {'''xmin''': 67, '''ymin''': 2_74, '''xmax''': 93, '''ymax''': 2_97}},
                 {'''score''': 0.64_19, '''label''': '''cat''', '''box''': {'''xmin''': 4_94, '''ymin''': 1_05, '''xmax''': 5_21, '''ymax''': 1_27}},
             ]       ,       )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             [
                 {
                     '''image''': '''./tests/fixtures/tests_samples/COCO/000000039769.png''',
                     '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
                 }
             ]       ,       threshold=0.64       ,       )

         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 [
                     {'''score''': 0.72_35, '''label''': '''cat''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                     {'''score''': 0.72_18, '''label''': '''remote''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                     {'''score''': 0.71_84, '''label''': '''couch''', '''box''': {'''xmin''': 2_04, '''ymin''': 1_67, '''xmax''': 2_32, '''ymax''': 1_90}},
                     {'''score''': 0.67_48, '''label''': '''remote''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                     {'''score''': 0.66_56, '''label''': '''cat''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                     {'''score''': 0.66_14, '''label''': '''couch''', '''box''': {'''xmin''': 5_71, '''ymin''': 83, '''xmax''': 5_98, '''ymax''': 1_03}},
                     {'''score''': 0.64_56, '''label''': '''remote''', '''box''': {'''xmin''': 4_94, '''ymin''': 1_05, '''xmax''': 5_21, '''ymax''': 1_27}},
                     {'''score''': 0.6_42, '''label''': '''remote''', '''box''': {'''xmin''': 67, '''ymin''': 2_74, '''xmax''': 93, '''ymax''': 2_97}},
                     {'''score''': 0.64_19, '''label''': '''cat''', '''box''': {'''xmin''': 4_94, '''ymin''': 1_05, '''xmax''': 5_21, '''ymax''': 1_27}},
                 ]
             ]       ,       )

       @require_torch
       @slow
       def _lowercase					(self    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = pipeline('''zero-shot-object-detection'''    )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             '''http://images.cocodataset.org/val2017/000000039769.jpg'''       ,       candidate_labels=['''cat''', '''remote''', '''couch''']       ,       )
         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_24, '''ymin''': 20, '''xmax''': 6_40, '''ymax''': 3_73}},
                 {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 72, '''xmax''': 1_77, '''ymax''': 1_15}},
                 {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 55, '''xmax''': 3_15, '''ymax''': 4_72}},
                 {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_35, '''ymin''': 74, '''xmax''': 3_71, '''ymax''': 1_87}},
                 {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_42, '''ymax''': 4_76}},
             ]       ,       )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             [
                 {
                     '''image''': '''http://images.cocodataset.org/val2017/000000039769.jpg''',
                     '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
                 },
                 {
                     '''image''': '''http://images.cocodataset.org/val2017/000000039769.jpg''',
                     '''candidate_labels''': ['''cat''', '''remote''', '''couch'''],
                 },
             ]       ,       )
         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 [
                     {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_24, '''ymin''': 20, '''xmax''': 6_40, '''ymax''': 3_73}},
                     {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 72, '''xmax''': 1_77, '''ymax''': 1_15}},
                     {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 55, '''xmax''': 3_15, '''ymax''': 4_72}},
                     {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_35, '''ymin''': 74, '''xmax''': 3_71, '''ymax''': 1_87}},
                     {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_42, '''ymax''': 4_76}},
                 ],
                 [
                     {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_24, '''ymin''': 20, '''xmax''': 6_40, '''ymax''': 3_73}},
                     {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 72, '''xmax''': 1_77, '''ymax''': 1_15}},
                     {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 55, '''xmax''': 3_15, '''ymax''': 4_72}},
                     {'''score''': 0.14_74, '''label''': '''remote''', '''box''': {'''xmin''': 3_35, '''ymin''': 74, '''xmax''': 3_71, '''ymax''': 1_87}},
                     {'''score''': 0.12_08, '''label''': '''couch''', '''box''': {'''xmin''': 4, '''ymin''': 0, '''xmax''': 6_42, '''ymax''': 4_76}},
                 ],
             ]       ,       )

       @require_tf
       @unittest.skip('''Zero Shot Object Detection not implemented in TF'''    )
       def _lowercase					(self    ):

         """simple docstring"""







         pass

       @require_torch
       @slow
       def _lowercase					(self    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = 0.2
         SCREAMING_SNAKE_CASE_						 = pipeline('''zero-shot-object-detection'''    )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             '''http://images.cocodataset.org/val2017/000000039769.jpg'''       ,       candidate_labels=['''cat''', '''remote''', '''couch''']       ,       threshold=SCREAMING_SNAKE_CASE_       ,       )
         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_24, '''ymin''': 20, '''xmax''': 6_40, '''ymax''': 3_73}},
                 {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 72, '''xmax''': 1_77, '''ymax''': 1_15}},
                 {'''score''': 0.25_37, '''label''': '''cat''', '''box''': {'''xmin''': 1, '''ymin''': 55, '''xmax''': 3_15, '''ymax''': 4_72}},
             ]       ,       )







       @require_torch
       @slow
       def _lowercase					(self    ):

         """simple docstring"""







         SCREAMING_SNAKE_CASE_						 = 2
         SCREAMING_SNAKE_CASE_						 = pipeline('''zero-shot-object-detection'''    )

         SCREAMING_SNAKE_CASE_						 = object_detector(
             '''http://images.cocodataset.org/val2017/000000039769.jpg'''       ,       candidate_labels=['''cat''', '''remote''', '''couch''']       ,       top_k=SCREAMING_SNAKE_CASE_       ,       )
         self.assertEqual(
             nested_simplify(SCREAMING_SNAKE_CASE_       ,       decimals=4    )       ,       [
                 {'''score''': 0.28_68, '''label''': '''cat''', '''box''': {'''xmin''': 3_24, '''ymin''': 20, '''xmax''': 6_40, '''ymax''': 3_73}},
                 {'''score''': 0.2_77, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 72, '''xmax''': 1_77, '''ymax''': 1_15}},
             ]       ,       )

"""simple docstring"""




import torch

from diffusers import DDIMParallelScheduler

from .test_schedulers import SchedulerCommonTest





class  snake_case     (							__lowercase   ):
							UpperCAmelCase__						     =      (DDIMParallelScheduler,)
							UpperCAmelCase__						     =      (('''eta''', 0.0), ('''num_inference_steps''', 50))

							def _lowercase					(self       ,       **SCREAMING_SNAKE_CASE_    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = {
									    '''num_train_timesteps''': 10_00,
									    '''beta_start''': 0.00_01,
									    '''beta_end''': 0.02,
									    '''beta_schedule''': '''linear''',
									    '''clip_sample''': True,
									}

									config.update(**SCREAMING_SNAKE_CASE_    )
									return config

							def _lowercase					(self       ,       **SCREAMING_SNAKE_CASE_    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.scheduler_classes[0]
									SCREAMING_SNAKE_CASE_						 = self.get_scheduler_config(**SCREAMING_SNAKE_CASE_    )
									SCREAMING_SNAKE_CASE_						 = scheduler_class(**SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_ ,SCREAMING_SNAKE_CASE_						 = 10, 0.0

									SCREAMING_SNAKE_CASE_						 = self.dummy_model()
									SCREAMING_SNAKE_CASE_						 = self.dummy_sample_deter

									scheduler.set_timesteps(SCREAMING_SNAKE_CASE_    )

									for t in scheduler.timesteps:
											SCREAMING_SNAKE_CASE_						 = model(SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_    )
											SCREAMING_SNAKE_CASE_						 = scheduler.step(SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_       ,       SCREAMING_SNAKE_CASE_    ).prev_sample

									return sample

							def _lowercase					(self    ):

									"""simple docstring"""







									for timesteps in [1_00, 5_00, 10_00]:
											self.check_over_configs(num_train_timesteps=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for steps_offset in [0, 1]:
											self.check_over_configs(steps_offset=SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_						 = self.scheduler_classes[0]
									SCREAMING_SNAKE_CASE_						 = self.get_scheduler_config(steps_offset=1    )
									SCREAMING_SNAKE_CASE_						 = scheduler_class(**SCREAMING_SNAKE_CASE_    )
									scheduler.set_timesteps(5    )
									assert torch.equal(scheduler.timesteps       ,       torch.LongTensor([8_01, 6_01, 4_01, 2_01, 1]    )    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for beta_start, beta_end in zip([0.00_01, 0.0_01, 0.01, 0.1]       ,       [0.0_02, 0.02, 0.2, 2]    ):
											self.check_over_configs(beta_start=SCREAMING_SNAKE_CASE_       ,       beta_end=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for schedule in ["linear", "squaredcos_cap_v2"]:
											self.check_over_configs(beta_schedule=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for prediction_type in ["epsilon", "v_prediction"]:
											self.check_over_configs(prediction_type=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for clip_sample in [True, False]:
											self.check_over_configs(clip_sample=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for timestep_spacing in ["trailing", "leading"]:
											self.check_over_configs(timestep_spacing=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for rescale_betas_zero_snr in [True, False]:
											self.check_over_configs(rescale_betas_zero_snr=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									self.check_over_configs(thresholding=SCREAMING_SNAKE_CASE_    )
									for threshold in [0.5, 1.0, 2.0]:
											for prediction_type in ["epsilon", "v_prediction"]:
													self.check_over_configs(
													    thresholding=SCREAMING_SNAKE_CASE_       ,       prediction_type=SCREAMING_SNAKE_CASE_       ,       sample_max_value=SCREAMING_SNAKE_CASE_       ,       )

							def _lowercase					(self    ):

									"""simple docstring"""







									for t in [1, 10, 49]:
											self.check_over_forward(time_step=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for t, num_inference_steps in zip([1, 10, 50]       ,       [10, 50, 5_00]    ):
											self.check_over_forward(time_step=SCREAMING_SNAKE_CASE_       ,       num_inference_steps=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									for t, eta in zip([1, 10, 49]       ,       [0.0, 0.5, 1.0]    ):
											self.check_over_forward(time_step=SCREAMING_SNAKE_CASE_       ,       eta=SCREAMING_SNAKE_CASE_    )

							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.scheduler_classes[0]
									SCREAMING_SNAKE_CASE_						 = self.get_scheduler_config()
									SCREAMING_SNAKE_CASE_						 = scheduler_class(**SCREAMING_SNAKE_CASE_    )

									assert torch.sum(torch.abs(scheduler._get_variance(0       ,       0    ) - 0.0    )    ) < 1e-5
									assert torch.sum(torch.abs(scheduler._get_variance(4_20       ,       4_00    ) - 0.1_47_71    )    ) < 1e-5
									assert torch.sum(torch.abs(scheduler._get_variance(9_80       ,       9_60    ) - 0.3_24_60    )    ) < 1e-5
									assert torch.sum(torch.abs(scheduler._get_variance(0       ,       0    ) - 0.0    )    ) < 1e-5
									assert torch.sum(torch.abs(scheduler._get_variance(4_87       ,       4_86    ) - 0.0_09_79    )    ) < 1e-5
									assert torch.sum(torch.abs(scheduler._get_variance(9_99       ,       9_98    ) - 0.02    )    ) < 1e-5

							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.scheduler_classes[0]
									SCREAMING_SNAKE_CASE_						 = self.get_scheduler_config()
									SCREAMING_SNAKE_CASE_						 = scheduler_class(**SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_ ,SCREAMING_SNAKE_CASE_						 = 10, 0.0
									scheduler.set_timesteps(SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_						 = self.dummy_model()
									SCREAMING_SNAKE_CASE_						 = self.dummy_sample_deter
									SCREAMING_SNAKE_CASE_						 = self.dummy_sample_deter + 0.1
									SCREAMING_SNAKE_CASE_						 = self.dummy_sample_deter - 0.1

									SCREAMING_SNAKE_CASE_						 = samplea.shape[0]
									SCREAMING_SNAKE_CASE_						 = torch.stack([samplea, samplea, samplea]       ,       dim=0    )
									SCREAMING_SNAKE_CASE_						 = torch.arange(SCREAMING_SNAKE_CASE_    )[0:3, None].repeat(1       ,       SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_						 = model(samples.flatten(0       ,       1    )       ,       timesteps.flatten(0       ,       1    )    )
									SCREAMING_SNAKE_CASE_						 = scheduler.batch_step_no_noise(SCREAMING_SNAKE_CASE_       ,       timesteps.flatten(0       ,       1    )       ,       samples.flatten(0       ,       1    )       ,       SCREAMING_SNAKE_CASE_    )

									SCREAMING_SNAKE_CASE_						 = torch.sum(torch.abs(SCREAMING_SNAKE_CASE_    )    )
									SCREAMING_SNAKE_CASE_						 = torch.mean(torch.abs(SCREAMING_SNAKE_CASE_    )    )

									assert abs(result_sum.item() - 11_47.79_04    ) < 1e-2
									assert abs(result_mean.item() - 0.49_82    ) < 1e-3

							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.full_loop()

									SCREAMING_SNAKE_CASE_						 = torch.sum(torch.abs(SCREAMING_SNAKE_CASE_    )    )
									SCREAMING_SNAKE_CASE_						 = torch.mean(torch.abs(SCREAMING_SNAKE_CASE_    )    )

									assert abs(result_sum.item() - 1_72.00_67    ) < 1e-2
									assert abs(result_mean.item() - 0.22_39_67    ) < 1e-3

							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.full_loop(prediction_type='''v_prediction'''    )

									SCREAMING_SNAKE_CASE_						 = torch.sum(torch.abs(SCREAMING_SNAKE_CASE_    )    )
									SCREAMING_SNAKE_CASE_						 = torch.mean(torch.abs(SCREAMING_SNAKE_CASE_    )    )

									assert abs(result_sum.item() - 52.53_02    ) < 1e-2
									assert abs(result_mean.item() - 0.06_84    ) < 1e-3

							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.full_loop(set_alpha_to_one=SCREAMING_SNAKE_CASE_       ,       beta_start=0.01    )
									SCREAMING_SNAKE_CASE_						 = torch.sum(torch.abs(SCREAMING_SNAKE_CASE_    )    )
									SCREAMING_SNAKE_CASE_						 = torch.mean(torch.abs(SCREAMING_SNAKE_CASE_    )    )

									assert abs(result_sum.item() - 1_49.82_95    ) < 1e-2
									assert abs(result_mean.item() - 0.19_51    ) < 1e-3







							def _lowercase					(self    ):

									"""simple docstring"""







									SCREAMING_SNAKE_CASE_						 = self.full_loop(set_alpha_to_one=SCREAMING_SNAKE_CASE_       ,       beta_start=0.01    )
									SCREAMING_SNAKE_CASE_						 = torch.sum(torch.abs(SCREAMING_SNAKE_CASE_    )    )
									SCREAMING_SNAKE_CASE_						 = torch.mean(torch.abs(SCREAMING_SNAKE_CASE_    )    )

									assert abs(result_sum.item() - 1_49.07_84    ) < 1e-2
									assert abs(result_mean.item() - 0.19_41    ) < 1e-3