Spaces:
Running
on
Zero
Running
on
Zero
| from dataclasses import dataclass | |
| from enum import Enum | |
| from typing import TYPE_CHECKING, List, Optional, Union | |
| import numpy as np | |
| import PIL | |
| from PIL import Image | |
| from ...utils import ( | |
| DIFFUSERS_SLOW_IMPORT, | |
| BaseOutput, | |
| OptionalDependencyNotAvailable, | |
| _LazyModule, | |
| get_objects_from_module, | |
| is_torch_available, | |
| is_transformers_available, | |
| ) | |
| class SafetyConfig(object): | |
| WEAK = { | |
| "sld_warmup_steps": 15, | |
| "sld_guidance_scale": 20, | |
| "sld_threshold": 0.0, | |
| "sld_momentum_scale": 0.0, | |
| "sld_mom_beta": 0.0, | |
| } | |
| MEDIUM = { | |
| "sld_warmup_steps": 10, | |
| "sld_guidance_scale": 1000, | |
| "sld_threshold": 0.01, | |
| "sld_momentum_scale": 0.3, | |
| "sld_mom_beta": 0.4, | |
| } | |
| STRONG = { | |
| "sld_warmup_steps": 7, | |
| "sld_guidance_scale": 2000, | |
| "sld_threshold": 0.025, | |
| "sld_momentum_scale": 0.5, | |
| "sld_mom_beta": 0.7, | |
| } | |
| MAX = { | |
| "sld_warmup_steps": 0, | |
| "sld_guidance_scale": 5000, | |
| "sld_threshold": 1.0, | |
| "sld_momentum_scale": 0.5, | |
| "sld_mom_beta": 0.7, | |
| } | |
| _dummy_objects = {} | |
| _additional_imports = {} | |
| _import_structure = {} | |
| _additional_imports.update({"SafetyConfig": SafetyConfig}) | |
| try: | |
| if not (is_transformers_available() and is_torch_available()): | |
| raise OptionalDependencyNotAvailable() | |
| except OptionalDependencyNotAvailable: | |
| from ...utils import dummy_torch_and_transformers_objects | |
| _dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_objects)) | |
| else: | |
| _import_structure.update( | |
| { | |
| "pipeline_output": ["StableDiffusionSafePipelineOutput"], | |
| "pipeline_stable_diffusion_safe": ["StableDiffusionPipelineSafe"], | |
| "safety_checker": ["StableDiffusionSafetyChecker"], | |
| } | |
| ) | |
| if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: | |
| try: | |
| if not (is_transformers_available() and is_torch_available()): | |
| raise OptionalDependencyNotAvailable() | |
| except OptionalDependencyNotAvailable: | |
| from ...utils.dummy_torch_and_transformers_objects import * | |
| else: | |
| from .pipeline_output import StableDiffusionSafePipelineOutput | |
| from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe | |
| from .safety_checker import SafeStableDiffusionSafetyChecker | |
| else: | |
| import sys | |
| sys.modules[__name__] = _LazyModule( | |
| __name__, | |
| globals()["__file__"], | |
| _import_structure, | |
| module_spec=__spec__, | |
| ) | |
| for name, value in _dummy_objects.items(): | |
| setattr(sys.modules[__name__], name, value) | |
| for name, value in _additional_imports.items(): | |
| setattr(sys.modules[__name__], name, value) | |