rohitg00/ai-engineering-from-scratch · error · ValueError
confidences and correct must have the same shape
Error message
confidences and correct must have the same shape
What it means
Error "confidences and correct must have the same shape" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/73-perplexity-calibration/code/main.py:59
if nll < 0:
raise ValueError("neg_log_probs must be non-negative (did you forget the negation?)")
if n < 0:
raise ValueError("token_counts must be non-negative")
total_nll += float(nll)
total_tokens += int(n)
if total_tokens == 0:
return cls(perplexity=float("nan"), avg_neg_log_likelihood=0.0, total_tokens=0)
avg_nll = total_nll / total_tokens
return cls(perplexity=math.exp(avg_nll), avg_neg_log_likelihood=avg_nll, total_tokens=total_tokens)
def perplexity(neg_log_probs: Sequence[float], token_counts: Sequence[int]) -> float:
return PerplexityResult.from_token_nll(neg_log_probs, token_counts).perplexity
def _validate_probs(confidences: np.ndarray, correct: np.ndarray) -> None:
if confidences.shape != correct.shape:
raise ValueError("confidences and correct must have the same shape")
if confidences.ndim != 1:
raise ValueError("confidences must be 1-D")
if confidences.size == 0:
return
if float(confidences.min()) < 0.0 or float(confidences.max()) > 1.0:
raise ValueError("confidences must lie in [0, 1]")
uniq = set(np.unique(correct).tolist())
if not uniq.issubset({0, 1, 0.0, 1.0, True, False}):
raise ValueError("correct must be 0/1 or boolean")
def _bin_indices(confidences: np.ndarray, n_bins: int) -> np.ndarray:
edges = np.linspace(0.0, 1.0, n_bins + 1)
idx = np.searchsorted(edges, confidences, side="right") - 1
idx = np.clip(idx, 0, n_bins - 1)
return idx
View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/73-perplexity-calibration/code/main.py:59 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/70b8e72a17b8fb88.
Report an issue: GitHub.