首页 > 解决方案 > 有没有办法在 GPU 上加速 CatBoost.cv?

问题描述

尽管 CatBoostClassifier 对我来说相当快,但我catboost.cv在 GPU 上的性能却很慢。

所有的迭代都非常快,但是每 300-400 次迭代,就会有一个很大的停顿(约 5 分钟)。一旦暂停结束,迭代会在下一个大暂停之前持续大约 5 秒。

我假设 catboost.cv 在这些暂停期间将数据传递给 GPU 的效率很低。

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

cv有没有办法用 GPU加速?也许有一种方法可以将整个数据集存储在 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)

标签: pythoncatboost

解决方案


推荐阅读