huggingface / huggingface/diffusers
Ability to select the strength of the safety_checker
- 主要言語
- Python
- スター
- 34.5k
- フォーク
- 7.3k
- 平均マージ
- 3日 3時間
- マージ済み PR(30日)
- 91
説明
**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`.)
コントリビューションガイド
調査の方向性
Start with StableDiffusionPipeline and its safety_checker, then compare the edit_safety_checker branch linked in the issue. Clarify the accepted named and numeric ranges, including adjustment, before assessing a consistent pipeline parameter; done means a pipeline can configure filter strength beyond simple enable/disable behavior.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python, pytorch
- 領域
- ai, machine-learning, security
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100