babysor/MockingBird · critical · Exception
Model folder {SYN_MODELS_DIRT} doesn't exist.
Error message
Model folder {SYN_MODELS_DIRT} doesn't exist. What it means
Import-time guard in mkgui/train.py: the training page enumerates synthesizer checkpoints (*.pt, recursive) under SYN_MODELS_DIRT to let you fine-tune from one; a missing directory aborts module import.
Source
Thrown at control/mkgui/train.py:23
from typing import Any
from models.synthesizer.hparams import hparams
from models.synthesizer.train import train as synt_train
# Constants
SYN_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}synthesizer"
ENC_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}encoder"
# EXT_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}ppg_extractor"
# CONV_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}ppg2mel"
# ENC_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}encoder"
# Pre-Load models
if os.path.isdir(SYN_MODELS_DIRT):
synthesizers = Enum('synthesizers', list((file.name, file) for file in Path(SYN_MODELS_DIRT).glob("**/*.pt")))
print("Loaded synthesizer models: " + str(len(synthesizers)))
else:
raise Exception(f"Model folder {SYN_MODELS_DIRT} doesn't exist.")
if os.path.isdir(ENC_MODELS_DIRT):
encoders = Enum('encoders', list((file.name, file) for file in Path(ENC_MODELS_DIRT).glob("**/*.pt")))
print("Loaded encoders models: " + str(len(encoders)))
else:
raise Exception(f"Model folder {ENC_MODELS_DIRT} doesn't exist.")
class Model(str, Enum):
DEFAULT = "default"
class Input(BaseModel):
model: Model = Field(
Model.DEFAULT, title="模型类型",
)
# datasets_root: str = Field(
# ..., alias="预处理数据根目录", description="输入目录(相对/绝对),不适用于ppg2mel模型",
# format=True,
# example="..\\trainning_data\\"View on GitHub (pinned to 28dc5e14f1)
Solutions
- Create the synthesizer models directory with at least one .pt checkpoint (e.g. a pretrained base model to fine-tune from)
- Download the pretrained synthesizer to the expected path
- Verify SYN_MODELS_DIRT points to your checkpoints root
Example fix
# before: encoder/saved_models/synthesizer missing mkdir -p encoder/saved_models/synthesizer && cp pretrained.pt encoder/saved_models/synthesizer/ # after: 'Loaded synthesizer models: 1', training page loads
Defensive patterns
Strategy: validation
Validate before calling
syn_dir = Path(SYN_MODELS_DIRT)
if not syn_dir.is_dir() or not list(syn_dir.glob('**/*.pt')):
raise SystemExit(f'Synthesizer models missing in {syn_dir}') Prevention
- Place a base pretrained synthesizer .pt before enabling fine-tune UI
- Preflight-check model dirs at startup
- Keep checkpoints saved in the expected directory layout
When it happens
Trigger: Opening the mkgui training page when no synthesizer models directory exists.
Common situations: Trying to fine-tune before any base synthesizer model exists; models path misconfigured; fresh clone.
Related errors
- Model folder {ENC_MODELS_DIRT} doesn't exist.
- Model folder {EXT_MODELS_DIRT} doesn't exist.
- Model folder {CONV_MODELS_DIRT} doesn't exist.
- Model folder {ENC_MODELS_DIRT} doesn't exist.
- Model folder {SYN_MODELS_DIRT} doesn't exist. 请将模型文件位置移动到上述位
AI-assisted analysis of babysor/MockingBird@28dc5e14f1 (2026-08-27).
Data as JSON: /api/errors/bc038584bdac001e.
Report an issue: GitHub.