====== 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 は一旦無視する。