cuml机器学习GPU库 sklearn升级版AutoDL使用

CUML库

最近在做机器学习任务的时候发现我自己的数据集太大,直接用sklearn 跑起来时间很长,然后问GPT得知了有CUML库,后来去研究了一下,发现这个库只支持linux系统,从官网直接获取下载命令基本上也实现不了最后,选择使用AutoDL租了一个GPU来安装这个库。具体步骤如下。


目前好像不太行了得需要换源才行,该文章安装部分可能不会成功了,隐藏会扣分,我找到好用的办法再分享给大家
如果是正常讨论的话本身电脑就是liunx系统,按照道理说,直接去下面的官网链接去过去下载指令就可以了。进去之后的界面如下,反正我是没有成功,但我看似乎别人都是这吗做的,所以姑且把链接贴上。
链接: https://docs.rapids.ai/install#prerequisites
在这里插入图片描述

安装

接下啦是我的方法,首先进入AutoDL官网
链接: https://www.autodl.com/home
点击右上角的控制台
在这里插入图片描述
点击左侧的实例容器
在这里插入图片描述
点击租用新的实例
在这里插入图片描述
选择一个带GPU的设备
在这里插入图片描述
滑到最底部然后选择框架,以及cuda版本
在这里插入图片描述
点击立即创建
在这里插入图片描述
创建成功之后点击右侧的jupterlab
在这里插入图片描述
点击下面的终端创建一个终端窗口
在这里插入图片描述
然后再里面我们需要建立一个新的解释器环境,来保证与cuml库适配,不会因为python版本问题导致安装失败。
我们先输入如下指令

conda create -n rapids python=3.9

然后输入y敲回车进入安装
在这里插入图片描述
然后输入如下指令

source activate rapids

进入我们刚刚安装好的环境
在这里插入图片描述
最关键的部分来了请运行如下命令,从这个源安装cuml库

pip install --default-time=300 --extra-index-url=https://pypi.nvidia.com cuml-cu11

等待安装成功之后,在命令行输入python,然后再输入import cuml
OK 没问题
在这里插入图片描述
然后我们要在jupter上使用所以需要配置一下新的内核,我们先输入exit()退出python,然后再命令行输入如下命令

python -m ipykernel install --name rapids

如果遇到如下情况我们先安装ipykernel
在这里插入图片描述
输入如下指令安装

 pip install ipykernel

在这里插入图片描述
之后输入

python -m ipykernel install --name rapids

注意一定要在新建的环境下输入该命令
如果安装错了运行如下命令删除内核

jupyter kernelspec remove rapids

在这里插入图片描述
之后点击一下浏览器的页面刷新
在这里插入图片描述
再点击右侧加号
在这里插入图片描述
即可以看到新的内核的jupter笔记本,点开笔记本。
在这里插入图片描述
输入

import cuml

然后点击上方小三角,没有报错运行成功
在这里插入图片描述

对比实验

为了对比我们也要安装sklearn库做一下时间的对比
回到启动页点击终端
在这里插入图片描述
进入终端依次输入以下两个指令

source activate rapids

清华园 sklearn安装命令

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn

在这里插入图片描述
看到安装成功
回到刚才建好的ipynb文件,输入

import sklearn

运行没报错
在这里插入图片描述
接下来我们用KNN算法进行以下对比
首先运行sklearn的KNN算法如下,运行时间1分11秒
在这里插入图片描述

from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
import numpy as np
import time

X = np.random.random((1000000,70))
y = np.random.randint(0,2,1000000)

# 分割数据为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 初始化KNN分类器。这里选择邻居数为3。
knn = KNeighborsClassifier(n_neighbors=20)

# 使用训练数据拟合模型
start_time = time.time()  # 记录开始时间
knn.fit(X_train, y_train)

