python - 有没有办法在 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)
解决方案
推荐阅读
- c# - 为什么我在整个程序中都收到错误“修饰符'public'/'private'对此项目(CS0106)无效?
- javascript - ChartJs Pointstyle 图像仅在悬停时呈现
- swift - 使用基于协议的 Enum 时遇到的问题
- python-3.x - Seaborn:在同一图中绘制散点图超过线图
- java - Kotlin - 作为尾随 Lambda 的接口
- python - 如何在 Python 中使用 K-Means 聚类划分数据
- javascript - 返回具有以下格式的数组:[lowestKey,highestKey]
- sql-server - SSIS 从 Excel 单元格中提取链接以加载到 SQL
- eclipse - 最新的 Eclipse 的 xdoclet 构建器有 StackOverflowError
- python - 用户选择参数值的 Tkinter 小部件,但如何存储这些值?