yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


develop:sdwebui:start

Stable Diffusion WebUI (Automatic1111)

コードリーディング

構成

APIが呼び出されてから

- /modules/api/api.py
    Api.text2imgapi()
    - /modules/processing.py
        process_images()
        process_images_inner()
modules.sd_hijack.model_hijack = modules/sd_hijack.py class StableDiffusionModelHijack

modules/rng.py random generator。ネットワークの初期値を作成する?

クラスについて

  • StableDiffusionProcessing : 工程とか定義されているやつ。これのメソッドを呼び出して処理を進める。
    • modules/processing.py - class StableDiffusionProcessing
    • prop scripts = prop scripts_value
  • Processed : 実行結果を格納する構造体。
    • modules/processing.py - class Processed
  • ScriptRunner : 何個かのスクリプトをまとめてある。
    • modules/scripts.py - ScriptRunner
    • スクリプト何種か
      • scripts
      • selectable_scripts
      • alwayson_scripts

拡張機能

- /modules/launch_utils.py : L428
    prepare_environment()
    run_extensions_installers
    run_extension_installer

animatediff 拡張機能にはリポジトリ直下に install.py が存在していないので特にインストールの処理は行われない。

/extensions/hogehoge/scripts/fugafuga.py について scripts.Script を 継承したクラスを定義しているモジュールについてはスクリプトとして認識されている。

TODO

  • AnimateDiff がどのような動作でアニメを生成しているか確認
  • KeyFrameInterpolation における ControlNet の入れ方についても確認
  • とりあえず AnimateDiff が動くところまでやっていく
  • SparseCtrl は一旦無視する。
develop/sdwebui/start.txt · 最終更新: 2024/01/20 06:41 by yuuho