忿忿的泥巴坨 发表于 2024-8-18 13:22:56

如何利用OpenBayes安装GPU版本LightGBM

最近在参加数据发掘比赛,代码中利用了LightGBM来进行建模,但是利用CPU版原来进行练习真的太慢了,五折交叉验证必要2-3个小时,效率很低,所以尝试构建GPU版本的lgb来进行建模,由于本地AMD的GPU环境,感觉也不太好搭建,所以选择利用云算力平台来进行搭建,但很多云服务器又没有root权限,纵然安装了CUDA也找不到安装路径等诸如此类问题,一直找不到合适的云服务器,还好想起来了有OpenBayes,固然不能在文件管理中直接查看系统设置文件,但是可以通过linux命令来查看,而且还安装成功了,速度提拔了8倍左右,只必要10-20分钟就能完成练习。下面详细先容一下安装流程:
OpenBayes注册利用地址:
https://openbayes.com/console/signup?r=datayouth_18uy
新用户注册完成手机号及邮箱双重验证后,即可获得4小时RTX 4090、5小时CPU免费利用时长以及免费存储空间 50 GB。

创建新容器

利用上面的链接注册登录之后,在平台的【模型练习】页面下点击【创建新容器】。
https://i-blog.csdnimg.cn/direct/631d9ca966fd43b49910fa64b3406a29.png
填写容器基本信息

容器名称必填,另外也可以先自己上传数据到数据仓库,然后直接绑定容器就OK,接入方式选择jupyterlab的工作空间,可设置主动关闭,当JupyterLab 页面被关闭大概CPU 利用率连续低于 2%的时候会被视为空闲,空闲状态一段时间后将被主动关闭,当容器被认定为空闲状态后容器的创建者会收到短信大概邮件提示。
https://i-blog.csdnimg.cn/direct/a5fef2cb3264454eb6c9f53807494686.png
选择算力

Openbayes提供了丰富的算力资源,最高可以提供96核CPU,192GB显存,320GB内存,800GB工作空间,详细算力资源如下所示。选择好合适的算力后,再选择镜像设置,包含了现有主流的深度学习框架,如torch、tf、paddle等。
https://i-blog.csdnimg.cn/direct/7c708eb690e844fa8b5318789d09346c.png
https://i-blog.csdnimg.cn/direct/8ec2b6f1a59c403b9944c95ab6ae7b26.png
练习开始

选择好设置之后,点击【审核并实行】后再点击【实行】即可开始OpenBayes之旅。在实行记录页面可以清楚地看到CPU、内存、GPU的利用率环境,可以很好的监控练习过程。点击Jupyter的工作空间即可开始。
https://i-blog.csdnimg.cn/direct/9fdbe7633f0a41af870dca35f1c9f3cc.png
GPU版本LightGBM模型构建

安装sudo

apt-get update
apt-get install sudo 命令行安装

sudo apt-get install libboost-all-dev
sudo apt install ocl-icd-opencl-dev
sudo apt-get install cmake
apt-get update --fix-missing CUDA目录查抄

/usr/local/cuda/lib64/libOpenCL.so.1
/usr/local/cuda/include/ 通过在命令行运行cd、ls命令可以看到这两个目录都存在。
https://i-blog.csdnimg.cn/direct/6601b9f9493047df83b497dd486fe269.png
设置环境变量

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++ 导入并构建

git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
cmake -B build -S . -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/
cmake --build build
安装python接口

sh ./build-python.sh install --cuda 检验安装是否成功

import lightgbm
import numpy as np

def check_gpu_support():
    data = np.random.rand(50, 2)
    label = np.random.randint(2, size=50)
    print(label)
    train_data = lightgbm.Dataset(data, label=label)
    params = {'num_iterations': 1, 'device': 'cuda'}
    try:
      gbm = lightgbm.train(params, train_set=train_data)
      print("GPU True !!!")
    except Exception as e:
      print("GPU False !!!")


if __name__ == '__main__':
    check_gpu_support()
此外也可以参考LightGBM官方的安装教程:
https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#build-gpu-version

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 如何利用OpenBayes安装GPU版本LightGBM