huggingface / huggingface/diffusers

Ability to select the strength of the safety_checker

Aperta
#9,003 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
stale
Lingua principale
Python
Stelle
34.5k
Fork
7.3k
Merge medio
3g 3h
PR unite (30g)
91

Descrizione

**Is your feature request related to a problem? Please describe.**
Safety_checker can currently only be turned on/off, and we would like to be able to configure it in more detail.

**Describe alternatives you've considered.**
[I made it based on StableDiffusionPipeline.](https://github.com/suzukimain/diffusers/tree/edit_safety_checker)

**Describe the solution you'd like.**
I would like to be able to specify this in any pipeline using a parameter such as `safety_Level`.

```python
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
safety_Level="MAX"
).to("cuda")
```

**Additional context.**
```python

git clone https://github.com/suzukimain/diffusers.git -b edit_safety_checker ./diffusers
pip install ./diffusers

import torch
from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
).to("cuda")

"""
About safety_Level.
`int` or `float` or one of the following
'WEAK',
'MEDIUM',
'NOMAL',
'STRONG',
'MAX'.
"""

#-------------
#To see the filter strength.
pipe.safety_checker.safety_Level() # 0.0 (default)

#--------------
#If you want to change the intensity.
pipe.safety_checker_Level("STRONG", pipe.safety_checker)
pipe.safety_checker.safety_Level() # 0.1

#--------------
# If numbers are used
pipe.safety_checker_Level(3.0, pipe.safety_checker)
pipe.safety_checker.safety_Level() # 3.0

```

It is related to #5623.

Also, I wasn't sure what range of numbers to put in for `adjustment`, so I put -0.2~0.2 for once.
(If possible, I would appreciate it if someone could tell me about the range of `adjustment`.)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.