Added
-
Fine-tuning now supports
validation_frequencyto run validation and early-stopping checks every N epochs. (#811) -
Add
ManyClassDecoder.attention_weights, the canonical per-training-row attention distribution of the multiclass decoder head, so interpretability tooling can read out which training rows drive a prediction without reimplementing the head's internal forward pass. The method exists only on multiclass models that use this decoder. (#1142) -
Add fp8 kv cache dtype. (#1157)
-
fit()now warns when a column ofXlooks like free text. (#1159) -
Add an opt-in built-model cache to
load_model, enabled via theTABPFN_MODEL_CACHE_SIZEenvironment variable (default off). When set, repeated loads of the same checkpoint reuse the constructed model instead of rebuilding the architecture and re-runningload_state_dict. Only the non-mutating (cache_trainset_representation=False) build is cached. (#1162) -
Add
TabPFNRegressor.predict_batched, the regression counterpart toTabPFNClassifier.predict_proba_batched. It preprocesses each(X_train, y_train, X_test)triple exactly asfit+predictdoes, stacks the datasets on the model's batch dimension and scores them with a single fused forward per estimator, then decodes each dataset with its own target standardisation and per-estimator border transforms. Returns one entry per dataset in input order, each with the same structurepredictwould return for that dataset. Datasets must share array shapes; constant-target datasets are answered analytically.Both batched methods now raise
NotImplementedErrorforinference_precision=torch.float64instead of silently computing the fused forward at float32 and returning float32-precision results. (#1164) -
Add an attention-backend registry; the in-tree FA3/torch-MPS/MLX paths now route through it. Behavior unchanged unless a backend is registered. (#1165)
-
Add a test that
enable_torch_compiletraces tabpfn without graph breaks. (#1166)
Changed
- Speed up cached prediction on Hopper GPUs with FlashAttention-3 installed, by splitting attention over the key/value sequence when few test rows attend over a large training cache. (#1168)
n_estimatorsnow defaults to"auto"onTabPFNClassifierandTabPFNRegressor. Feature-coverage auto-scaling (raisingn_estimatorson wide datasets so every feature is seen by some estimator) applies only to"auto"— an explicitly passedn_estimatorsis always used exactly as given, and warns at fit time if it is too small for every feature to be covered. (#1171)
Fixed
-
Fix activation checkpointing during v2, v2.5, and v2.6 fine-tuning after the state-container memory optimization. (#1138)
-
- Fixed
fit()crashing during temperature calibration or threshold tuning
(tuning_config) when a rare class is absent from the tuning holdout, by
passing the full label set tolog_lossexplicitly. - Fixed
fit()crashing whenrandom_stateis anp.random.Generatorand
tuning is enabled, by converting the generator to a static seed before it
reachesStratifiedKFold.
(#1140)
- Fixed
-
fixed the randomness in the truncated SVD to make runs more reproducible. (#1167)
-
Fixed the many class decoder to only work with the relevant class count. (#1175)
-
Skip the Claude code review workflow on bot-authored release PRs, which previously failed the
claude-reviewcheck on every release. (#1177)
Deprecated
auto_scale_n_estimatorsis deprecated and will be removed in v9. It only ever applied ton_estimators="auto", whereauto_scale_n_estimators=Falseis equivalent to passingn_estimators=8; pass an explicitn_estimatorsinstead to opt out of feature-coverage scaling. PassingFalsenow emits aFutureWarningat fit time. (#1171)