2022-08-23

HなStable Diffusion

前提として、Stable Diffusionでエロ画像を出そうとしてもsafety checkerという機能が入っており、センシティブ画像を出そうとすると黒塗りになる。

(Stable DiffusionのSaaSであるDream Studioはぼかしだが、多分別技術)

https://github.com/huggingface/diffusers/releases/tag/v0.2.3

そこでGoogle Colabでちゃちゃっと環境を作り、なおかつNSFW回避する。

1. 下記のリンクノートを開く

https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb

2. 下記の箇所を書き換える

vvvvvvvvvvvvvvvvvv

from diffusers import StableDiffusionPipeline

^^^^^^^^^^^^

この一行を書き換えて自前のStable Diffusion Pipelineをクラス定義する。

https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py

をこぴってきてL157行目~159行目を消して貼り付ける。

https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py#L157-L159

3. Google Colabの上から順番に実行する

これだけだ。だが、自分性癖に刺さるStable Diffusionの作成は難しい。つーかマジ安定しない。waifuを探したければ、多分Stable Diffusionは合わない。hentai御用達ワードもなかなかヒットしなかったのでムズイ。

一応、redditを参考にワイが発掘したpromptを置いておく。

"full page antique lithograph of naked girl, sexual position, White background, art print, clean brush stroke, realistic highly detailed, post-processing highly detailed, rendered by octane engine, esty"

naked girlの間に年齢を指定するとガチあかんやつ。人の顔を安定して出すのに"lithograph of" はかなり使える。

"nude painting, big breasts, hot petite, long braided hair, hazel eyes, full round face, short smile, cinematic lightning, medium shot, mid-shot, cinematic wallpaper -C 13"

おっぱいの大きさに定評がある白人女性がたくさん出てくる。顔の部位を丁寧に指定することで安定性が増すらしい。

追記

・肝心のコード改修がテキトー説明でごめんなさい。safety checkerのメソッドオーバーライドするのが多分1番簡単から、ぶら下がってるコメント見てください。ありがとう

・prompt(おまじない)は無からまれものではなく、当然おまじない画像を紐付けしたデータが元になっている。汎用画像分類モデルCLIPはopenaiという別の団体が公開してるおまじない画像データセットだけど、これを検索できるようにしてくれた人がいる。

https://rom1504.github.io/clip-retrieval/?back=https%3A%2F%2Fknn5.laion.ai&index=laion5B&useMclip=false

なんでこんなサイトを紹介しているかって?

お気に入りエロ画像が出てこねーのはお前のpromptが悪いからだ。それを確認できるのがこのサイトだ。

例えば中学生男子なみのムラムラしているおまえはStablediffusionでsexと入れるだろう。だが決して出てこない。

その理由はこのサイト検索すればわかるだろう。邪魔画像が多すぎるのだ。

同様に足をぱっかーんと開いたお姉さんを召喚してみよう。

spread her legs

spreadだっていってんだろ。なに足閉じてんだよをクロスしてんだよ。

この辺が上手くいかない理由だ。

フレーバーいくら増やしてもこの手の問題解決しづらい。例えば sex humanググると多分直感に反してラブドール画像ばかりひっかかるだろう。

promptで重要なのは何を学習たか、その見えない文脈を推測することだ。そのためにはGoogle先生なみの文字センス検索力が必要となるだろう。

ヒントは与えた。後は健闘を祈る

  • from diffusers import StableDiffusionPipeline をgithubのファイルの内容そのままに置き換えても from ...models import AutoencoderKL, UNet2DConditionModel 以下4行でエラー出るんすけど

    • 動いた参考例 10-12行目の以下、「...」を「diffusers.」に from ...models import AutoencoderKL, UNet2DConditionModel from ...pipeline_utils import DiffusionPipeline from ...schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMSch...

      • diff取ったら確かに色々直してたわ。 すまんな、(ノ∀`)タハー

  • これは良増田

  • estyってなに? etsyかと思ったら違うし。人名?

  • mainブランチのままのリンクだとそのうち行がずれると思うので今のcommit idのリンクを張った方が良いのでは https://github.com/huggingface/diffusers/blob/511bd3aaf2772d09ffe6bfaeca2709682184f920/src/diffusers/pipe...

  • 元増田とは別の書き方を参考までに。 https://note.com/npaka/n/ndd549d2ce556 基本的にこの記事と同じ方法。 from diffusers import StableDiffusionPipelinepipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-d...

  • pixivの全データ学習させろ

  • 素晴らしい

  • いかにもフェミニストの負の性欲を刺激しそうな話題だな じきに付け火が始まるだろう

    • 多分フェミはこういう技術系の話には疎いから、あいつらのアンテナに引っかからないと思うけどな

      • 「誰でもボタンひとつで女性の裸の画像を作ることができる」と換言すれば一発だと思う

記事への反応(ブックマークコメント)

人気エントリ

注目エントリ

はてなからのお知らせ

ログイン ユーザー登録
ようこそ ゲスト さん