記憶:SD-webuiとapiを組み合わせたりする(2)

前回↓
271108.hatenablog.com

今回やったこと

SD-WebUIをwebAPIで叩いて画像を作る

APIの設定

docker-compose.yml を開いてCLI_ARGSにapiを追加する。

version: '3.9'
[中略]
name: webui-docker

services:
  download:
    build: ./services/download/
    profiles: ["download"]
    volumes:
      - *v1

  auto: &automatic
    <<: *base_service
    profiles: ["auto"]
    build: ./services/AUTOMATIC1111
    image: sd-auto:20
    environment:
      - CLI_ARGS=--allow-code --medvram --xformers --api --enable-insecure-extension-access 
      # ↑ここ
  auto-cpu:
    <<: *automatic
    profiles: ["auto-cpu"]
    deploy: {}
    environment:
      - CLI_ARGS=--no-half --precision full --api
     # ↑ここ
[以下略]

正直、参考元と何も変わらない。

発生していたエラー:

KeyError:'info'

"auto-cpu"のほうは要らんくない???とか思ってたけど、入れてないと(参考元で言うところのtestapi.pyを実行した時に)うまくいかなかった。
responseが……どうなってたんだっけ?忘れちゃったけど、なんかうまくいかなかったはず。responseがあったので接続とかはできてるんすね。知らんけど。
なお、Dockerを起動していない時?は接続できていないヨ!っていうエラーが帰ってきていたはず。
GPUではなくもしかしてCPU使ってる?[要検証]


思い出した。参考元がinput_url=http://localhost:7860/としているのに、

response = requests.post(url=f'{input_url}/sdapi/v1/txt2img', json=payload)
response_models = requests.get(url=f'{input_url}/sdapi/v1/sd-models')

となっている結果、urlがhttp://localhost:7860//sdapi/v1/txt2img ってなってて、「そんなURLないが???{'detail': 'Not Found'}なんだが???」って言われてたやつ。
KeyErrorなのでresponseが壊れてて想定外のものが帰ってきてるんやろなぁ……って認識までは完ぺきだった。

HTTPConnectionPool(host='localhost', port=7860): Max retries exceeded with url:(以下略)

そもそもSD-webuiのローカルホストを立ち上げてない時に出た。それはそう。

('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

条件は忘れた。SD-webuiのローカルホストを立ち上げている途中か何かに実行したら出た。それはそう。

実行感想メモ

生成結果(良かったやつ)

おやおやおやおや

IAのコスプレしてる人みたい

生成結果(共通してみられる問題だったやつ)

別に全部が良かったわけでもなく、結構打率は低かった。
見ててプロンプトにもしかすると問題があるかもしれないのでは?地雷ワードを入れているのでは?と思ったもの。

顔面増えがち。

もっとも、他の地雷ワードでは単に面白く生成できていないだけなのでは?という可能性がある。
また、前回の生成プロンプトと違ってkeyの数(だっけ?)が明確に少ないはず。

余談

  1. vmmemとかいうやつ、めっちゃメモリ食うので使わないときは切っておくこと。普通にゲームに影響が出る。
  2. これやったの今じゃないのでだいぶ色々忘れた。記憶の貯蔵が必要です。

今後やりたいこと

  1. プロンプトの総当たりを行うプログラムの作成
  2. 主観的な評価を適当に船井がつけるための何かの作成
  3. 画像からプロンプトの逆生成ができるので、そのプロンプトを自動で持ってくる(もしくは生成時にどこかにDBかcsvか何か使って記録する)プログラムの作成
  4. 顔面が増えるプロンプトは何?
  5. Waifuなんちゃらってやつにモデルを変えてみるとどうなる?