[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-PriorLabs--TabPFN":3,"tool-PriorLabs--TabPFN":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":100,"github_topics":101,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":139},3239,"PriorLabs\u002FTabPFN","TabPFN","⚡ TabPFN: Foundation Model for Tabular Data ⚡","TabPFN 是一款专为表格数据设计的“基础模型”，旨在让机器学习变得像调用普通函数一样简单。它主要解决了传统表格建模中繁琐的特征工程、模型选择及超参数调优难题，用户无需进行数据缩放或独热编码等预处理，只需几行代码即可直接完成分类或回归任务。\n\n这款工具特别适合希望快速验证想法的数据科学家、机器学习开发者以及研究人员。对于不熟悉深度学习细节但需要高性能预测结果的用户，TabPFN 也提供了极低的入门门槛。其核心技术亮点在于完全在合成数据上训练，能够理解表格数据的内在结构，从而在中小规模数据集（样本少于 10 万、特征少于 2000）上展现出媲美甚至超越传统集成方法的精度。\n\n使用 TabPFN 时，建议搭配 GPU 以获得最佳体验，尤其是在处理较大批量预测时效率显著。虽然它在 CPU 上也能运行小样本任务，但官方推荐通过 GPU 加速来释放其全部潜力。无论是二分类、多分类还是数值预测，TabPFN 都能以统一的接口轻松应对，是将前沿 Transformer 架构应用于表格数据的创新实践。","# TabPFN\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftabpfn.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftabpfn)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPriorLabs_TabPFN_readme_150dfe653354.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Ftabpfn)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1285598202732482621?color=7289da&label=Discord&logo=discord&logoColor=ffffff)](https:\u002F\u002Fdiscord.gg\u002FBHnX2Ptf4j)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-priorlabs.ai-blue)](https:\u002F\u002Fpriorlabs.ai\u002Fdocs)\n[![colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fnotebooks\u002FTabPFN_Demo_Local.ipynb)\n[![Python Versions](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftabpfn\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPriorLabs_TabPFN_readme_1629d6c54259.webp\" width=\"80%\" alt=\"TabPFN Summary\">\n\n## Quick Start\n\n### Interactive Notebook Tutorial\n> [!TIP]\n>\n> Dive right in with our interactive Colab notebook! It's the best way to get a hands-on feel for TabPFN, walking you through installation, classification, and regression examples.\n>\n> [![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fnotebooks\u002FTabPFN_Demo_Local.ipynb)\n\n> ⚡ **GPU Recommended**:\n> For optimal performance, use a GPU (even older ones with ~8GB VRAM work well; 16GB needed for some large datasets).\n> On CPU, only small datasets (≲1000 samples) are feasible.\n> No GPU? Use our free hosted inference via [TabPFN Client](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client).\n\n### Installation\nOfficial installation (pip)\n```bash\npip install tabpfn\n```\nOR installation from source\n```bash\npip install \"tabpfn @ git+https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git\"\n```\nOR local development installation: First [install uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation) (version 0.10.0 or higher recommended), which we use for development, then run\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git --depth 1\ncd TabPFN\nuv sync\n```\n\n### Basic Usage\n\nTo use our default TabPFN-2.6 model, trained purely on synthetic data:\n\n```python\nfrom tabpfn import TabPFNClassifier, TabPFNRegressor\n\nclf = TabPFNClassifier()\nclf.fit(X_train, y_train)  # downloads checkpoint on first use\npredictions = clf.predict(X_test)\n\nreg = TabPFNRegressor()\nreg.fit(X_train, y_train)  # downloads checkpoint on first use\npredictions = reg.predict(X_test)\n```\n\nTo use other model versions (e.g. TabPFN-2.5):\n\n```python\nfrom tabpfn import TabPFNClassifier, TabPFNRegressor\nfrom tabpfn.constants import ModelVersion\n\nclassifier = TabPFNClassifier.create_default_for_version(ModelVersion.V2_5)\nregressor = TabPFNRegressor.create_default_for_version(ModelVersion.V2_5)\n```\n\nFor complete examples, see the [tabpfn_for_binary_classification.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_binary_classification.py), [tabpfn_for_multiclass_classification.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_multiclass_classification.py), and [tabpfn_for_regression.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_regression.py) files.\n\n\n### Usage Tips\n\n- **Use batch prediction mode**: Each `predict` call recomputes the training set. Calling `predict` on 100 samples separately is almost 100 times slower and more expensive than a single call. If the test set is very large, split it into chunks of 1000 samples each.\n- **Avoid data preprocessing**: Do not apply data scaling or one-hot encoding when feeding data to the model.\n- **Use a GPU**: TabPFN is slow to execute on a CPU. Ensure a GPU is available for better performance.\n- **Mind the dataset size**: TabPFN works best on datasets with fewer than 100,000 samples and 2000 features. For larger datasets, we recommend looking at the [Large datasets guide](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Flarge_datasets\u002Flarge_datasets_example.py).\n\n## TabPFN Ecosystem\n\nChoose the right TabPFN implementation for your needs:\n\n- **[TabPFN Client](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-client)**\n  Simple API client for using TabPFN via cloud-based inference.\n\n- **[TabPFN Extensions](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions)**\n  A powerful companion repository packed with advanced utilities, integrations, and features - great place to contribute:\n\n  -  **`interpretability`**: Gain insights with SHAP-based explanations, feature importance, and selection tools.\n  -  **`unsupervised`**: Tools for outlier detection and synthetic tabular data generation.\n  -  **`embeddings`**: Extract and use TabPFN’s internal learned embeddings for downstream tasks or analysis.\n  -  **`many_class`**: Handle multi-class classification problems that exceed TabPFN's built-in class limit.\n  -  **`rf_pfn`**: Combine TabPFN with traditional models like Random Forests for hybrid approaches.\n  -  **`hpo`**: Automated hyperparameter optimization tailored to TabPFN.\n  -  **`post_hoc_ensembles`**: Boost performance by ensembling multiple TabPFN models post-training.\n\n  To install:\n  ```bash\n  git clone https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions.git\n  pip install -e tabpfn-extensions\n  ```\n\n- **[TabPFN (this repo)](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn)**\n  Core implementation for fast and local inference with PyTorch and CUDA support.\n\n- **[TabPFN UX](https:\u002F\u002Fux.priorlabs.ai)**\n  No-code graphical interface to explore TabPFN capabilities—ideal for business users and prototyping.\n\n## TabPFN Workflow at a Glance\nFollow this decision tree to build your model and choose the right extensions from our ecosystem. It walks you through critical questions about your data, hardware, and performance needs, guiding you to the best solution for your specific use case.\n\n```mermaid\n---\nconfig:\n  theme: 'default'\n  themeVariables:\n    edgeLabelBackground: 'white'\n---\ngraph LR\n    %% 1. DEFINE COLOR SCHEME & STYLES\n    classDef default fill:#fff,stroke:#333,stroke-width:2px,color:#333;\n    classDef start_node fill:#e8f5e9,stroke:#43a047,stroke-width:2px,color:#333;\n    classDef process_node fill:#e0f2f1,stroke:#00796b,stroke-width:2px,color:#333;\n    classDef decision_node fill:#fff8e1,stroke:#ffa000,stroke-width:2px,color:#333;\n\n    style Infrastructure fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Unsupervised fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Data fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Performance fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Interpretability fill:#fff,stroke:#ccc,stroke-width:5px;\n\n    %% 2. DEFINE GRAPH STRUCTURE\n    subgraph Infrastructure\n        start((Start)) --> gpu_check[\"GPU available?\"];\n        gpu_check -- Yes --> local_version[\"Use TabPFN\u003Cbr\u002F>(local PyTorch)\"];\n        gpu_check -- No --> api_client[\"Use TabPFN-Client\u003Cbr\u002F>(cloud API)\"];\n        task_type[\"What is\u003Cbr\u002F>your task?\"]\n    end\n\n    local_version --> task_type\n    api_client --> task_type\n\n    end_node((Workflow\u003Cbr\u002F>Complete));\n\n    subgraph Unsupervised\n        unsupervised_type[\"Select\u003Cbr\u002F>Unsupervised Task\"];\n        unsupervised_type --> imputation[\"Imputation\"]\n        unsupervised_type --> data_gen[\"Data\u003Cbr\u002F>Generation\"];\n        unsupervised_type --> tabebm[\"Data\u003Cbr\u002F>Augmentation\"];\n        unsupervised_type --> density[\"Outlier\u003Cbr\u002F>Detection\"];\n        unsupervised_type --> embedding[\"Get\u003Cbr\u002F>Embeddings\"];\n    end\n\n\n    subgraph Data\n        data_check[\"Data Checks\"];\n        model_choice[\"Samples > 50k or\u003Cbr\u002F>Classes > 10?\"];\n        data_check -- \"Table Contains Text Data?\" --> api_backend_note[\"Note: API client has\u003Cbr\u002F>native text support\"];\n        api_backend_note --> model_choice;\n        data_check -- \"Time-Series Data?\" --> ts_features[\"Use Time-Series\u003Cbr\u002F>Features\"];\n        ts_features --> model_choice;\n        data_check -- \"Purely Tabular\" --> model_choice;\n        model_choice -- \"No\" --> finetune_check;\n        model_choice -- \"Yes, 50k-100k samples\" --> ignore_limits[\"Set\u003Cbr\u002F>ignore_pretraining_limits=True\"];\n        model_choice -- \"Yes, >100k samples\" --> subsample[\"Large Datasets Guide\u003Cbr\u002F>\"];\n        model_choice -- \"Yes, >10 classes\" --> many_class[\"Many-Class\u003Cbr\u002F>Method\"];\n    end\n\n    subgraph Performance\n        finetune_check[\"Need\u003Cbr\u002F>Finetuning?\"];\n        performance_check[\"Need Even Better Performance?\"];\n        speed_check[\"Need faster inference\u003Cbr\u002F>at prediction time?\"];\n        kv_cache[\"Enable KV Cache\u003Cbr\u002F>(fit_mode='fit_with_cache')\u003Cbr\u002F>\u003Csmall>Faster predict; +Memory ~O(N×F)\u003C\u002Fsmall>\"];\n        tuning_complete[\"Tuning Complete\"];\n\n        finetune_check -- Yes --> finetuning[\"Finetuning\"];\n        finetune_check -- No --> performance_check;\n\n        finetuning --> performance_check;\n\n        performance_check -- No --> tuning_complete;\n        performance_check -- Yes --> hpo[\"HPO\"];\n        performance_check -- Yes --> post_hoc[\"Post-Hoc\u003Cbr\u002F>Ensembling\"];\n        performance_check -- Yes --> more_estimators[\"More\u003Cbr\u002F>Estimators\"];\n        performance_check -- Yes --> speed_check;\n\n        speed_check -- Yes --> kv_cache;\n        speed_check -- No --> tuning_complete;\n\n        hpo --> tuning_complete;\n        post_hoc --> tuning_complete;\n        more_estimators --> tuning_complete;\n        kv_cache --> tuning_complete;\n    end\n\n    subgraph Interpretability\n\n        tuning_complete --> interpretability_check;\n\n        interpretability_check[\"Need\u003Cbr\u002F>Interpretability?\"];\n\n        interpretability_check --> feature_selection[\"Feature Selection\"];\n        interpretability_check --> partial_dependence[\"Partial Dependence Plots\"];\n        interpretability_check --> shapley[\"Explain with\u003Cbr\u002F>SHAP\"];\n        interpretability_check --> shap_iq[\"Explain with\u003Cbr\u002F>SHAP IQ\"];\n        interpretability_check -- No --> end_node;\n\n        feature_selection --> end_node;\n        partial_dependence --> end_node;\n        shapley --> end_node;\n        shap_iq --> end_node;\n\n    end\n\n    %% 3. LINK SUBGRAPHS AND PATHS\n    task_type -- \"Classification or Regression\" --> data_check;\n    task_type -- \"Unsupervised\" --> unsupervised_type;\n\n    subsample --> finetune_check;\n    ignore_limits --> finetune_check;\n    many_class --> finetune_check;\n\n    %% 4. APPLY STYLES\n    class start,end_node start_node;\n    class local_version,api_client,imputation,data_gen,tabebm,density,embedding,api_backend_note,ts_features,subsample,ignore_limits,many_class,finetuning,feature_selection,partial_dependence,shapley,shap_iq,hpo,post_hoc,more_estimators,kv_cache process_node;\n    class gpu_check,task_type,unsupervised_type,data_check,model_choice,finetune_check,interpretability_check,performance_check,speed_check decision_node;\n    class tuning_complete process_node;\n\n    %% 5. ADD CLICKABLE LINKS (INCLUDING KV CACHE EXAMPLE)\n    click local_version \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\" \"TabPFN Backend Options\"\n    click api_client \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client\" \"TabPFN API Client\"\n    click api_backend_note \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client\" \"TabPFN API Backend\"\n    click unsupervised_type \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\" \"TabPFN Extensions\"\n    click imputation \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fimputation.py\" \"TabPFN Imputation Example\"\n    click data_gen \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fgenerate_data.py\" \"TabPFN Data Generation Example\"\n    click tabebm \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Ftabebm\u002Ftabebm_augment_real_world_data.ipynb\" \"TabEBM Data Augmentation Example\"\n    click density \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fdensity_estimation_outlier_detection.py\" \"TabPFN Density Estimation\u002FOutlier Detection Example\"\n    click embedding \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Ftree\u002Fmain\u002Fexamples\u002Fembedding\" \"TabPFN Embedding Example\"\n    click ts_features \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-time-series\" \"TabPFN Time-Series Example\"\n    click many_class \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fmany_class\u002Fmany_class_classifier_example.py\" \"Many Class Example\"\n    click finetuning \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Ffinetune_classifier.py\" \"Finetuning Example\"\n    click feature_selection \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Ffeature_selection.py\" \"Feature Selection Example\"\n    click partial_dependence \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fpdp_example.py\" \"Partial Dependence Plots Example\"\n    click shapley \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fshap_example.py\" \"Shapley Values Example\"\n    click shap_iq \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fshapiq_example.py\" \"SHAP IQ Example\"\n    click post_hoc \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fphe\u002Fphe_example.py\" \"Post-Hoc Ensemble Example\"\n    click hpo \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fhpo\u002Ftuned_tabpfn.py\" \"HPO Example\"\n    click subsample \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Flarge_datasets\u002Flarge_datasets_example.py\" \"Large Datasets Example\"\n    click kv_cache \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fkv_cache_fast_prediction.py\" \"KV Cache Fast Prediction Example\"\n\n```\n\n## License\n\nThe TabPFN-2.5 and TabPFN-2.6 model weights are licensed under a [non-commercial license](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_6\u002Fblob\u002Fmain\u002FLICENSE). These are used by default.\n\nThe code and TabPFN-2 model weights are licensed under Prior Labs License (Apache 2.0 with additional attribution requirement): [here](LICENSE). To use the v2 model weights, instantiate your model as follows:\n\n```\nfrom tabpfn.constants import ModelVersion\n\ntabpfn_v2 = TabPFNRegressor.create_default_for_version(ModelVersion.V2)\n```\n\n## Enterprise & Production\n\nFor high-throughput or massive-scale production environments, we offer an **Enterprise Edition** with the following capabilities:\n-   **Fast Inference Mode**: A proprietary distillation engine that converts TabPFN-2.6 into a compact MLP or tree ensemble, delivering orders-of-magnitude lower latency for real-time applications.\n-   **Large Data Mode (Scaling Mode)**: An advanced operating mode that lifts row constraints to support datasets with up to **10 million rows**—a 1,000x increase over the default TabPFN-2.5 and TabPFN-2.6 models.\n-   **Commercial Support**: Includes a Commercial Enterprise License for production use-cases, dedicated integration support, and access to private high-speed inference engines.\n\n**To learn more or request a commercial license, please contact us at [sales@priorlabs.ai](mailto:sales@priorlabs.ai).**\n\n\n## Join Our Community\n\nWe're building the future of tabular machine learning and would love your involvement:\n\n1. **Connect & Learn**:\n   - Join our [Discord Community](https:\u002F\u002Fdiscord.gg\u002FVJRuU3bSxt)\n   - Read our [Documentation](https:\u002F\u002Fpriorlabs.ai\u002Fdocs)\n   - Check out [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn\u002Fissues)\n\n2. **Contribute**:\n   - Report bugs or request features\n   - Submit pull requests (please make sure to open an issue discussing the feature\u002Fbug first if none exists)\n   - Share your research and use cases\n\n3. **Stay Updated**: Star the repo and join Discord for the latest updates\n\n## Citation\n\nYou can read our paper explaining TabPFNv2 [here](https:\u002F\u002Fdoi.org\u002F10.1038\u002Fs41586-024-08328-6), and the model report of TabPFN-2.5 [here](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667).\n\n```bibtex\n@misc{grinsztajn2025tabpfn,\n  title={TabPFN-2.5: Advancing the State of the Art in Tabular Foundation Models},\n  author={Léo Grinsztajn and Klemens Flöge and Oscar Key and Felix Birkel and Philipp Jund and Brendan Roof and\n          Benjamin Jäger and Dominik Safaric and Simone Alessi and Adrian Hayler and Mihir Manium and Rosen Yu and\n          Felix Jablonski and Shi Bin Hoo and Anurag Garg and Jake Robertson and Magnus Bühler and Vladyslav Moroshan and\n          Lennart Purucker and Clara Cornu and Lilly Charlotte Wehrhahn and Alessandro Bonetto and\n          Bernhard Schölkopf and Sauraj Gambhir and Noah Hollmann and Frank Hutter},\n  year={2025},\n  eprint={2511.08667},\n  archivePrefix={arXiv},\n  url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667},\n}\n\n@article{hollmann2025tabpfn,\n title={Accurate predictions on small data with a tabular foundation model},\n author={Hollmann, Noah and M{\\\"u}ller, Samuel and Purucker, Lennart and\n         Krishnakumar, Arjun and K{\\\"o}rfer, Max and Hoo, Shi Bin and\n         Schirrmeister, Robin Tibor and Hutter, Frank},\n journal={Nature},\n year={2025},\n month={01},\n day={09},\n doi={10.1038\u002Fs41586-024-08328-6},\n publisher={Springer Nature},\n url={https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41586-024-08328-6},\n}\n\n@inproceedings{hollmann2023tabpfn,\n  title={TabPFN: A transformer that solves small tabular classification problems in a second},\n  author={Hollmann, Noah and M{\\\"u}ller, Samuel and Eggensperger, Katharina and Hutter, Frank},\n  booktitle={International Conference on Learning Representations 2023},\n  year={2023}\n}\n```\n\n\n\n## ❓ FAQ\n\n### **Usage & Compatibility**\n\n**Q: What dataset sizes work best with TabPFN?**\nA: TabPFN-2.5 is optimized for **datasets up to 50,000 rows**. For larger datasets, consider using **Random Forest preprocessing** or other extensions. See our [Colab notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F154SoIzNW1LHBWyrxNwmBqtFAr1uZRZ6a#scrollTo=OwaXfEIWlhC8) for strategies.\n\n**Q: Why can't I use TabPFN with Python 3.8?**\nA: TabPFN requires **Python 3.9+** due to newer language features. Compatible versions: **3.9, 3.10, 3.11, 3.12, 3.13**.\n\n### **Installation & Setup**\n\n**Q: How do I get access to TabPFN-2.5 \u002F TabPFN-2.6?**\n\nOn first use, TabPFN will automatically open a browser window where you can log in via [PriorLabs](https:\u002F\u002Fux.priorlabs.ai) and accept the license terms. Your authentication token is cached locally so you only need to do this once.\n\n**For headless \u002F CI environments** where a browser is not available, visit [https:\u002F\u002Fux.priorlabs.ai](https:\u002F\u002Fux.priorlabs.ai), go to the **License** tab to accept the license, and then set the `TABPFN_TOKEN` environment variable with a token obtained from your account.\n\nIf access via the browser-based flow is not an option for you, please contact us at [`sales@priorlabs.ai`](mailto:sales@priorlabs.ai).\n\n**Q: How do I use TabPFN without an internet connection?**\n\nTabPFN automatically downloads model weights when first used. For offline usage:\n\n**Using the Provided Download Script**\n\nIf you have the TabPFN repository, you can use the included script to download all models (including ensemble variants):\n\n```bash\n# After installing TabPFN\npython scripts\u002Fdownload_all_models.py\n```\n\nThis script will download the main classifier and regressor models, as well as all ensemble variant models to your system's default cache directory.\n\n**Manual Download**\n\n1. Download the model files manually from HuggingFace:\n   - Classifier: [tabpfn-v2.5-classifier-v2.5_default.ckpt](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Fblob\u002Fmain\u002Ftabpfn-v2.5-classifier-v2.5_default.ckpt) (Note: the classifier default uses the model fine-tuned on real data).\n   - Regressor: [tabpfn-v2.5-regressor-v2.5_default.ckpt](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Fblob\u002Fmain\u002Ftabpfn-v2.5-regressor-v2.5_default.ckpt)\n\n2. Place the file in one of these locations:\n   - Specify directly: `TabPFNClassifier(model_path=\"\u002Fpath\u002Fto\u002Fmodel.ckpt\")`\n   - Set environment variable: `export TABPFN_MODEL_CACHE_DIR=\"\u002Fpath\u002Fto\u002Fdir\"` (see environment variables FAQ below)\n   - Default OS cache directory:\n     - Windows: `%APPDATA%\\tabpfn\\`\n     - macOS: `~\u002FLibrary\u002FCaches\u002Ftabpfn\u002F`\n     - Linux: `~\u002F.cache\u002Ftabpfn\u002F`\n\n**Q: I'm getting a `pickle` error when loading the model. What should I do?**\nA: Try the following:\n- Download the newest version of tabpfn `pip install tabpfn --upgrade`\n- Ensure model files downloaded correctly (re-download if needed)\n\n**Q: What environment variables can I use to configure TabPFN?**\nA: TabPFN uses Pydantic settings for configuration, supporting environment variables and `.env` files:\n\n**Authentication:**\n- `TABPFN_TOKEN`: Provide a PriorLabs authentication token directly (useful for headless\u002FCI environments). Obtain one from [https:\u002F\u002Fux.priorlabs.ai](https:\u002F\u002Fux.priorlabs.ai).\n- `TABPFN_NO_BROWSER`: Set to disable automatic browser-based login (e.g. in environments where opening a browser is undesirable).\n\n**Model Configuration:**\n- `TABPFN_MODEL_CACHE_DIR`: Custom directory for caching downloaded TabPFN models (default: platform-specific user cache directory)\n- `TABPFN_ALLOW_CPU_LARGE_DATASET`: Allow running TabPFN on CPU with large datasets (>1000 samples). Set to `true` to override the CPU limitation. Note: This will be very slow!\n\n**PyTorch Settings:**\n- `PYTORCH_CUDA_ALLOC_CONF`: PyTorch CUDA memory allocation configuration to optimize GPU memory usage (default: `max_split_size_mb:512`). See [PyTorch CUDA documentation](https:\u002F\u002Fdocs.pytorch.org\u002Fdocs\u002Fstable\u002Fnotes\u002Fcuda.html#optimizing-memory-usage-with-pytorch-cuda-alloc-conf) for more information.\n\nExample:\n```bash\nexport TABPFN_MODEL_CACHE_DIR=\"\u002Fpath\u002Fto\u002Fmodels\"\nexport TABPFN_ALLOW_CPU_LARGE_DATASET=true\nexport PYTORCH_CUDA_ALLOC_CONF=\"max_split_size_mb:512\"\n```\n\nOr simply set them in your `.env`\n\n**Q: How do I save and load a trained TabPFN model?**\nA: Use :func:`save_fitted_tabpfn_model` to persist a fitted estimator and reload\nit later with :func:`load_fitted_tabpfn_model` (or the corresponding\n``load_from_fit_state`` class methods).\n\n```python\nfrom tabpfn import TabPFNRegressor\nfrom tabpfn.model_loading import (\n    load_fitted_tabpfn_model,\n    save_fitted_tabpfn_model,\n)\n\n# Train the regressor on GPU\nreg = TabPFNRegressor(device=\"cuda\")\nreg.fit(X_train, y_train)\nsave_fitted_tabpfn_model(reg, \"my_reg.tabpfn_fit\")\n\n# Later or on a CPU-only machine\nreg_cpu = load_fitted_tabpfn_model(\"my_reg.tabpfn_fit\", device=\"cpu\")\n```\n\nTo store just the foundation model weights (without a fitted estimator) use\n``save_tabpfn_model(reg.model_, \"my_tabpfn.ckpt\")``. This merely saves a\ncheckpoint of the pre-trained weights so you can later create and fit a fresh\nestimator. Reload the checkpoint with ``load_model_criterion_config``.\n\n### **Performance & Limitations**\n\n**Q: Can TabPFN handle missing values?**\nA: **Yes!**\n\n**Q: How can I improve TabPFN’s performance?**\nA: Best practices:\n- Use **AutoTabPFNClassifier** from [TabPFN Extensions](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions) for post-hoc ensembling\n- Feature engineering: Add domain-specific features to improve model performance\n\nNot effective:\n- Adapt feature scaling\n- Convert categorical features to numerical values (e.g., one-hot encoding)\n\n**Q: What are the different checkpoints on [Hugging-Face](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Ftree\u002Fmain)?**\nA: Beyond the default checkpoints, the other available checkpoints are experimental and worse on average, and we recommend to always start with the defaults. They can be used as part of an ensembling or hyperparameter optimization system (and are used automatically in `AutoTabPFNClassifier`) or tried out manually. Their name suffixes refer to what we expect them to be good at.\n\n\u003Cdetails>\n\u003Csummary>More detail on each TabPFN-2.5 checkpoint\u003C\u002Fsummary>\n\nWe add the 🌍 emoji for checkpoints finetuned on real datasets. See the [TabPFN-2.5 paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667) for the list of 43 datasets.\n\n- `tabpfn-v2.5-classifier-v2.5_default.ckpt` 🌍: default classification checkpoint, finetuned on real-data.\n- `tabpfn-v2.5-classifier-v2.5_default-2.ckpt`: best classification synthetic checkpoint. Use this to get the default TabPFN-2.5 classification model without real-data finetuning.\n- `tabpfn-v2.5-classifier-v2.5_large-features-L.ckpt`: specialized for larger features (up to 500) and small samples (\u003C 5K).\n- `tabpfn-v2.5-classifier-v2.5_large-features-XL.ckpt`: specialized for larger features (up to  1000, could support `max_features_per_estimator=1000`).\n- `tabpfn-v2.5-classifier-v2.5_large-samples.ckpt`: specialized for larger sample sizes (larger than 30K)\n- `tabpfn-v2.5-classifier-v2.5_real.ckpt` 🌍: other real-data finetuned classification checkpoint. Pretty good overall but bad on large features (>100-200).\n- `tabpfn-v2.5-classifier-v2.5_real-large-features.ckpt` 🌍: other real-data finetuned classification checkpoint, worse on large samples (> 10K)\n- `tabpfn-v2.5-classifier-v2.5_real-large-samples-and-features.ckpt` 🌍: identical to `tabpfn-v2.5-classifier-v2.5_default.ckpt`\n- `tabpfn-v2.5-classifier-v2.5_variant.ckpt`: pretty good but bad on large features (> 100-200).\n- `tabpfn-v2.5-regressor-v2.5_default.ckpt`: default regression checkpoint, trained on synthetic data only.\n- `tabpfn-v2.5-regressor-v2.5_low-skew.ckpt`: variant specialized at low target skew data (but quite bad on average).\n- `tabpfn-v2.5-regressor-v2.5_quantiles.ckpt`: variant which might be interesting for quantile \u002F distribution estimation, though the default should still be prioritized for this.\n- `tabpfn-v2.5-regressor-v2.5_real.ckpt` 🌍: finetuned on real-data. Best checkpoint among the checkpoints finetuned on real data. For regression we recommend the synthetic-only checkpoint as a default, but this checkpoint is quite a bit better on some datasets.\n- `tabpfn-v2.5-regressor-v2.5_real-variant.ckpt` 🌍: other regression variant finetuned on real data.\n- `tabpfn-v2.5-regressor-v2.5_small-samples.ckpt`: variant slightly better on small (\u003C 3K) samples.\n- `tabpfn-v2.5-regressor-v2.5_variant.ckpt`: other variant, no clear specialty but can be better on a few datasets.\n\n\u003C\u002Fdetails>\n\n\n## Development\n\n1. Install [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)\n2. Setup environment:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git\ncd TabPFN\nuv sync\nsource venv\u002Fbin\u002Factivate  # On Windows: venv\\Scripts\\activate\npre-commit install\n```\n\n3. Before committing:\n```bash\npre-commit run --all-files\n```\n\n4. Run tests:\n```bash\npytest tests\u002F\n```\n\n## Anonymized Telemetry\n\nThis project collects fully anonymous usage telemetry with an option to opt-out of any telemetry or opt-in to extended telemetry.\n\nThe data is used exclusively to help us provide stability to the relevant products and compute environments and guide future improvements.\n\n- **No personal data is collected**\n- **No code, model inputs, or outputs are ever sent**\n- **Data is strictly anonymous and cannot be linked to individuals**\n\nFor details on telemetry, please see our [Telemetry Reference](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002FTELEMETRY.md) and our [Privacy Policy](https:\u002F\u002Fpriorlabs.ai\u002Fprivacy-policy\u002F).\n\n**To opt out**, set the following environment variable:\n\n```bash\nexport TABPFN_DISABLE_TELEMETRY=1\n```\n---\n\nBuilt with ❤️ by [Prior Labs](https:\u002F\u002Fpriorlabs.ai) - Copyright (c) 2025 Prior Labs GmbH\n","# TabPFN\n\n[![PyPI版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftabpfn.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftabpfn)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPriorLabs_TabPFN_readme_150dfe653354.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Ftabpfn)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1285598202732482621?color=7289da&label=Discord&logo=discord&logoColor=ffffff)](https:\u002F\u002Fdiscord.gg\u002FBHnX2Ptf4j)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-priorlabs.ai-blue)](https:\u002F\u002Fpriorlabs.ai\u002Fdocs)\n[![colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fnotebooks\u002FTabPFN_Demo_Local.ipynb)\n[![Python版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftabpfn\u002F)\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPriorLabs_TabPFN_readme_1629d6c54259.webp\" width=\"80%\" alt=\"TabPFN概览\">\n\n## 快速入门\n\n### 交互式笔记本教程\n> [!提示]\n>\n> 立即通过我们的交互式Colab笔记本开始体验吧！这是最直观的方式，带您一步步完成安装、分类和回归示例，亲身体验TabPFN的强大功能。\n>\n> [![在Colab中打开](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fnotebooks\u002FTabPFN_Demo_Local.ipynb)\n\n> ⚡ **推荐使用GPU**：\n> 为获得最佳性能，请使用GPU（即使是配备约8GB显存的旧款GPU也能很好地工作；对于某些大型数据集则需要16GB显存）。而在CPU上，仅能处理较小的数据集（≤1000个样本）。如果没有GPU？可以使用我们提供的免费托管推理服务——[TabPFN Client](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client)。\n\n### 安装\n官方安装（通过pip）\n```bash\npip install tabpfn\n```\n或者从源码安装\n```bash\npip install \"tabpfn @ git+https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git\"\n```\n又或者本地开发环境安装：首先[安装uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation)（建议使用0.10.0及以上版本），这是我们用于开发的工具，然后执行以下命令：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git --depth 1\ncd TabPFN\nuv sync\n```\n\n### 基本用法\n\n要使用我们默认的TabPFN-2.6模型，该模型完全基于合成数据训练：\n\n```python\nfrom tabpfn import TabPFNClassifier, TabPFNRegressor\n\nclf = TabPFNClassifier()\nclf.fit(X_train, y_train)  # 第一次使用时会自动下载检查点\npredictions = clf.predict(X_test)\n\nreg = TabPFNRegressor()\nreg.fit(X_train, y_train)  # 第一次使用时会自动下载检查点\npredictions = reg.predict(X_test)\n```\n\n若需使用其他版本的模型（如TabPFN-2.5）：\n\n```python\nfrom tabpfn import TabPFNClassifier, TabPFNRegressor\nfrom tabpfn.constants import ModelVersion\n\nclassifier = TabPFNClassifier.create_default_for_version(ModelVersion.V2_5)\nregressor = TabPFNRegressor.create_default_for_version(ModelVersion.V2_5)\n```\n\n完整的示例请参阅以下文件：[tabpfn_for_binary_classification.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_binary_classification.py)、[tabpfn_for_multiclass_classification.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_multiclass_classification.py)以及[tabpfn_for_regression.py](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Ftree\u002Fmain\u002Fexamples\u002Ftabpfn_for_regression.py)。\n\n### 使用技巧\n\n- **使用批量预测模式**：每次调用`predict`方法都会重新计算训练集。如果分别对100个样本调用`predict`, 效率将比一次性处理100个样本低近100倍，并且成本更高。如果测试集非常大，可将其分成每批1000个样本的小块进行处理。\n- **避免数据预处理**：不要在输入模型之前对数据进行归一化或独热编码等操作。\n- **使用GPU**：TabPFN在CPU上的运行速度较慢。为了获得更好的性能，请确保使用GPU。\n- **注意数据规模**：TabPFN最适合处理少于10万条样本、不超过2000个特征的数据集。对于更大的数据集，建议参考[大型数据集指南](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Flarge_datasets\u002Flarge_datasets_example.py)。\n\n## TabPFN生态系统\n\n根据您的需求选择合适的TabPFN实现方式：\n\n- **[TabPFN Client](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-client)**\n  一个简单的API客户端，可通过云端推理来使用TabPFN。\n\n- **[TabPFN Extensions](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions)**\n  一个功能强大的配套仓库，包含丰富的高级工具、集成和特性——非常适合贡献代码：\n\n  -  **`interpretability`**: 通过基于SHAP的解释、特征重要性分析及选择工具获取洞察。\n  -  **`unsupervised`**: 用于异常检测和合成表格数据生成的工具。\n  -  **`embeddings`**: 提取并利用TabPFN内部学习到的嵌入表示，以支持下游任务或分析。\n  -  **`many_class`**: 处理超出TabPFN内置类别限制的多分类问题。\n  -  **`rf_pfn`**: 将TabPFN与传统模型如随机森林结合，形成混合方法。\n  -  **`hpo`**: 针对TabPFN的自动化超参数优化。\n  -  **`post_hoc_ensembles`**: 在训练后集成多个TabPFN模型以提升性能。\n\n安装方法如下：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions.git\npip install -e tabpfn-extensions\n```\n\n- **[TabPFN（本仓库）](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn)**\n  核心实现，支持PyTorch和CUDA，适用于快速本地推理。\n\n- **[TabPFN UX](https:\u002F\u002Fux.priorlabs.ai)**\n  无代码图形界面，帮助探索TabPFN的功能——非常适合业务用户和原型设计。\n\n## TabPFN工作流程概览\n按照此决策树构建您的模型，并从我们的生态系统中选择合适的扩展组件。它将引导您思考关于数据、硬件和性能需求的关键问题，从而找到最适合您特定应用场景的解决方案。\n\n```mermaid\n---\nconfig:\n  theme: 'default'\n  themeVariables:\n    edgeLabelBackground: 'white'\n---\ngraph LR\n    %% 1. 定义颜色方案和样式\n    classDef default fill:#fff,stroke:#333,stroke-width:2px,color:#333;\n    classDef start_node fill:#e8f5e9,stroke:#43a047,stroke-width:2px,color:#333;\n    classDef process_node fill:#e0f2f1,stroke:#00796b,stroke-width:2px,color:#333;\n    classDef decision_node fill:#fff8e1,stroke:#ffa000,stroke-width:2px,color:#333;\n\n    style Infrastructure fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Unsupervised fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Data fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Performance fill:#fff,stroke:#ccc,stroke-width:5px;\n    style Interpretability fill:#fff,stroke:#ccc,stroke-width:5px;\n\n    %% 2. 定义图结构\n    subgraph Infrastructure\n        start((开始)) --> gpu_check[\"是否有GPU？\"];\n        gpu_check -- 是 --> local_version[\"使用TabPFN\u003Cbr\u002F>(本地PyTorch)\"];\n        gpu_check -- 否 --> api_client[\"使用TabPFN-Client\u003Cbr\u002F>(云API)\"];\n        task_type[\"您的任务是什么？\"]\n    end\n\n    local_version --> task_type\n    api_client --> task_type\n\nend_node((工作流\u003Cbr\u002F>完成));\n\n    子图 无监督\n        unsupervised_type[\"选择\u003Cbr\u002F>无监督任务\"];\n        unsupervised_type --> imputation[\"插补\"];\n        unsupervised_type --> data_gen[\"数据\u003Cbr\u002F>生成\"];\n        unsupervised_type --> tabebm[\"数据\u003Cbr\u002F>增强\"];\n        unsupervised_type --> density[\"异常值\u003Cbr\u002F>检测\"];\n        unsupervised_type --> embedding[\"获取\u003Cbr\u002F>嵌入\"];\n    结束\n\n\n    子图 数据\n        data_check[\"数据检查\"];\n        model_choice[\"样本数 > 5万 或\u003Cbr\u002F>类别数 > 10 吗？\"];\n        data_check -- \"表格中包含文本数据吗？\" --> api_backend_note[\"注：API 客户端具有\u003Cbr\u002F>原生文本支持\"];\n        api_backend_note --> model_choice;\n        data_check -- \"时间序列数据吗？\" --> ts_features[\"使用时间序列\u003Cbr\u002F>特征\"];\n        ts_features --> model_choice;\n        data_check -- \"纯表格数据\" --> model_choice;\n        model_choice -- \"否\" --> finetune_check;\n        model_choice -- \"是，5-10万样本\" --> ignore_limits[\"设置\u003Cbr\u002F>ignore_pretraining_limits=True\"];\n        model_choice -- \"是，>10万样本\" --> subsample[\"大型数据集指南\u003Cbr\u002F>(英文)\"];\n        model_choice -- \"是，>10个类别\" --> many_class[\"多分类\u003Cbr\u002F>方法\"];\n    结束\n\n    子图 性能\n        finetune_check[\"需要\u003Cbr\u002F>微调吗？\"];\n        performance_check[\"需要更优的性能吗？\"];\n        speed_check[\"需要在预测时更快地推理吗？\"];\n        kv_cache[\"启用 KV 缓存\u003Cbr\u002F>(fit_mode='fit_with_cache')\u003Cbr\u002F>\u003Csmall>更快的预测；+内存 ~O(N×F)\u003C\u002Fsmall>\"];\n        tuning_complete[\"微调完成\"];\n\n        finetune_check -- 是 --> finetuning[\"微调\"];\n        finetune_check -- 否 --> performance_check;\n\n        finetuning --> performance_check;\n\n        performance_check -- 否 --> tuning_complete;\n        performance_check -- 是 --> hpo[\"超参数优化\"];\n        performance_check -- 是 --> post_hoc[\"事后\u003Cbr\u002F>集成\"];\n        performance_check -- 是 --> more_estimators[\"更多\u003Cbr\u002F>估计器\"];\n        performance_check -- 是 --> speed_check;\n\n        speed_check -- 是 --> kv_cache;\n        speed_check -- 否 --> tuning_complete;\n\n        hpo --> tuning_complete;\n        post_hoc --> tuning_complete;\n        more_estimators --> tuning_complete;\n        kv_cache --> tuning_complete;\n    结束\n\n    子图 可解释性\n\n        tuning_complete --> interpretability_check;\n\n        interpretability_check[\"需要\u003Cbr\u002F>可解释性吗？\"];\n\n        interpretability_check --> feature_selection[\"特征选择\"];\n        interpretability_check --> partial_dependence[\"部分依赖图\"];\n        interpretability_check --> shapley[\"用\u003Cbr\u002F>SHAP 解释\"];\n        interpretability_check --> shap_iq[\"用\u003Cbr\u002F>SHAP IQ 解释\"];\n        interpretability_check -- 否 --> end_node;\n\n        feature_selection --> end_node;\n        partial_dependence --> end_node;\n        shapley --> end_node;\n        shap_iq --> end_node;\n\n    结束\n\n    %% 3. 连接子图和路径\n    task_type -- \"分类或回归\" --> data_check;\n    task_type -- \"无监督\" --> unsupervised_type;\n\n    subsample --> finetune_check;\n    ignore_limits --> finetune_check;\n    many_class --> finetune_check;\n\n    %% 4. 应用样式\n    类 start,end_node start_node;\n    类 local_version,api_client,imputation,data_gen,tabebm,density,embedding,api_backend_note,ts_features,subsample,ignore_limits,many_class,finetuning,feature_selection,partial_dependence,shapley,shap_iq,hpo,post_hoc,more_estimators,kv_cache process_node;\n    类 gpu_check,task_type,unsupervised_type,data_check,model_choice,finetune_check,interpretability_check,performance_check,speed_check decision_node;\n    类 tuning_complete process_node;\n\n    %% 5. 添加可点击链接（包括 KV 缓存示例）\n    点击 local_version \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\" \"TabPFN 后端选项\"\n    点击 api_client \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client\" \"TabPFN API 客户端\"\n    点击 api_backend_note \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client\" \"TabPFN API 后端\"\n    点击 unsupervised_type \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\" \"TabPFN 扩展\"\n    点击 imputation \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fimputation.py\" \"TabPFN 插补示例\"\n    点击 data_gen \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fgenerate_data.py\" \"TabPFN 数据生成示例\"\n    点击 tabebm \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Ftabebm\u002Ftabebm_augment_real_world_data.ipynb\" \"TabEBM 数据增强示例\"\n    点击 density \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Funsupervised\u002Fdensity_estimation_outlier_detection.py\" \"TabPFN 密度估计\u002F异常值检测示例\"\n    点击 embedding \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Ftree\u002Fmain\u002Fexamples\u002Fembedding\" \"TabPFN 嵌入示例\"\n    点击 ts_features \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-time-series\" \"TabPFN 时间序列示例\"\n    点击 many_class \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fmany_class\u002Fmany_class_classifier_example.py\" \"多分类示例\"\n    点击 finetuning \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Ffinetune_classifier.py\" \"微调示例\"\n    点击 feature_selection \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Ffeature_selection.py\" \"特征选择示例\"\n    点击 partial_dependence \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fpdp_example.py\" \"部分依赖图示例\"\n    点击 shapley \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fshap_example.py\" \"Shapley 值示例\"\n    点击 shap_iq \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Finterpretability\u002Fshapiq_example.py\" \"SHAP IQ 示例\"\n    点击 post_hoc \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fphe\u002Fphe_example.py\" \"事后集成示例\"\n    点击 hpo \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Fhpo\u002Ftuned_tabpfn.py\" \"超参数优化示例\"\n    点击 subsample \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Flarge_datasets\u002Flarge_datasets_example.py\" \"大型数据集示例\"\n    点击 kv_cache \"https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002Fexamples\u002Fkv_cache_fast_prediction.py\" \"KV 缓存加速预测示例\"\n\n```\n\n## 许可协议\n\nTabPFN-2.5 和 TabPFN-2.6 模型权重采用[非商业许可](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_6\u002Fblob\u002Fmain\u002FLICENSE)进行授权。这些是默认使用的版本。\n\n代码和 TabPFN-2 模型权重则采用 Prior Labs 许可（Apache 2.0，并附加署名要求）：[此处](LICENSE)。如需使用 v2 版本的模型权重，请按如下方式实例化您的模型：\n\n```\nfrom tabpfn.constants import ModelVersion\n\ntabpfn_v2 = TabPFNRegressor.create_default_for_version(ModelVersion.V2)\n```\n\n## 企业级与生产环境\n\n针对高吞吐量或大规模生产环境，我们提供具有以下功能的 **企业版**：\n-   **快速推理模式**：一种专有的蒸馏引擎，可将 TabPFN-2.6 转换为紧凑的 MLP 或树集成模型，从而在实时应用中实现数量级级别的更低延迟。\n-   **大数据模式（扩展模式）**：一种高级运行模式，可解除行数限制，支持包含多达 **1,000 万行** 的数据集——这一容量比默认的 TabPFN-2.5 和 TabPFN-2.6 模型提升了 1,000 倍。\n-   **商业支持**：包括用于生产场景的商业企业许可证、专属集成支持，以及对私有高速推理引擎的访问权限。\n\n**如需了解更多信息或申请商业许可，请通过 [sales@priorlabs.ai](mailto:sales@priorlabs.ai) 联系我们。**\n\n\n## 加入我们的社区\n\n我们正在构建表格型机器学习的未来，非常欢迎您的参与：\n\n1. **交流与学习**：\n   - 加入我们的 [Discord 社区](https:\u002F\u002Fdiscord.gg\u002FVJRuU3bSxt)\n   - 阅读我们的 [文档](https:\u002F\u002Fpriorlabs.ai\u002Fdocs)\n   - 查看 [GitHub 问题](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn\u002Fissues)\n\n2. **贡献**：\n   - 报告错误或请求新功能\n   - 提交拉取请求（请务必先打开一个讨论相关功能\u002F错误的问题，如果尚不存在）\n   - 分享您的研究和使用案例\n\n3. **保持更新**：为仓库加星并加入 Discord，以获取最新动态\n\n## 引用\n\n您可在此阅读解释 TabPFNv2 的论文 [这里](https:\u002F\u002Fdoi.org\u002F10.1038\u002Fs41586-024-08328-6)，以及关于 TabPFN-2.5 的模型报告 [这里](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667)。\n\n```bibtex\n@misc{grinsztajn2025tabpfn,\n  title={TabPFN-2.5: 推进表格基础模型的最先进水平},\n  author={Léo Grinsztajn 和 Klemens Flöge 和 Oscar Key 和 Felix Birkel 和 Philipp Jund 和 Brendan Roof 和\n          Benjamin Jäger 和 Dominik Safaric 和 Simone Alessi 和 Adrian Hayler 和 Mihir Manium 和 Rosen Yu 和\n          Felix Jablonski 和 Shi Bin Hoo 和 Anurag Garg 和 Jake Robertson 和 Magnus Bühler 和 Vladyslav Moroshan 和\n          Lennart Purucker 和 Clara Cornu 和 Lilly Charlotte Wehrhahn 和 Alessandro Bonetto 和\n          Bernhard Schölkopf 和 Sauraj Gambhir 和 Noah Hollmann 和 Frank Hutter},\n  year={2025},\n  eprint={2511.08667},\n  archivePrefix={arXiv},\n  url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667},\n}\n\n@article{hollmann2025tabpfn,\n title={利用表格基础模型在小数据上实现精准预测},\n author={Hollmann, Noah 和 M{\\\"u}ller, Samuel 和 Purucker, Lennart 和\n         Krishnakumar, Arjun 和 K{\\\"o}rfer, Max 和 Hoo, Shi Bin 和\n         Schirrmeister, Robin Tibor 和 Hutter, Frank},\n journal={Nature},\n year={2025},\n month={01},\n day={09},\n doi={10.1038\u002Fs41586-024-08328-6},\n publisher={Springer Nature},\n url={https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41586-024-08328-6},\n}\n\n@inproceedings{hollmann2023tabpfn,\n  title={TabPFN：一种能在一秒钟内解决小型表格分类问题的 Transformer 模型},\n  author={Hollmann, Noah 和 M{\\\"u}ller, Samuel 和 Eggensperger, Katharina 和 Hutter, Frank},\n  booktitle={2023 年国际学习表征会议},\n  year={2023}\n}\n```\n\n\n\n## ❓ 常见问题解答\n\n### **使用与兼容性**\n\n**问：TabPFN 最适合处理多大规模的数据集？**\n答：TabPFN-2.5 专为 **最多 5 万行** 的数据集而优化。对于更大的数据集，建议使用 **随机森林预处理** 或其他扩展方法。有关策略，请参阅我们的 [Colab 笔记本](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F154SoIzNW1LHBWyrxNwmBqtFAr1uZRZ6a#scrollTo=OwaXfEIWlhC8)。\n\n**问：为什么我不能使用 Python 3.8 运行 TabPFN？**\n答：TabPFN 需要 **Python 3.9 及以上版本**，因为其依赖于较新的语言特性。兼容的版本包括：**3.9、3.10、3.11、3.12、3.13**。\n\n### **安装与设置**\n\n**问：如何获取 TabPFN-2.5 \u002F TabPFN-2.6 的使用权限？**\n\n首次使用时，TabPFN 会自动打开一个浏览器窗口，您可以在其中通过 [PriorLabs](https:\u002F\u002Fux.priorlabs.ai) 登录并接受许可条款。您的认证令牌会被本地缓存，因此只需执行一次即可。\n\n**对于无界面 \u002F CI 环境**，即无法使用浏览器的环境，请访问 [https:\u002F\u002Fux.priorlabs.ai](https:\u002F\u002Fux.priorlabs.ai)，进入 **许可** 选项卡以接受许可协议，然后使用从您的账户获得的令牌设置 `TABPFN_TOKEN` 环境变量。\n\n如果您无法通过基于浏览器的流程获取访问权限，请通过 [`sales@priorlabs.ai`](mailto:sales@priorlabs.ai) 联系我们。\n\n**问：如何在没有互联网连接的情况下使用 TabPFN？**\n\nTabPFN 在首次使用时会自动下载模型权重。若需离线使用：\n\n**使用提供的下载脚本**\n\n如果您拥有 TabPFN 仓库，可以使用其中包含的脚本下载所有模型（包括集成变体）：\n\n```bash\n\n# 安装 TabPFN 后\npython scripts\u002Fdownload_all_models.py\n```\n\n此脚本会将主分类器和回归器模型，以及所有集成变体模型下载到您系统的默认缓存目录。\n\n**手动下载**\n\n1. 从 HuggingFace 手动下载模型文件：\n   - 分类器：[tabpfn-v2.5-classifier-v2.5_default.ckpt](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Fblob\u002Fmain\u002Ftabpfn-v2.5-classifier-v2.5_default.ckpt)（注意：分类器的默认版本使用在真实数据上微调的模型）。\n   - 回归器：[tabpfn-v2.5-regressor-v2.5_default.ckpt](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Fblob\u002Fmain\u002Ftabpfn-v2.5-regressor-v2.5_default.ckpt)\n\n2. 将文件放置在以下任一位置：\n   - 直接指定路径：`TabPFNClassifier(model_path=\"\u002Fpath\u002Fto\u002Fmodel.ckpt\")`\n   - 设置环境变量：`export TABPFN_MODEL_CACHE_DIR=\"\u002Fpath\u002Fto\u002Fdir\"`（参见下方的环境变量常见问题）\n   - 默认操作系统缓存目录：\n     - Windows：`%APPDATA%\\tabpfn\\`\n     - macOS：`~\u002FLibrary\u002FCaches\u002Ftabpfn\u002F`\n     - Linux：`~\u002F.cache\u002Ftabpfn\u002F`\n\n**问：加载模型时出现 `pickle` 错误，该怎么办？**\n答：请尝试以下操作：\n- 使用 `pip install tabpfn --upgrade` 下载最新版本的 TabPFN。\n- 确保模型文件已正确下载（如有必要，请重新下载）。\n\n**问：我可以使用哪些环境变量来配置 TabPFN？**\n答：TabPFN 使用 Pydantic 设置进行配置，支持环境变量和 `.env` 文件：\n\n**身份验证：**\n- `TABPFN_TOKEN`：直接提供 PriorLabs 身份验证令牌（适用于无界面或 CI 环境）。可从 [https:\u002F\u002Fux.priorlabs.ai](https:\u002F\u002Fux.priorlabs.ai) 获取。\n- `TABPFN_NO_BROWSER`：设置为禁用自动浏览器登录（例如，在不希望打开浏览器的环境中）。\n\n**模型配置：**\n- `TABPFN_MODEL_CACHE_DIR`：用于缓存下载的 TabPFN 模型的自定义目录（默认为平台特定的用户缓存目录）。\n- `TABPFN_ALLOW_CPU_LARGE_DATASET`：允许在 CPU 上运行处理大型数据集（超过 1000 个样本）的 TabPFN。将其设置为 `true` 可以绕过 CPU 的限制。注意：这将非常缓慢！\n\n**PyTorch 设置：**\n- `PYTORCH_CUDA_ALLOC_CONF`：PyTorch CUDA 内存分配配置，用于优化 GPU 内存使用（默认值为 `max_split_size_mb:512`）。更多信息请参阅 [PyTorch CUDA 文档](https:\u002F\u002Fdocs.pytorch.org\u002Fdocs\u002Fstable\u002Fnotes\u002Fcuda.html#optimizing-memory-usage-with-pytorch-cuda-alloc-conf)。\n\n示例：\n```bash\nexport TABPFN_MODEL_CACHE_DIR=\"\u002Fpath\u002Fto\u002Fmodels\"\nexport TABPFN_ALLOW_CPU_LARGE_DATASET=true\nexport PYTORCH_CUDA_ALLOC_CONF=\"max_split_size_mb:512\"\n```\n\n或者直接在 `.env` 文件中设置。\n\n**问：如何保存和加载训练好的 TabPFN 模型？**\n答：使用 `save_fitted_tabpfn_model` 来持久化已拟合的估计器，并稍后使用 `load_fitted_tabpfn_model`（或相应的 `load_from_fit_state` 类方法）重新加载。\n\n```python\nfrom tabpfn import TabPFNRegressor\nfrom tabpfn.model_loading import (\n    load_fitted_tabpfn_model,\n    save_fitted_tabpfn_model,\n)\n\n# 在 GPU 上训练回归器\nreg = TabPFNRegressor(device=\"cuda\")\nreg.fit(X_train, y_train)\nsave_fitted_tabpfn_model(reg, \"my_reg.tabpfn_fit\")\n\n# 稍后或在仅含 CPU 的机器上\nreg_cpu = load_fitted_tabpfn_model(\"my_reg.tabpfn_fit\", device=\"cpu\")\n```\n\n如果只想存储基础模型权重（而不包含已拟合的估计器），可以使用 `save_tabpfn_model(reg.model_, \"my_tabpfn.ckpt\")`。这只会保存预训练权重的检查点，以便日后创建并拟合一个新的估计器。可以通过 `load_model_criterion_config` 重新加载该检查点。\n\n### **性能与限制**\n\n**问：TabPFN 能否处理缺失值？**\n答：**能！**\n\n**问：如何提高 TabPFN 的性能？**\n答：最佳实践：\n- 使用 [TabPFN Extensions](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions) 中的 `AutoTabPFNClassifier` 进行事后集成。\n- 特征工程：添加领域特定特征以提升模型性能。\n\n无效的方法：\n- 调整特征缩放。\n- 将分类特征转换为数值类型（例如，独热编码）。\n\n**问：[Hugging-Face](https:\u002F\u002Fhuggingface.co\u002FPrior-Labs\u002Ftabpfn_2_5\u002Ftree\u002Fmain) 上有哪些不同的检查点？**\n答：除了默认检查点外，其他可用的检查点均为实验性，平均表现较差。我们建议始终从默认检查点开始。这些检查点可以用作集成或超参数优化系统的一部分（并在 `AutoTabPFNClassifier` 中自动使用），也可以手动尝试。它们的名称后缀表明了我们期望它们擅长的任务。\n\n\u003Cdetails>\n\u003Csummary>关于每个 TabPFN-2.5 检查点的详细信息\u003C\u002Fsummary>\n\n我们为在真实数据上微调的检查点添加了 🌍 图标。43 个数据集的列表请参阅 [TabPFN-2.5 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.08667)。\n\n- `tabpfn-v2.5-classifier-v2.5_default.ckpt` 🌍：默认分类检查点，已在真实数据上微调。\n- `tabpfn-v2.5-classifier-v2.5_default-2.ckpt`：最佳的合成数据分类检查点。使用此检查点可以获得未经过真实数据微调的默认 TabPFN-2.5 分类模型。\n- `tabpfn-v2.5-classifier-v2.5_large-features-L.ckpt`：专为特征数量较多（最多 500 个）且样本量较小（少于 5000 个）的情况设计。\n- `tabpfn-v2.5-classifier-v2.5_large-features-XL.ckpt`：专为特征数量更多（最多 1000 个，可能支持 `max_features_per_estimator=1000`）的情况设计。\n- `tabpfn-v2.5-classifier-v2.5_large-samples.ckpt`：专为样本量较大的情况（超过 3 万个）设计。\n- `tabpfn-v2.5-classifier-v2.5_real.ckpt` 🌍：另一个在真实数据上微调的分类检查点。整体表现不错，但在特征数量较多（超过 100-200 个）时表现较差。\n- `tabpfn-v2.5-classifier-v2.5_real-large-features.ckpt` 🌍：另一个在真实数据上微调的分类检查点，但在样本量较大（超过 1 万个）时表现不佳。\n- `tabpfn-v2.5-classifier-v2.5_real-large-samples-and-features.ckpt` 🌍：与 `tabpfn-v2.5-classifier-v2.5_default.ckpt` 完全相同。\n- `tabpfn-v2.5-classifier-v2.5_variant.ckpt`：整体表现尚可，但在特征数量较多（超过 100-200 个）时表现较差。\n- `tabpfn-v2.5-regressor-v2.5_default.ckpt`：默认回归检查点，仅在合成数据上训练。\n- `tabpfn-v2.5-regressor-v2.5_low-skew.ckpt`：专为目标变量偏度较低的数据设计（但总体表现一般）。\n- `tabpfn-v2.5-regressor-v2.5_quantiles.ckpt`：可用于分位数或分布估计的变体，不过仍应优先考虑默认检查点。\n- `tabpfn-v2.5-regressor-v2.5_real.ckpt` 🌍：在真实数据上微调的回归检查点。这是所有在真实数据上微调的检查点中表现最好的一个。对于回归任务，我们建议默认使用仅在合成数据上训练的检查点，但此检查点在某些数据集上确实表现更好。\n- `tabpfn-v2.5-regressor-v2.5_real-variant.ckpt` 🌍：另一个在真实数据上微调的回归变体。\n- `tabpfn-v2.5-regressor-v2.5_small-samples.ckpt`：在小样本量（少于 3000 个）的情况下表现略好。\n- `tabpfn-v2.5-regressor-v2.5_variant.ckpt`：另一种变体，没有明确的特长，但在少数数据集上可能表现更好。\n\n\u003C\u002Fdetails>\n\n## 开发\n\n1. 安装 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)\n2. 设置开发环境：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git\ncd TabPFN\nuv sync\nsource venv\u002Fbin\u002Factivate  # 在 Windows 上：venv\\Scripts\\activate\npre-commit install\n```\n\n3. 提交代码前：\n```bash\npre-commit run --all-files\n```\n\n4. 运行测试：\n```bash\npytest tests\u002F\n```\n\n## 匿名化遥测\n\n本项目会收集完全匿名的使用情况遥测数据，并提供选择退出所有遥测或选择加入扩展遥测的功能。\n\n这些数据仅用于帮助我们提升相关产品和计算环境的稳定性，并指导未来的改进方向。\n\n- **不会收集任何个人数据**\n- **绝不会发送代码、模型输入或输出**\n- **数据严格匿名，无法与个人关联**\n\n有关遥测的详细信息，请参阅我们的[遥测参考文档](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fblob\u002Fmain\u002FTELEMETRY.md)以及[隐私政策](https:\u002F\u002Fpriorlabs.ai\u002Fprivacy-policy\u002F)。\n\n**如需选择退出遥测**，请设置以下环境变量：\n\n```bash\nexport TABPFN_DISABLE_TELEMETRY=1\n```\n---\n\n由 [Prior Labs](https:\u002F\u002Fpriorlabs.ai) 用心打造 - 版权所有 © 2025 Prior Labs GmbH","# TabPFN 快速上手指南\n\nTabPFN 是一个基于 Transformer 的表格数据机器学习模型，无需繁琐的特征工程即可在分类和回归任务中实现高性能预测。\n\n## 环境准备\n\n*   **操作系统**：Linux, macOS, Windows\n*   **Python 版本**：3.9, 3.10, 3.11, 3.12, 3.13\n*   **硬件建议**：\n    *   **GPU（推荐）**：为了获得最佳性能，建议使用具备 CUDA 支持的 GPU。显存需求约为 8GB（部分大型数据集需 16GB）。\n    *   **CPU**：仅适用于小型数据集（样本数 ≲ 1000）。若无 GPU，建议使用 [TabPFN Client](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-client) 调用云端推理服务。\n*   **前置依赖**：PyTorch, CUDA Toolkit (若使用 GPU)\n\n## 安装步骤\n\n### 方式一：通过 pip 安装（推荐）\n\n直接使用 pip 安装官方发布版本：\n\n```bash\npip install tabpfn\n```\n\n> **提示**：国内用户若下载缓慢，可添加国内镜像源加速：\n> ```bash\n> pip install tabpfn -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 方式二：从源码安装\n\n如需体验最新开发版功能：\n\n```bash\npip install \"tabpfn @ git+https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git\"\n```\n\n### 方式三：本地开发环境安装\n\n如果你需要贡献代码或进行本地调试，推荐使用 `uv` 工具：\n\n1.  安装 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation) (建议版本 0.10.0+)\n2.  克隆仓库并同步环境：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN.git --depth 1\ncd TabPFN\nuv sync\n```\n\n## 基本使用\n\nTabPFN 的使用风格与 `scikit-learn` 高度兼容。首次运行时会自动下载预训练模型检查点。\n\n### 1. 分类任务 (Classification)\n\n```python\nfrom tabpfn import TabPFNClassifier\n\n# 初始化分类器（默认使用 TabPFN-2.6 模型）\nclf = TabPFNClassifier()\n\n# 拟合数据 (X_train: 特征矩阵，y_train: 标签向量)\nclf.fit(X_train, y_train)\n\n# 预测\npredictions = clf.predict(X_test)\n```\n\n### 2. 回归任务 (Regression)\n\n```python\nfrom tabpfn import TabPFNRegressor\n\n# 初始化回归器\nreg = TabPFNRegressor()\n\n# 拟合数据\nreg.fit(X_train, y_train)\n\n# 预测\npredictions = reg.predict(X_test)\n```\n\n### 3. 指定模型版本\n\n如需使用特定版本（例如 TabPFN-2.5）：\n\n```python\nfrom tabpfn import TabPFNClassifier, TabPFNRegressor\nfrom tabpfn.constants import ModelVersion\n\nclassifier = TabPFNClassifier.create_default_for_version(ModelVersion.V2_5)\nregressor = TabPFNRegressor.create_default_for_version(ModelVersion.V2_5)\n```\n\n## 核心使用贴士\n\n*   **批量预测**：避免循环调用 `predict`。请将测试集一次性传入，或将大测试集分块（每块约 1000 个样本）处理，否则速度会显著下降。\n*   **无需预处理**：**不要**对数据进行归一化（Scaling）或独热编码（One-Hot Encoding）。TabPFN 直接处理原始数值和类别数据效果最佳。\n*   **数据规模限制**：\n    *   最佳适用范围：样本数 \u003C 100,000 且特征数 \u003C 2,000。\n    *   若数据量更大，请参考官方提供的 [大数据集处理指南](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fblob\u002Fmain\u002Fexamples\u002Flarge_datasets\u002Flarge_datasets_example.py)。\n*   **扩展功能**：如需可解释性分析（SHAP）、异常检测、超参数优化等功能，请安装 [tabpfn-extensions](https:\u002F\u002Fgithub.com\u002Fpriorlabs\u002Ftabpfn-extensions)。","某金融风控团队需要在极短时间内，基于包含用户行为、设备指纹等混合特征的表格数据，构建高精度的欺诈交易识别模型。\n\n### 没有 TabPFN 时\n- **调参耗时漫长**：数据科学家需花费数天时间手动调整 XGBoost 或 LightGBM 的超参数，反复试错以寻找最优配置。\n- **预处理繁琐易错**：必须严格执行特征缩放、缺失值填充和独热编码，任何一步处理不当都会导致模型性能大幅下降。\n- **小样本表现不佳**：面对新出现的欺诈模式，由于标注样本稀缺（仅几百条），传统深度学习模型难以收敛，泛化能力极弱。\n- **部署门槛高**：将复杂的预处理管道与模型串联部署到生产环境，代码维护成本高且容易出错。\n\n### 使用 TabPFN 后\n- **零调参即时可用**：TabPFN 作为基础模型，无需任何超参数搜索，加载后直接 `fit` 即可达到甚至超越调优后的传统模型效果。\n- **原生支持原始数据**：完全省去了数据缩放和编码步骤，直接将原始表格数据输入模型，大幅简化了数据流水线。\n- **小样本精准预测**：凭借在合成数据上的预训练优势，TabPFN 在仅有少量样本的情况下仍能捕捉复杂非线性关系，准确识别新型欺诈。\n- **代码极简易部署**：仅需几行代码即可完成从训练到预测的全流程，显著降低了工程落地难度和维护成本。\n\nTabPFN 将表格数据建模从“手工匠人式”的调参预处理，转变为“开箱即用”的高效智能决策，极大释放了数据科学家的生产力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FPriorLabs_TabPFN_2946bf5b.png","PriorLabs","Prior Labs","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FPriorLabs_035d798d.png","",null,"prior_labs","https:\u002F\u002Fwww.priorlabs.ai","https:\u002F\u002Fgithub.com\u002FPriorLabs",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,5988,606,"2026-04-04T00:33:59","NOASSERTION","未说明","非必需但强烈推荐（CPU 仅适用于≲1000 样本的小数据集）；推荐 NVIDIA GPU，显存约 8GB+（部分大数据集需 16GB）",{"notes":95,"python":96,"dependencies":97},"首次运行会自动下载模型检查点；无需对数据进行缩放或独热编码预处理；预测时建议使用批量模式（每批约 1000 样本）以提升效率；最佳适用数据规模为样本\u003C10 万且特征\u003C2000；若无本地 GPU，可使用 TabPFN Client 通过云端 API 进行推理。","3.9 | 3.10 | 3.11 | 3.12 | 3.13",[98,99],"torch","cuda",[13,51,54],[102,103,104,105,106],"data-science","foundation-models","machine-learning","tabpfn","tabular-data","2026-03-27T02:49:30.150509","2026-04-06T05:17:37.772353",[110,115,120,125,130,135],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},14908,"如何从 TabPFN 中提取特征嵌入（feature embeddings）和结果嵌入（outcome embeddings）？","嵌入提取功能已合并到扩展库中。您可以访问 tabpfn-extensions 仓库获取相关功能：https:\u002F\u002Fgithub.com\u002FPriorLabs\u002Ftabpfn-extensions\u002Fpull\u002F39。需要注意的是，由于信息在这些嵌入之间流动，主成分无法直接映射回原始特征；虽然理论上可以通过微分确定输入特征的贡献，但这并不直接。","https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fissues\u002F231",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},14909,"在 Windows 上使用 TabPFNRegressor.predict() 时遇到 'module 'os' has no attribute 'sysconf'' 内存错误怎么办？","这是一个与数据类型（dtype）和 CPU 内存管理相关的问题。解决方案包括：\n1. 设置强制推理数据类型为较低精度，例如：`forced_inference_dtype_=torch.bfloat16` 或 `torch.float32`。\n2. 减少输入数据的行数（例如减至 2500 行）。\n3. 设置 `n_jobs=1`。\n注意：如果在 CPU 上默认使用 Torch，选项很快会耗尽，特别是当 CPU 不支持 autocast 时。","https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fissues\u002F100",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},14910,"为什么在批量微调（batched fine-tuning）后调用 model.predict_proba() 会报错？","在当前的实现中，微调循环结束后，分类器仅拟合了最后一个批次的数据，这通常不是最优的，且直接调用标准预测方法会导致断言错误（AssertionError），因为执行器类型不匹配。如果您计划进行联邦学习等需要独立评估微调后模型的场景，目前的实现可能不支持直接在微调循环外使用标准的 `predict_proba`，因为评估逻辑依赖于特定的训练上下文或需要重新拟合整个数据。建议仔细阅读论文中关于 PFN 微调机制的部分，确认其是否适用于您的应用场景。","https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fissues\u002F356",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},14911,"如何在多 GPU 环境下使用 TabPFNClassifier？它支持 .to() 方法吗？","TabPFNClassifier 对象本身不直接继承自 `torch.nn.Module`，因此没有 `.to()` 方法。要在多 GPU 环境下使用，您应该在初始化模型时通过构造函数参数指定设备，例如：`model = TabPFNClassifier(device='cuda')`。如果需要多 GPU 并行，尝试在初始化后使用 `torch.nn.DataParallel` 包装模型（需确保内部兼容性），或者依赖 TabPFN 内部的并行处理机制，而不是手动移动模型实例。","https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fissues\u002F215",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},14912,"代码中的 batch size 设置与论文描述不一致（例如笔记本中是 4 而论文是 512），应该以哪个为准？","这种差异通常是因为示例笔记本为了添加绘图代码或快速演示而临时修改了配置（例如将 batch size 从 64 改为 4）。论文中报告的超参数（如 batch size 512）是最终模型训练使用的配置。关于具体的优化步数计算，论文中的“steps”指优化步数，而代码中的一个 step 可能包含多个批次的梯度聚合（例如 aggregate_k_gradients=8）。如果发现数值对不上，可能是文档未及时更新旧模型的参数，建议参考官方发布的最新论文版本或核心训练脚本中的默认配置。","https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fissues\u002F26",{"id":136,"question_zh":137,"answer_zh":138,"source_url":114},14913,"TabPFN 的特征嵌入是否类似于 PCA 降维？能否追溯输入特征的贡献？","是的，TabPFN 中的特征嵌入功能在某种程度上类似于降维步骤（如 PCA），其中生成的主成分不能直接映射回原始特征，因为信息在嵌入之间发生了流动和混合。虽然由于整个模型是可微分的，理论上可以计算输入特征对最终特征嵌入的贡献，但这并不是一个直接的过程，需要额外的计算和分析工作。",[140,145,150,155,160,165,170,175,180,185,189,193],{"id":141,"version":142,"summary_zh":143,"released_at":144},81752,"v7.1.0","### 新增\n\n- 更具信息量的内存不足错误提示。([#805](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F805))\n- 为通过 `torchrun` 进行微调添加多 GPU DDP 支持（自动检测，无需代码更改）([#812](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F812))。\n- 在 `forward` 中添加 `task_type` 参数。([#844](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F844))。\n- 在环境配置中排除非常新的软件包版本。([#847](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F847))。\n\n### 变更\n\n- 将模型许可协议的接受界面由 Hugging Face 切换至 Prior Labs 官网。([#798](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F798))。\n- “auto” 设备选择现在会使用所有可用的 CUDA GPU，而不再仅限于第一个 GPU。([#808](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F808))。\n- 优化预处理中的指纹哈希计算：对特征矩阵进行一次四舍五入，而非逐行操作；避免重复调用 SHA-256。对于大型数据集，这可将拟合速度提升至多 2 倍。([#818](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F818))。\n\n### 修复\n\n- 修复 `FullSupportBarDistribution` 中的 `pdf()` 方法，使其正确计算概率密度。([#799](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F799))。\n- 修复 Yeo-Johnson 逆变换中的浮点溢出问题，该问题会导致生成 `inf` 值，并悄无声息地降低回归边界的分辨率。([#838](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F838))。\n- 修复 v2.6 的可微输入问题。([#843](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F843))。","2026-04-02T10:00:54",{"id":146,"version":147,"summary_zh":148,"released_at":149},81753,"v7.0.1","### 新增\n\n- 从 `get_architecture` 中移除 `n_out` 参数。([#839](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F839))\n\n### 变更\n\n- 将 TabPFN-2.6 设置为默认模型 ([#840](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F840))","2026-03-26T09:35:31",{"id":151,"version":152,"summary_zh":153,"released_at":154},81754,"v7.0.0","### 新增\n\n- 引入 TabPFN-2.6 模型并将其设为默认模型 ([#831](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F831))\n- 为 `FinetunedTabPFNClassifier` 和 `FinetunedTabPFNRegressor` 添加了参数 `use_fixed_preprocessing_seed`，以提升微调性能。\n- 该 PR 更改了预处理中使用的随机种子，这可能会导致最终结果与之前版本相比出现轻微差异。\n  ([#771](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F771))\n- 提供更详尽的内存不足错误信息。([#805](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F805))\n- 添加了 `max_onehot_cardinality` 选项，用于限制高基数分类特征进行独热编码时的维度膨胀。([#833](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F833))\n\n### 变更\n\n- 将 TabPFN-2.6 引入为 `TabPFNClassifier` 和 `TabPFNRegressor` 的新默认模型 ([#831](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F831))\n- 移除未使用的函数 `default_classifier_preprocessor_configs()` 和 `default_regressor_preprocessor_configs()` ([#831](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F831))\n- “auto” 设备选择现在会使用所有可用的 CUDA GPU，而不再仅限于第一个 GPU ([#808](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F808))\n- 优化预处理中的指纹哈希计算：对特征矩阵只进行一次四舍五入操作，而非逐行处理，从而避免重复调用 SHA-256。对于大型数据集，这可将拟合速度提升至多两倍。([#818](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F818))\n- 将 PyTorch 的最低版本要求从 2.1 提升至 2.5 ([#823](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F823))\n- 在多次拟合调用之间缓存已加载的检查点：当重复加载同一模型时（例如交叉验证、超参数搜索），可跳过冗余的磁盘 I\u002FO 操作。([#832](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F832))\n\n### 修复\n\n- 修复 `FullSupportBarDistribution` 中的 `pdf()` 方法，使其能够正确计算概率密度。([#799](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F799))\n","2026-03-24T19:53:12",{"id":156,"version":157,"summary_zh":158,"released_at":159},81755,"v6.4.1","### 变更\n\n- 下载锁 now 的作用范围已缩小到目标文件路径，允许不同模型文件的并发下载并行进行，而不是将所有下载操作串行化在一个全局锁之下。([#790](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F790))","2026-02-19T15:11:20",{"id":161,"version":162,"summary_zh":163,"released_at":164},81756,"v6.4.0","### 新增\n\n- 引入了用于处理可微输入的专用拟合方法 `fit_with_differentiable_input()` ([#752](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F752))\n- 在 `FinetunedTabPFNClassifier` 和 `FinetunedTabPFNRegressor` 的 `predict` 和 `predict_proba` 方法中透传 `kwargs`，以支持如 `output_type='full'` 等额外选项 ([#772](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F772))\n- 添加 MPS 内存限制功能，防止在使用 Apple Silicon GPU 时 macOS 系统崩溃。导入时会自动将内存限制为推荐最大值的 70%，也可通过 `TABPFN_MPS_MEMORY_FRACTION` 环境变量进行配置。([#773](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F773))\n- 增加了 `TabPFNCUDAOutOfMemoryError` 和 `TabPFNMPSOutOfMemoryError` 异常，用于处理大规模测试集预测时的 GPU 显存不足错误，并提供关于分批预测的有用指导。([#774](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F774))\n\n### 变更\n\n- 移除依赖项的版本上限限制 ([#764](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F764))\n- 重构预处理流水线：\n  * 引入 `FeatureSchema` 系统，用于在转换过程中跟踪列元数据，取代了原始的类别索引列表。\n  * 新增 `PreprocessingPipeline` 和 `PreprocessingStep` 接口，用于模块化转换，并更新了所有预处理步骤。\n  * 新增 `TabPFNLabelEncoder`，用于集中式标签验证和元数据提取。\n\n  ([#767](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F767))\n- * 引入 `AddSVDFeaturesStep` 作为专门用于 SVD 特征生成的预处理步骤\n  * 将 SVD 相关功能从 `ReshapeFeatureDistributionsStep` 中移除\n  * 将工具函数提取到新的 `tabpfn\u002Fpreprocessing\u002Fsteps\u002Futils.py` 模块中\n\n  ([#768](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F768))\n- 现在 SVD 预处理将在类别编码之后应用，以提高鲁棒性。请注意，这可能会导致最终结果与之前版本相比略有差异。([#779](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F779))\n- 从 `AddFingerprintFeaturesStep` 中移除 `random_state` 参数；指纹哈希现在是完全确定性的，不再使用随机盐。由于指纹值的变化，预测结果将与之前版本略有不同。([#780](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F780))\n- 通过引入 `OrderPreservingColumnTransformer`，修复了序数编码器中列顺序相关的问题。请注意，此更改可能导致最终结果与之前版本相比略有差异。([#788](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F788))\n\n### 修复\n\n- 修复多进程同时下载模型时的竞态条件问题 ([#738](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F738))\n- 修复当行数据包含无穷大或非常大的浮点数时指纹哈希陷入无限循环的问题 ([#780](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F780))\n\n### 已弃用\n\n- 从 `PreprocessorConfig` 中的 `global_transformer_name` 参数中移除“scaler”选项 ([#768](https:\u002F","2026-02-19T14:02:27",{"id":166,"version":167,"summary_zh":168,"released_at":169},81757,"v6.3.2","### 新增\n\n- - 将预处理相关代码移至 `src\u002Ftabpfn\u002Fpreprocessing\u002F` 目录下的专用模块中\n  - 重命名了公共函数：\n      - `validate_X_predict` → `ensure_compatible_predict_input_sklearn`\n      - `validate_Xy_fit` → `ensure_compatible_fit_inputs_sklearn`\n\n  ([#720](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F720))\n- - 为微调功能新增特性（指标选择、时间限制、传递验证数据）\n    - 向 `FinetunedTabPFNClassifier` 和 `FinetunedTabPFNRegressor` 添加了 `eval_metric` 和 `time_limit` 参数\n    - 向 `FinetunedTabPFNClassifier` 和 `FinetunedTabPFNRegressor` 的 `.fit()` 方法添加了 `X_val` 和 `y_val` 参数\n  - 修复了在拆分极小数据集时微调功能中的 bug\n  - 确保微调过程会与默认检查点进行比较，并且不会接受微调后性能更差的模型\n\n  ([#730](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F730))\n- - 确保 `TabPFNValidationError` 能够同时捕获自定义错误和 sklearn 的 `validate_data()` 错误 ([#732](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F732))\n- 对模型编码器进行重构。将 `tabpfn.architectures.base.encoders` 中的导入移至 `tabpfn.architectures.encoders` ([#733](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F733))\n- 将估计器的 `preprocessor_` 属性重命名为 `ordinal_encoder_` ([#756](https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F756))","2026-01-30T09:25:56",{"id":171,"version":172,"summary_zh":173,"released_at":174},81758,"v6.0.6","## 变更内容\n* 新增内存节省模式启发式算法，该算法考虑了推理速度。由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F605 中实现。\n* 版本升级至 6.0.1，以包含改进的自动内存节省选择功能。由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F609 中实现。\n* 添加 seed=42 的嵌入向量，并从文件中读取，以使 CPU 和 GPU 上的嵌入向量保持一致。由 @priorphil 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F612 中实现。\n* 匿名跟踪 `model_version` 和 `model_path`。由 @safaricd 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F611 中实现。\n* 在错误信息中添加指向受控模型文档的链接。由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F613 中实现。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fcompare\u002Fv6.0.0...v6.0.6","2025-12-01T00:47:11",{"id":176,"version":177,"summary_zh":178,"released_at":179},81759,"v6.0.0","## 变更内容\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F454 中将 actions\u002Fcheckout 从 4.2.2 升级至 5.0.0\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F456 中将 astral-sh\u002Fsetup-uv 从 6.4.3 升级至 6.5.0\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F455 中将 astral-sh\u002Fruff-action 从 3.5.0 升级至 3.5.1\n* 微调回归调试——重命名柱状分布图，由 @rosenyu304 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F410 中完成\n* 修复推理时类别型数据中的 NaN 值，由 @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F432 中完成\n* 改进 RemoveEmptyFeaturesEncoderStep 中的列选择功能，由 @benraha 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F468 中完成\n* 确保测试参数按确定性顺序排列，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F472 中完成\n* 将公共方法名中去掉下划线前缀，并修正方法名中的拼写错误，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F476 中完成\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F467 中将 astral-sh\u002Fsetup-uv 从 6.5.0 升级至 6.6.0\n* 在测试中使用生成的数据代替“加州住房”数据集，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F481 中完成\n* 声明 joblib 依赖项，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F477 中完成\n* 处理任意 CI 环境变量值，由 @LeoGrin 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F483 中完成\n* 为大型数据添加不均等划分支持，由 @anuragg1209 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F494 中完成\n* 将 cache_trainset_representation 参数传递至 load_model 函数，由 @priorphil 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F492 中完成\n* 为分类器的 softmax_temperature 添加说明，由 @brendan-priorlabs 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F497 中完成\n* 为 low_memory 和 fit_with_cache 模式添加一致性检查，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F498 中完成\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F489 中将 actions\u002Fsetup-python 从 5.6.0 升级至 6.0.0\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F490 中将 astral-sh\u002Fsetup-uv 从 6.6.0 升级至 6.6.1\n* 设置匿名使用情况分析的相关方法，由 @safaricd 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F499 中完成\n* 改进注意力机制中的 QKV 计算，由 @benraha 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F488 中完成\n* 如果可用，选择多个 GPU 进行推理；目前暂不启用，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F496 中完成\n* 并行评估估计器，由 @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F484 中完成\n* 提升 TabPFN 的版本号，由 @safaricd 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F504 中完成\n* 重构预处理器，由 @bejaeger 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F503 中完成\n* 更新 README 中的分类器模型文件链接，由 @anuragg1209 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F500 中完成\n* 将版本号从 2.1.4 提升至 2.2.0，由 @safaricd 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F505 中完成\n* 更新 README 以测试工作流","2025-12-01T00:43:04",{"id":181,"version":182,"summary_zh":183,"released_at":184},81760,"v2.1.3","## 变更内容\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F434 中将 mypy 从 1.17.0 升级至 1.17.1\n* @spirousschuh 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F420 中修复了包括权重在内的模型保存与加载问题\n* @LeoGrin 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F439 中添加了当 TabPFNClassifier 中的模型没有编码器时抛出错误的逻辑\n* @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F438 中修复了在 PyTorch\u003C2.5 版本上 GQA API 的检测问题\n* @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F440 中将 GPU 测试加入到 CI 流水线中\n* @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F441 中新增了 GPU 运行器 #2\n* @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F446 中修复了当 .env 文件包含其他应用设置时出现的验证错误\n* @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F450 中让 Ruff 静态代码分析工具忽略笔记本文件\n* @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F452 中通过禁用摘要使 Gemini 审查机器人输出更简洁\n* @oscarkey 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F451 中启用了 Ruff 静态代码分析工具中的类型注解规则\n* @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F449 中对所有模型进行了测试\n* @anuragg1209 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F462 中向模型加载功能添加了更多微调后的检查点\n* @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F463 中更新了 CHANGELOG.md 文件\n* @noahho 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F464 中提升了软件包版本\n* @benraha 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F459 中实现了基于 PyTorch 的 CPU 注意力机制\n\n## 新贡献者\n* @spirousschuh 在 https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fpull\u002F420 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FPriorLabs\u002FTabPFN\u002Fcompare\u002Fv2.1.1...v2.1.3","2025-08-22T10:13:25",{"id":186,"version":187,"summary_zh":79,"released_at":188},81761,"v2.1.1","2025-08-03T11:03:22",{"id":190,"version":191,"summary_zh":79,"released_at":192},81762,"v2.1.0","2025-07-28T17:08:33",{"id":194,"version":195,"summary_zh":79,"released_at":196},81763,"v2.0.9_","2025-07-28T17:12:43"]