Stable DiffusionをM1 Macで使ったりGoogle Colabで使ったり
目次
Mac(Apple Silicon Mac)で使う方法
stable-diffusion-webuiを使う
最近の流れを調べた感じですと、stable-diffusion-webuiを使って日々開発とか拡張とかが作られてることが多いような印象だったので、
最新の状態で拡張とかを使いたい場合はこれを使うのが良いかかなと思います。
ただgitを使ったり、ターミナルを操作してインストールしたりするので、そこが少し苦手な場合は下のアプリを使ってみるのが良いかなと思います。
Macのアプリを使う
- Diffusers on the Mac App Store
- テキストから画像を生成できるオープンソースのStable Diffusionアプリ「Diffusers for Mac」がGPU/Neural Engine選択に対応し、Apple Silicon Macでは生成速度が最大2倍に。
アプリをインストールするだけなのでものすごく使いやすいです。
Apple Silicon MacのGPUを選択することもできるので、stable-diffusion-webuiを使いよりも生成速度が早いかもしれません。
Google Colabで使う方法
自分のパソコンで環境を作る必要がなく簡単にサクッとできます。
無料で使える分だと、使える時間に制限があります。
いきなりお金を取られることはないので、環境をとりあえず作っておくぐらいはしておくと良いかも!
こちらも参考にさせていただきました。モデルのダウンロードも選択できるようにしておくと便利です。
EasyNegative入れておくと便利
「EasyNegative」の使い方!美少女イラストのクオリティを手軽にアップさせよう【Stable Diffusion web UI】
ネガティブプロンプトを大量に書かないといけない問題が解消できます。
おすすめのモデル(checkpoint)
ChilloutMix
やっぱりこれを使って衝撃でしたねぇ。。ほんとに実大してるような人物の写真が作れちゃいます。
CCCmix
Counterfeit
pastel-mix
調べたけど結局やらなかったこと
webuiをつかずに直接コマンドからstable-diffusionを叩く
スプシから繋げてコマンドを叩けるようにしようと、この手段を調べていたのですが、
webuiの方が発展が早く使いやすいそうだったので今回はwebuiを使うようにしました。
webuiはapiを経由して叩くことができるので、やりたいことができると思います。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/API
api立ち上げる際に注意すること
https://github.com/nolanaatama/sd-1click-colab/issues/8
現在下記のようにfastapiをアップデートしないとエラーになる場合があるようです。
!pip install --upgrade fastapi==0.90.1
起動時の注意
apiを立ち上げたい場合は--api
のようにコマンドを記述するのですが、どうやら--gradio-debug
がはいっているとうまくapiが立ち上がってくれないようなので注意しましょう。
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py --api
ちなみにフッターにもリンクがあるのですが、/docsにアクセスするとapiのドキュメントを見ることができるのでどんなパラメータがあるかなどはドキュメントを確認しましょう。
diffusersを使うこと
こちらもコマンドから直接叩けるので良いかなと思ったのですが、結局 webuiのapiで解決できたので使いませんでした。
Google Colab で Stable Diffusion 2.0 を試す - diffusers版|npaka|note
prompの参考になるサイト
まとめ
あまりにもリアルで写真のようなイラストがサクッと簡単にできてしまうので楽しくてついつい色々作ってしまいます。
ただ著作権や、肖像権などまだ整備されていない状態なので、注意が必要かなと思います。
一旦この記事で作られたことがわかるようにurlを画像に貼るようにしました..
々人的に使いやすくつくったGoogle Colabのデータや
スプレッドシートでpromptを管理して、それをそもままGoogle Colabで連携してStable diffusionのapiを叩いて出力するようにしたので。
次回はその辺りことを記事にしたいと思います。