# 进行预测
y_pred = knn.predict(X_test)
end_time = time.time()  # 记录结束时间
elapsed_time = end_time - start_time  # 计算程序运行时间,单位为秒
# 将秒数转换为小时、分钟和秒数
hours = int(elapsed_time // 3600)
minutes = int((elapsed_time % 3600) // 60)
seconds = int(elapsed_time % 60)
print(f"程序运行时间:{hours}小时 {minutes}分钟 {seconds}秒\n")

# 评估预测的准确性
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

接下来我们查找cuml库中KNN算法的API

cuml库API用法查询

链接: https://docs.rapids.ai/api/cuml/stable/

点击右上角小放大镜
在这里插入图片描述
然后输入sklearn中KNN算法的API名称
在这里插入图片描述
我研究了一下用的是这个
在这里插入图片描述
然后我们用

from cuml.neighbors import KNeighborsClassifier

替换

from sklearn.neighbors import KNeighborsClassifier

运行,使用时间从1分11秒缩短为5秒
在这里插入图片描述
在这里插入图片描述

from sklearn.model_selection import train_test_split
# from sklearn.neighbors import KNeighborsClassifier
from cuml.neighbors import KNeighborsClassifier

from sklearn.metrics import accuracy_score
import numpy as np
import time

X = np.random.random((1000000,70))
y = np.random.randint(0,2,1000000)

# 分割数据为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 初始化KNN分类器。这里选择邻居数为3。
knn = KNeighborsClassifier(n_neighbors=20)

# 使用训练数据拟合模型
start_time = time.time()  # 记录开始时间
knn.fit(X_train, y_train)

# 进行预测
y_pred = knn.predict(X_test)
end_time = time.time()  # 记录结束时间
elapsed_time = end_time - start_time  # 计算程序运行时间,单位为秒
# 将秒数转换为小时、分钟和秒数
hours = int(elapsed_time // 3600)
minutes = int((elapsed_time % 3600) // 60)
seconds = int(elapsed_time % 60)
print(f"程序运行时间:{hours}小时 {minutes}分钟 {seconds}秒\n")


# 评估预测的准确性
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

完结撒花

AutoDLAutomated Deep Learning)是一种自动化深度学习的方法,它旨在简化和加速深度学习模型的训练和调优过程。AutoDL可以自动选择和配置适合任务的神经网络结构、超参数和优化算法,从而减少了手动调整的工作量。 要手动配置使用GPU进行AutoDL,您需要完成以下步骤: 1. 安装CUDA和cuDNN:首先,您需要安装适用于您的GPU的CUDA和cuDNN。CUDA是NVIDIA提供的用于GPU计算的并行计算平台,而cuDNN是用于深度神经网络的GPU加速。 2. 安装深度学习框架:选择一个适合您的任务和喜好的深度学习框架,如TensorFlow、PyTorch或Keras,并按照其官方文档进行安装。 3. 配置GPU支持:在深度学习框架中,您需要启用GPU支持。通常,这可以通过设置环境变量或在代码中指定设备为GPU来完成。 4. 加载数据集:准备您的数据集并将其加载到深度学习框架中。这可能涉及数据预处理、划分训练集和测试集等步骤。 5. 构建模型:根据您的任务需求,选择适当的神经网络结构,并使用深度学习框架构建模型。这可能包括定义网络层、选择激活函数和损失函数等。 6. 配置训练参数:设置训练过程中的超参数,如学习率、批量大小和训练轮数。这些参数的选择可能需要一些经验和实验。 7. 训练模型:使用GPU进行模型训练。在训练过程中,深度学习框架会自动利用GPU加速计算,从而提高训练速度。 8. 评估和调优:在训练完成后,使用测试集对模型进行评估,并根据评估结果进行调优。这可能涉及调整超参数、尝试不同的网络结构或使用正则化技术等。 请注意,手动配置和使用GPU进行AutoDL需要一定的深度学习和GPU知识。如果您是初学者或对深度学习不太熟悉,建议先学习深度学习的基础知识,并尝试使用已经配置好GPU支持的深度学习环境。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩浩的科研笔记

这我为您答疑发送资源的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值