import xgboost as xgb
import numpy as np
from sklearn.datasets import fetch_covtype
from sklearn.model_selection import train_test_split
import time
# Fetch dataset using sklearn
cov = fetch_covtype()
X = cov.data
y = cov.target
# Create 0.75/0.25 train/test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, train_size=0.75, random_state=42)
# Specify sufficient boosting iterations to reach a minimum
num_round = 25 #3000 # Leave most parameters as default
param = {'objective': 'multi:softmax', # Specify multiclass classification
'num_class': 8, # Number of possible output classes
'tree_method': 'gpu_hist' # Use GPU accelerated algorithm
}
# Convert input data from numpy to XGBoost format
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)
gpu_res = {} # Store accuracy result
tmp = time.time()
# Train model
param['tree_method'] = 'gpu_hist'
xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=gpu_res)
print("GPU Training Time: %s seconds" % (str(time.time() - tmp)))
[0]	test-merror:0.254804
[1] test-merror:0.247885
[2] test-merror:0.24427
[3] test-merror:0.240677
[4] test-merror:0.238474
[5] test-merror:0.234763
[6] test-merror:0.232147
[7] test-merror:0.229716
[8] test-merror:0.227162
[9] test-merror:0.224622
[10] test-merror:0.222632
[11] test-merror:0.220773
[12] test-merror:0.218453
[13] test-merror:0.215582
[14] test-merror:0.214605
[15] test-merror:0.212223
[16] test-merror:0.211176
[17] test-merror:0.209868
[18] test-merror:0.208622
[19] test-merror:0.205917
[20] test-merror:0.20434
[21] test-merror:0.203727
[22] test-merror:0.202591
[23] test-merror:0.201621
[24] test-merror:0.199817
GPU Training Time: 4.505811929702759 seconds
# Repeat for CPU algorithm
tmp = time.time()
param['tree_method'] = 'hist'
cpu_res = {}
xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=cpu_res)
print("CPU Training Time: %s seconds" % (str(time.time() - tmp)))
[0]	test-merror:0.254831
[1] test-merror:0.247912
[2] test-merror:0.244298
[3] test-merror:0.24069
[4] test-merror:0.238536
[5] test-merror:0.234804
[6] test-merror:0.232229
[7] test-merror:0.229703
[8] test-merror:0.227162
[9] test-merror:0.224519
[10] test-merror:0.222784
[11] test-merror:0.220705
[12] test-merror:0.21844
[13] test-merror:0.21676
[14] test-merror:0.214736
[15] test-merror:0.212257
[16] test-merror:0.210206
[17] test-merror:0.209345
[18] test-merror:0.207617
[19] test-merror:0.206102
[20] test-merror:0.205194
[21] test-merror:0.202798
[22] test-merror:0.202309
[23] test-merror:0.200554
[24] test-merror:0.199328
CPU Training Time: 49.719186305999756 seconds

Xgboost GPU 加速的更多相关文章

  1. Gradient Boosting, Decision Trees and XGBoost with CUDA ——GPU加速5-6倍

    xgboost的可以参考:https://xgboost.readthedocs.io/en/latest/gpu/index.html 整体看加速5-6倍的样子. Gradient Boosting ...

  2. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  3. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  4. Theano在windows下的安装及GPU加速

    安装环境:wondows 64bit Teano安装测试 1. Anaconda 安装 Anaconda是一个科学计算环境,自带的包管理器conda很强大.之所以选择它是因为它内置了python,以及 ...

  5. GPU 加速NLP任务(Theano+CUDA)

    之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...

  6. 开启gpu加速的高性能移动端相框组件!

    通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...

  7. ubuntu 15 安装cuda,开启GPU加速

    1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只 ...

  8. Silverlight - GPU加速

    1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...

  9. 用cudamat做矩阵运算的GPU加速

    1. cudamat简介 cudamat是一个python语言下,利用NVIDIA的cuda sdk 进行矩阵运算加速的库.对于不熟悉cuda编程的程序员来说,这是一个非常方便的GPU加速方案.很多工 ...

随机推荐

  1. 洛谷P4051 字符加密 [JSOI2007] SA

    正解:SA 解题报告: 传送门! 和工艺那题有点儿像鸭,,,反正肯定就都想到倍长然后SA拍个序嘛先 然后就做完了,,,我发现SA的题刷起来特别susi,,,基本上紫题级别的都just一个模板就欧克了最 ...

  2. python:Crypto模块的下载

    1.下载 Crypto 用于一些加密算法,需要引入的模块 目前做支付宝接口的时候会用到 pip3 install pycryptodome # 该方式是正常的 快速方式:pip3 install -i ...

  3. caffe 环境搭建

    1.VS安装 VS社区版(个人免费): http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464 ...

  4. centos7.2 Apache+PHP7.2+Mysql5.6环境搭建

    yum安装PHP7.2 由于linux的yum源不存在php7.x,所以我们要更改yum源:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-re ...

  5. Fiddler抓包【2】_捕获设置

    1.Fiddler抓web网站请求 手动设置方法一:Tools--->WinINET Options--->连接--->局域网设置--->代理服务器勾选后“高级”---> ...

  6. Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件

    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的 ...

  7. 通过类创建子线程&同步锁

    一.通过类创建子线程 import threading class MyThread(threading.Thread): def __init__(self,num): threading.Thre ...

  8. 使用Redux DevTools浏览器插件调试redux

    与redux的Devtools模块不同,该工具主要依赖浏览器插件完成.模式也比Devtools简单点. step1 下载插件 Chrome地址(360极速模式也可以用): https://chrome ...

  9. Excel坐标自动在AutoCad绘图_2

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  10. OxyPlot Controller OxyPlot控制器

    Default input bindings The default input bindings in the PlotController are: Action Gesture Pan* Rig ...