有没有办法在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 (将#修改为@)