51 lines
1.7 KiB
Bash
51 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# Add timing debug prints to load_diffusion_model_state_dict in sd.py
|
|
|
|
SD_PY="/home/fabian/ComfyUI/comfy/sd.py"
|
|
|
|
# Check if already patched
|
|
if grep -q 'BC250_DEBUG' "$SD_PY"; then
|
|
echo "Already has debug prints"
|
|
exit 0
|
|
fi
|
|
|
|
# Find the model_type FLOW line and add debug before get_model call
|
|
# The sequence is roughly:
|
|
# 1. logging.info("model_type ...")
|
|
# 2. model = model_config.get_model(new_sd, "")
|
|
# 3. model.load_model_weights(...)
|
|
# 4. model.to(offload_device) or model_patcher creation
|
|
|
|
# Add debug after "model_type" print
|
|
python3 -c "
|
|
import re
|
|
|
|
with open('$SD_PY', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Find 'model_type FLOW' or similar logging line and surrounding code
|
|
# Add timing around get_model, load_model_weights, etc.
|
|
target = 'model = model_config.get_model(new_sd, \"\")'
|
|
if target in content:
|
|
replacement = '''import time as _t; _ts = _t.time(); logging.warning(\"[BC250_DEBUG] Creating model skeleton...\") # BC250_DEBUG
|
|
model = model_config.get_model(new_sd, \"\")
|
|
logging.warning(f\"[BC250_DEBUG] Model skeleton created in {_t.time()-_ts:.1f}s\") # BC250_DEBUG'''
|
|
content = content.replace(target, replacement, 1)
|
|
|
|
target2 = 'model.load_model_weights(new_sd, prefix)'
|
|
if target2 in content:
|
|
replacement2 = '''logging.warning(\"[BC250_DEBUG] Loading model weights...\") # BC250_DEBUG
|
|
_ts2 = _t.time()
|
|
model.load_model_weights(new_sd, prefix)
|
|
logging.warning(f\"[BC250_DEBUG] Model weights loaded in {_t.time()-_ts2:.1f}s\") # BC250_DEBUG'''
|
|
content = content.replace(target2, replacement2, 1)
|
|
|
|
with open('$SD_PY', 'w') as f:
|
|
f.write(content)
|
|
print('Debug prints added')
|
|
"
|
|
|
|
echo ""
|
|
echo "=== Verify ==="
|
|
grep -n 'BC250_DEBUG' "$SD_PY"
|