操做系統版本:CentOS7.Xpython
顯卡版本:英偉達 Tesla P100linux
其餘軟件包安裝信息:git
特別說明,若是沒有在官網找到你的顯卡版本對應的驅動,請儘快尋找你的顯卡提供商確認驅動信息,不要輕易嘗試;那就是在浪費時間,切記!github
這裏安裝P100驅動的方式,經過Yum Rpm包的安裝方式,其餘相關的Linux系統能夠經過對應的包管理或者二進制的方式安裝,若是是CentOS系統,咱們很是推薦使用Yum進行安裝。shell
咱們能夠經過查看pci的接口,確認顯卡信息,以及是否識別出顯卡,固然默認沒有這個工具,咱們須要安裝;安裝方式以下:bootstrap
yum install pciutils -y
能夠經過過濾VGA來精確信息:服務器
lspci|grep -i vga
這裏咱們經過wget在線下載驅動,經過rpm安裝載入到系統中:工具
wget http://cn.download.nvidia.com/tesla/410.79/nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm rpm -ivh nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm
在往下走以前咱們須要配置epel源,便於後面安裝dkms
:開發工具
yum install epel-*
經過Yum安裝,目前這是最簡單的方式,若是你想挑戰也能夠採用二進制tarall的方式:測試
yum install dkms -y yum install nvidia* -y
最後爲了生效,咱們須要重啓操做系統:
reboot
每每重啓後,你不肯定是否成功,那若是去查看信息呢,我推薦經過一下三個步驟:
lspci | grep -i nv # 查看是否加載驅動配置 lsmod | grep -i nouveau # 是否關閉了默認顯卡驅動 dmesg | grep NVRM # 查看開啓加載是否有異常信息
到了這裏,成責成,不成你就要日誌了,別照着網上文章亂搞。
只有驅動仍是不夠的,咱們換須要一個些工具包便於咱們使用,其中 CUDA、CUDNN就是咱們要安裝的包。
導入官方CUDA包
rpm -ivh http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm
經過Yum安裝便可
yum install cuda-9.0.176-1
咱們推薦不要安裝太新的,好多組件不必定可以支持。
查看版本技巧:yum search --showduplicates cuda
PS:下載CUDNN,你可能須要一個會員,須要登陸纔可以下載
Download下載地址: https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.4.2/prod/9.0_20181213/cudnn-9.0-linux-x64-v7.4.2.24.tgz
上傳到服務器上後,解壓Copy對應的庫文件便可(這裏咱們默認你已經回上傳文件到服務之上):
tar xf cudnn-9.0-linux-x64-v7.4.2.24.solitairetheme8 cp cuda/include/cudnn.h /usr/local/cuda/include cp -a cuda/lib/* /usr/local/cuda/lib64/
這個安裝對於CentOS7的系統是很是坑的,必需要來編譯原聲的組件,編譯失敗的因素不少,你準備好了?
安裝OpenGL,默認狀況下CUDA安裝時已經安裝,因此無需單獨安裝;(特別注意,有時候會遇到軟鏈接丟失形成找不到so庫文件),解決方法就是補全軟鏈接便可了。
PS:補全方式,相似常規方法,經過ln 命令模擬確實的so文件便可。
安裝前,你須要安裝一些依賴,來保證後面的步驟可以順序執行(我並不能保證你按照個人方式必定會成功,但至少我成功了,若是出錯你須要詳細檢查報錯信息+你的機智來解決問題)
yum install wget gcc python python python-devel -y
安裝命令以下,你能夠直接Copy執行(在Root身份下)
cd /usr/local/src wget https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.gz tar xf boost_1_61_0.tar.gz cd boost_1_61_0 ./bootstrap.sh --prefix=/usr/local/include/boost ./b2 install
咱們還須要安裝tools工具,放心這個不會報錯,錦上添花的功能:
cd tools/build/ ./b2 install --prefix=/usr/local/include/boost
沒有什麼特別好說的,常規操做(你在Root身份下直接複製便可):
cd /usr/local/src wget https://cmake.org/files/v3.12/cmake-3.12.0-rc1.tar.gz tar -zxf cmake-3.12.0-rc1.tar.gz cd cmake-3.12.0-rc1 ./bootstrap gmake -j $(nproc) gmake install
檢查是否成功與查看版本:
cmake --version
PS:開始前,咱們認爲已經安裝了Python3的環境,固然Python2也是能夠的,不過你須要作好心理準備。
命令以下:建議Root用戶或等同權利的用戶執行
cd /usr/local/src/ git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM mkdir build ; cd build cmake -DUSE_GPU=1 .. make -j 12 cd ../python-package/ python3 setup.py install
將so動態庫Copy到系統之中,自行操做,不在演示。
安裝基礎測試數據包:
pip3 install wheel numpy scipy scikit-learn -U -i https://pypi.doubanio.com/simple
下載解析處理數據:
cd /usr/local/src git clone https://github.com/guolinke/boosting_tree_benchmarks.git cd boosting_tree_benchmarks/data wget "https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz" gunzip HIGGS.csv.gz python3 higgs2libsvm.py
PS: 這裏你可能會遇到xrange
錯誤,由於Python3已經沒有xrange,這裏修改成range便可。
建立測試數據:
cat > lightgbm_gpu.conf <<EOF max_bin = 63 num_leaves = 255 num_iterations = 50 learning_rate = 0.1 tree_learner = serial task = train is_training_metric = false min_data_in_leaf = 1 min_sum_hessian_in_leaf = 100 ndcg_eval_at = 1,3,5,10 sparse_threshold = 1.0 device = gpu gpu_platform_id = 0 gpu_device_id = 0 EOF echo "num_threads=$(nproc)" >> lightgbm_gpu.conf
測試命令以下:
# Run of GPU /usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc # Run of CPU /usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc device=cpu
這裏能夠將生成的lightgbm命令與So文件Copy到系統之中方便後期使用。
看到這裏說明你已經成功了,是否是很Easy,固然若是你沒搞定回頭看看錯誤信息;個人這個博文你不必定可以成功,至少我成功過了,切記不要根據網上的帖子亂搞。