Nature 2025 TabPFN的使用与报错解决

官网链接:GitHub - PriorLabs/TabPFN: ⚡ TabPFN: Foundation Model for Tabular Data ⚡

1、TabPFN的安装

直接

复制代码
pip install tabpfn

2、官网运行代码

(1)分类

python 复制代码
from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score, roc_auc_score
from sklearn.model_selection import train_test_split

from tabpfn import TabPFNClassifier
from tabpfn.constants import ModelVersion

# Load data
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)

# Initialize a classifier
clf = TabPFNClassifier()  # Uses TabPFN 2.5 weights, finetuned on real data.
# To use TabPFN v2:
# clf = TabPFNClassifier.create_default_for_version(ModelVersion.V2)
clf.fit(X_train, y_train)


# Predict probabilities
prediction_probabilities = clf.predict_proba(X_test)
print("ROC AUC:", roc_auc_score(y_test, prediction_probabilities[:, 1]))

# Predict labels
predictions = clf.predict(X_test)
print("Accuracy", accuracy_score(y_test, predictions))

(2)回归

python 复制代码
from sklearn.datasets import fetch_openml
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split

from tabpfn import TabPFNRegressor
from tabpfn.constants import ModelVersion

# Load Boston Housing data
df = fetch_openml(data_id=531, as_frame=True)  # Boston Housing dataset
X = df.data
y = df.target.astype(float)  # Ensure target is float for regression

# Train-test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)

# Initialize the regressor
regressor = TabPFNRegressor()  # Uses TabPFN-2.5 weights, trained on synthetic data only.
# To use TabPFN v2:
# regressor = TabPFNRegressor.create_default_for_version(ModelVersion.V2)
regressor.fit(X_train, y_train)

# Predict on the test set
predictions = regressor.predict(X_test)

# Evaluate the model
mse = mean_squared_error(y_test, predictions)
r2 = r2_score(y_test, predictions)

print("Mean Squared Error (MSE):", mse)
print("R² Score:", r2)

3、"连接失败"报错解决

但这里我直接运行出现报错

由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。' thrown while requesting HEAD https://huggingface.co/Prior-Labs/tabpfn_2_5/resolve/main/tabpfn-v2.5-classifier-v2.5_default.ckpt

这是由于huggingface的限制,无法连接上,这里提供两种方案

(1)安全上网去huggingface官网下载

Prior-Labs/tabpfn_2_5 at main

但这里注意,你什么版本报错,就下载对应的ckpt文件,我这里下的其实是tabpfn2.0

这里有很多ckpt文件,我就下载了分类的default,然后修改代码

python 复制代码
model_path = "./tabpfn/tabpfn-v2.5-classifier-v2.5_default.ckpt"
clf = TabPFNClassifier(
        model_path=model_path,  # 直接指定路径
        device='cuda:0',  # 如果没有GPU,使用CPU
        ) 

(2)去镜像网站上下载

Prior-Labs/TabPFN-v2-clf at main

由于我本地笔记本没有gpu,因此使用了cpu,但这里cpu也有报错,因为cpu性能太低了,触发了保护机制

于是使用服务器进行实验,但这里出现新的问题,可能还有一些是参数不对,这是由于下载的版本和权重文件不符合,因此导致对不上。(ps:tabpfn一定要python>=3.9)

提供一个我下载的版本:

python 复制代码
torch==2.1.1+cu118
tabpfn==2.2.1
model=tabpfn-v2-classifier-finetuned-zk73skhh.ckpt

终于运行成功啦!!


都看到这里了,给个小心心♥呗~

相关推荐
song150265372989 小时前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测
xsd202411189 小时前
AI 智能美甲推荐系统技术全解析
人工智能·计算机视觉
原子延迟9 小时前
批量压缩视频会变大?HandBrake等3款(2026)
图像处理·人工智能·计算机视觉·音视频
其实防守也摸鱼9 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
Zhao-Jichao9 小时前
AI Prompting for Everyone 课程笔记 - P19 数据分析 Data Analysis
人工智能·笔记·数据分析
阿里云大数据AI技术9 小时前
MaxAgent 实战课堂(一):从开通到第一次有效提问
人工智能·agent
孟健10 小时前
我用Grok Bot本地剪口播视频,3段提示词搞定气口切除、字幕与封面
人工智能·python·aigc
Bode_200210 小时前
精益制造推行成熟度与核心量化评估体系
大数据·人工智能
加林so cool10 小时前
FDEday1-3
人工智能