scikit-learn - GridSearchCV中“n_jobs == 1”的含义与使用多个GPU
问题描述
我一直在使用带有 4 个 NVIDIA GPU 的 Keras 框架来训练 NN 模型。(数据行数:~160,000,列数:5)。现在我想通过使用 GridSearchCV 来优化它的参数。
但是,每当我尝试将 n_jobs 更改为一个以外的其他值时,都会遇到几个不同的错误。错误,例如
CUDA OUT OF MEMORY
Can not get device properties error code : 3
然后我阅读了这个网页,“#如果你不使用 GPU,你可以将 n_jobs 设置为 1 以外的值” http://queirozf.com/entries/scikit-learn-pipeline-examples
那么GridSearchCV不能使用多个GPU吗?
【环境】Ubuntu 16.04 Python 3.6.0 Keras / Scikit-Learn
谢谢!
解决方案
根据 scikit learn 中的常见问题解答 - 不支持 GPU。关联
您可以使用n_jobs
您的 CPU 内核。如果您想以最大速度运行,您可能需要使用几乎所有的内核:
import multiprocessing
n_jobs = multiprocessing.cpu_count()-1
推荐阅读
- oh-my-zsh - 无法打开 mobaXterm | 安装 ohmyzsh
- javascript - 如何让自动调整大小的文本区域作为道具传递?单独工作,但不能作为道具
- c++ - 尝试使用 Windows Setupapi.h 函数获取设备属性中显示的错误代码
- video - 使用 ffmpeg 复制 GoPro 元数据 - 找不到编解码器的标签无
- c# - 以 application/x-www-form-urlencoded 格式从邮递员发送数据到 Web API 控制器
- javascript - Preventing JQuery default behavior in Angular 11 app
- java - 如何跟踪两个依赖 LinkedLists 之间的出现次数?
- php - 如何在 cakephp 中将 HTML 内容转换为字符串?
- node.js - 在 Typescript 中更新导入的模块
- android - 在 EditText 中使用 Android LiveData 进行操作?