项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 8411
使用教程
环境要求
- Python 3.10+(兼容 3.10、3.11、3.12、3.13、3.14)
- 已安装 pip,可正常访问 PyPI 下载依赖
- 推荐使用 GPU:约 8GB 显存可用,部分大数据集需 16GB;CPU 仅适合中等规模数据
- 首次使用需要联网下载模型权重,并在浏览器中登录 PriorLabs 接受许可条款
- 如需指定模型版本,需准备 PriorLabs 账号令牌(无头/CI 环境)
安装与启动步骤
-
1安装 TabPFN
用 pip 直接安装官方包,会自动带上依赖。建议在独立虚拟环境中执行,避免与已有科学计算包冲突。
pip install tabpfn -
2按硬件装 PyTorch
AMD GPU 需先装 ROCm 版 PyTorch 再装 TabPFN;纯 CPU 环境先装 CPU 版 PyTorch 可节省磁盘空间(PyTorch 安装命令见官网)。
pip install torch --index-url https://download.pytorch.org/whl/rocm7.2 pip install tabpfn -
3首次运行完成授权
第一次调用模型会自动打开浏览器,登录 PriorLabs 并接受许可,令牌会缓存到本地,只需做一次。无图形界面的服务器请改用环境变量方式。
-
4运行分类或回归
几行代码即可训练与预测,默认使用 TabPFN-3 模型,首次拟合时会自动下载模型权重。想用旧版可指定 ModelVersion.V2_6。
from tabpfn import TabPFNClassifier, TabPFNRegressor clf = TabPFNClassifier() clf.fit(X_train, y_train) predictions = clf.predict(X_test) reg = TabPFNRegressor() reg.fit(X_train, y_train) predictions = reg.predict(X_test) -
5离线下载全部模型
在 TabPFN 仓库目录下执行,会下载分类器、回归器及所有集成变体到系统默认缓存目录,便于之后断网使用。
python scripts/download_all_models.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
TABPFN_TOKEN | 否 | 无头/CI 环境直接提供 PriorLabs 认证令牌,免去浏览器登录 | TABPFN_TOKEN=your-priorlabs-token |
TABPFN_NO_BROWSER | 否 | 设置后禁用自动打开浏览器登录的流程 | TABPFN_NO_BROWSER=1 |
TABPFN_MODEL_CACHE_DIR | 否 | 自定义模型权重缓存目录,默认是各系统用户缓存目录 | TABPFN_MODEL_CACHE_DIR=/path/to/dir |
model_path | 否 | 构造分类器/回归器时直接指定本地 ckpt 模型文件路径 | TabPFNClassifier(model_path="/path/to/model.ckpt") |
ignore_pretraining_limits | 否 | 数据超过推荐规模限制时,设为 True 可越过大小护栏 | ignore_pretraining_limits=True |
如何确认成功
在 Python 中执行 fit 与 predict 不报错并返回预测结果;首次运行会下载模型权重,浏览器授权完成后即表示可用。
常见问题
Q:可以在 Python 3.9 上使用吗?
A:不行。TabPFN 依赖较新的语言特性,要求 Python 3.10+,兼容 3.10、3.11、3.12、3.13、3.14。
Q:没有 GPU 怎么办?
A:可以继续用 CPU,但只适合中等规模数据(默认 TabPFN-3 上限 5000 样本,旧版本 1000)。也可改用官方托管的 TabPFN Client 免费推理服务。
Q:如何在没有网络的环境下使用?
A:先联网下载模型:执行仓库自带的 scripts/download_all_models.py,或从 HuggingFace 手动下载 ckpt 放入缓存目录(Linux 为 ~/.cache/tabpfn/),再用 model_path 或 TABPFN_MODEL_CACHE_DIR 指定。
Q:加载模型时报 pickle 错误怎么解决?
A:先升级到最新版:pip install tabpfn --upgrade;再确认模型文件下载完整,必要时删除后重新下载。
Q:支持多大的数据集?
A:默认 TabPFN-3 支持 1,000,000×200、100,000×2,000 或 1,000×20,000(行×特征),特征越多行数上限越低;上一版 TabPFN-2.6 建议不超过 10 万行、2000 特征。
注意事项
- 不要对输入数据做标准化缩放或独热编码,TabPFN 内置了数据预处理。
- 务必使用批量预测:每次 predict 都会重算训练集,逐条预测会慢近百倍;测试集很大时按每块 1000 样本切分。
- TabPFN 在 CPU 上执行较慢,有条件优先用 GPU。
- macOS(Apple Silicon)自动包含 GPU 支持,建议使用 PyTorch 2.13 或更新版本以获得最佳性能。
核心亮点
- 预训练模型直接使用,免去繁琐的特征工程和超参数调优,开箱即用。
- 在小样本(<1000行)表格数据上表现突出,性能接近甚至超过传统模型。
- API 设计兼容 scikit-learn,支持 fit/predict,上手门槛低,便于集成。
不足之处
- 在大规模数据集(>10万行)上性能可能不如梯度提升树,且推理速度较慢。
- 文档/社区待观察,目前生态和示例相对较少,高级用法需自行探索。
适用场景
- 小样本业务预测,如初创公司冷启动时的销售预测、医疗小规模临床试验数据分析。
- 快速原型验证,在数据探索阶段快速建立基线模型,节省时间。
- 自动化机器学习流水线,作为基础模型快速处理结构化数据任务。
替代项目
XGBoost、LightGBM、CatBoost
上一篇:llama2
下一篇:DeepSeek-VL
同类项目推荐
BeyondCLIP
开源
多模态检索实战手册,助你选型不踩坑
Not a neutral survey — a field manual for engineers who build, train, and ship mult···
LucaOne
开源
一个模型统一处理核酸与蛋白序列
The resources of LucaOne, including: the model code, training scripts, embedding inf···
YuLan-Chat
开源
人大出品,从零训练大模型的开源参考实现
YuLan: An Open-Source Large Language Model
QuantHarness
开源
一套工具,搞定量化模型标准化评测与对比
Official Repository for QuantHarness
LLM4Decompile
开源
用大模型把二进制代码翻译成可读 C 源码,逆向效率翻倍
Reverse Engineering: Decompiling Binary Code with Large Language Models
awesome-ai-models
开源
一张清单,快速掌握当下最值得关注的AI模型。
A curated list of top AI models and LLMs
TabSTAR
开源
让表格数据看懂文本,预测更准一步到位
TabSTAR: A Tabular Foundation Model for Tabular Data with Text Fields
CoreML-Models
开源
下载即用的苹果端 AI 模型库,免去转换烦恼
Core ML model zoo for iOS/macOS — PyTorch models converted to ready-to-use .mlpacka···
cell2sentence
开源
把细胞变成句子,让大模型直接读懂单细胞
Cell2Sentence: Teaching Large Language Models the Language of Biology
