svm使用gpu加速

博客介绍了在sklearn中SVM训练速度慢的问题,并推荐了一个名为ThunderSVM的库,该库支持GPU加速,显著提高了训练效率。通过简单的API调用,实现了与sklearn类似的二分类任务,显示了使用ThunderSVM后的训练速度提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sklearn里面的svm拿来训练真的贼慢,还不能使用多线程加速,哪怕你的cpu是8核或者16核,训练的时候只使用1核,找了各种方式没有找到

最终发现一个库,叫做thundersvm,可以做gpu加速

使用起来也十分的简单,api几乎和sklearn里面是一模一样的

安装使用pip安装就行:

pip install thundersvm

下面演示一下二分类:

import numpy as np
import pandas as pd
#from sklearn import svm
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from imblearn.over_sampling import SMOTE, ADASYN
from imblearn.under_sampling import RandomUnderSampler
#from sklearn.model_selection import GridSearchCV
from sklearn.utils import parallel_backend
from thundersvm import SVC

import torch
#model = svm.SVC(kernel='linear',class_weight ='balanced', random_state = 12)
model = SVC(kernel='linear')
df=pd.read_csv('results.csv')

df['target']=df['target'].apply(lambda x: 1 if x=='man' else 0)
print(df.head())
train,test=train_test_split(df,test_size=0.2,random_state=42)
train_data=train[[str(i+1) for i in range(512)]]#列名
train_label=train['target']

sampling_strategy = 0.8
X_resampled, y_resampled = SMOTE().fit_resample(train_data, train_label)
print(X_resampled.shape)
clf =model.fit(X_resampled, y_resampled )
y_pred = model.predict(test[[str(i+1) for i in range(512)]])
print(classification_report(test['target'],y_pred))

速度真的超级快,快好几十倍

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值