





'''simple docstring'''






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

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available







@dataclass
class       lowerCamelCase       (    __UpperCAmelCase	):
					_SCREAMING_SNAKE_CASE				 =     {
					    "sld_warmup_steps": 15,
					    "sld_guidance_scale": 20,
					    "sld_threshold": 0.0,
					    "sld_momentum_scale": 0.0,
					    "sld_mom_beta": 0.0,
					}
					_SCREAMING_SNAKE_CASE				 =     {
					    "sld_warmup_steps": 10,
					    "sld_guidance_scale": 1000,
					    "sld_threshold": 0.01,
					    "sld_momentum_scale": 0.3,
					    "sld_mom_beta": 0.4,
					}
					_SCREAMING_SNAKE_CASE				 =     {
					    "sld_warmup_steps": 7,
					    "sld_guidance_scale": 2000,
					    "sld_threshold": 0.025,
					    "sld_momentum_scale": 0.5,
					    "sld_mom_beta": 0.7,
					}
					_SCREAMING_SNAKE_CASE				 =     {
					    "sld_warmup_steps": 0,
					    "sld_guidance_scale": 5000,
					    "sld_threshold": 1.0,
					    "sld_momentum_scale": 0.5,
					    "sld_mom_beta": 0.7,
					}







@dataclass
class       lowerCamelCase       (    __UpperCAmelCase	):
					_SCREAMING_SNAKE_CASE				 =     42
					_SCREAMING_SNAKE_CASE				 =     42
					_SCREAMING_SNAKE_CASE				 =     42
					_SCREAMING_SNAKE_CASE				 =     42


if is_transformers_available() and is_torch_available():
		from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
		from .safety_checker import SafeStableDiffusionSafetyChecker













'''simple docstring'''







import inspect
import os
import unittest

import torch

import accelerate
from accelerate import debug_launcher
from accelerate.test_utils import (
    execute_subprocess_async,
    require_cpu,
    require_multi_gpu,
    require_single_gpu,
    test_sync,
)
from accelerate.utils import patch_environment






class        a__     (      unittest.TestCase    ):
     '''simple docstring'''







     def      _UpperCamelCase (self     :						int       )	->							Optional[int]:
           __A		 =   inspect.getfile(accelerate.test_utils       )
           __A		 =   os.path.sep.join(mod_file.split(os.path.sep       )[:-1] + ["scripts", "test_sync.py"]       )






     @require_cpu
     def      _UpperCamelCase (self     :						str       )	->							Optional[Any]:
           debug_launcher(test_sync.main					,					num_processes=1       )






     @require_cpu
     def      _UpperCamelCase (self     :						Union[str, Any]       )	->							Optional[Any]:
           debug_launcher(test_sync.main       )






     @require_single_gpu
     def      _UpperCamelCase (self     :						Union[str, Any]       )	->							List[str]:
           test_sync.main()






     @require_multi_gpu
     def      _UpperCamelCase (self     :						Optional[int]       )	->							List[str]:
           print(f"Found {torch.cuda.device_count()} devices."       )
           __A		 =   ["torchrun", f"--nproc_per_node={torch.cuda.device_count()}", self.test_file_path]
           with patch_environment(omp_num_threads=1       ):
                 execute_subprocess_async(lowercase__					,					env=os.environ.copy()       )


