微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在GPU上加速CatBoost.cv?

如何解决有没有办法在GPU上加速CatBoost.cv?

尽管catboostClassifier对我来说相当快,但是cv在GPU上的性能却非常慢。

所有所有迭代都非常快,但是每300-400次迭代都会有一个很大的暂停(〜5分钟)。暂停结束后,迭代将持续约5秒钟,直到下一个大暂停。

我认为catboost.cv在这些暂停期间无法有效地将数据传递到GPU。

在此期间,GPU使用率从1%到20%。

是否可以使用GPU加速from catboost import cv,Pool params = { 'loss_function': 'MultiClass','task_type':"GPU",'devices': '0'} cv_dataset = Pool(data= X_train[features],label= y_train,cat_features=categorical_feature) scores = cv(cv_dataset,params,fold_count=3,iterations = 1500) ?也许有一种方法可以将整个数据集存储在GPU中,以使这些暂停不再发生?

这是导致代码变慢的代码的一部分:

$('.next').on('click',function(){
    goNext($(this));
});

$('.prev').on('click',function(){
    goPrev($(this));
});


function goNext(control){

    var slider = control.parents(".slider");
    var imgActive = slider.find('img.active');
    var imgNext = slider.find('img.active').next();

    if(imgActive.hasClass('last') == true){
        imgActive.removeClass('active');
        slider.find('img.first').addClass('active');
    } else{
        imgActive.removeClass('active');
        imgNext.addClass('active');
    }
}

function goPrev(control){

    var slider = control.parents(".slider");
    var imgActive = slider.find('img.active');
    var imgPrev = slider.find('img.active').prev();

    if(imgActive.hasClass('first') == true){
        imgActive.removeClass('active');
        slider.find('img.last').addClass('active');
    } else{
        imgActive.removeClass('active');
        imgPrev.addClass('active');
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。