Describe the workflow you want to enable
I want to use TabPFNUnsupervisedModel with tabpfn-client for outlier detection, imputation, and synthetic generation when the query set exceeds the active full-regression row limit. The tabpfn-client size-limit documentation explicitly recommends splitting full-regression test sets across calls when this limit is reached. Currently, TabPFNUnsupervisedModel sends all query rows through one predict(..., output_type="full") call. A 1,138-row query against the current limit of 400 therefore raises:
ValueError: The number of test rows (1138) exceeds the maximum of 400 for full regression output.
Describe your proposed solution
Make unsupervised numerical full-regression predictions respect the active tabpfn-client row limit by processing oversized query sets in ordered batches and reconstructing the existing result structure. The implementation should not hard-code the current limit, refit the model, or change local and within-limit behavior.
Describe alternatives you've considered, if relevant
If row-batch invariance or limit discovery must be owned by tabpfn-client, implementing the batching there would also satisfy this workflow.
Additional context
I compared full outputs from the hosted tabpfn-client backend for 12 query rows in a single request with outputs reconstructed from three contiguous four-row requests. I used the same fitted model and training context with random_state=0, testing both n_estimators=1 and n_estimators=4.
For each estimator setting, the single-request and reconstructed outputs matched exactly for mean, median, mode, quantiles, and borders. The finite logits also matched exactly, their NaN positions were identical, and the maximum finite difference was zero.
Observed versions:
tabpfn-extensions 0.4.3
tabpfn-client 0.3.3
tabpfn 8.1.0
Impact
Medium (Significant enhancement)
Describe the workflow you want to enable
I want to use
TabPFNUnsupervisedModelwithtabpfn-clientfor outlier detection, imputation, and synthetic generation when the query set exceeds the active full-regression row limit. Thetabpfn-clientsize-limit documentation explicitly recommends splitting full-regression test sets across calls when this limit is reached. Currently,TabPFNUnsupervisedModelsends all query rows through onepredict(..., output_type="full")call. A 1,138-row query against the current limit of 400 therefore raises:Describe your proposed solution
Make unsupervised numerical full-regression predictions respect the active
tabpfn-clientrow limit by processing oversized query sets in ordered batches and reconstructing the existing result structure. The implementation should not hard-code the current limit, refit the model, or change local and within-limit behavior.Describe alternatives you've considered, if relevant
If row-batch invariance or limit discovery must be owned by
tabpfn-client, implementing the batching there would also satisfy this workflow.Additional context
I compared full outputs from the hosted
tabpfn-clientbackend for 12 query rows in a single request with outputs reconstructed from three contiguous four-row requests. I used the same fitted model and training context withrandom_state=0, testing bothn_estimators=1andn_estimators=4.For each estimator setting, the single-request and reconstructed outputs matched exactly for
mean,median,mode,quantiles, andborders. The finitelogitsalso matched exactly, their NaN positions were identical, and the maximum finite difference was zero.Observed versions:
Impact
Medium (Significant enhancement)