rohitg00/ai-engineering-from-scratch · error · ValueError
pairs must be > 0, got {cfg.pairs}
Error message
pairs must be > 0, got {cfg.pairs} What it means
Error "pairs must be > 0, got {cfg.pairs}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/60-projection-layer-modality-align/code/main.py:139
return (1.0 - cos).mean()
def freeze(module: nn.Module) -> None:
for p in module.parameters():
p.requires_grad_(False)
@dataclass
class TrainStats:
initial_loss: float
final_loss: float
final_cos: float
losses: list[float]
def train(cfg: AlignConfig) -> tuple[MLPProjector, TrainStats]:
if cfg.pairs <= 0:
raise ValueError(f"pairs must be > 0, got {cfg.pairs}")
if cfg.steps <= 0:
raise ValueError(f"steps must be > 0, got {cfg.steps}")
if cfg.max_caption_len < 4:
raise ValueError(
f"max_caption_len must be >= 4 for make_pair(), got {cfg.max_caption_len}"
)
torch.manual_seed(cfg.seed)
encoder_cfg = ViTConfig(image_size=224, patch_size=16, hidden=cfg.vision_hidden,
depth=4, heads=8, mlp_ratio=2.0)
encoder = VisionEncoder(encoder_cfg).eval()
freeze(encoder)
text = MockTextEmbedding(cfg.vocab_size, cfg.text_hidden, seed=cfg.seed + 1)
freeze(text)
projector = MLPProjector(cfg.vision_hidden, cfg.projection_hidden, cfg.text_hidden)View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/60-projection-layer-modality-align/code/main.py:139 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/bc3e23bd4e0d3a7f.
Report an issue: GitHub.