繁体   English   中英

插入:选择并行后端的正确核心数

[英]caret: Choosing the correct number of cores in parallel backend

我正在尝试使用caret在Ubuntu机器上使用glmnet实现来交叉验证弹性网络模型,该机器具有8个CPU内核和32 GB RAM。 当我顺序训练时,我在一个核心上最大化CPU使用率,但平均使用50%的内存。

  • 当我使用doMC(cores = xxx) ,我是否需要担心只注册xxx = floor(100 / y)内核,其中y是使用单个内核(以%为单位)时模型的内存使用量,以便没有内存不足?

  • caret是否具有允许其计算出最大值的任何启发式方法。 要使用的核心数量?

  • 是否有任何启发式方法可用于动态调整内核数量,以便在不同大小的数据和模型复杂性中最佳地使用我的计算资源?


编辑:

FWIW,尝试使用8个核心使我的机器没有响应。 显然, caret不会检查产生xxx进程是否可能存在问题。 然后,我如何动态选择核心数?

显然,插入符号不会检查产生xxx进程是否可能存在问题。

真正; 它无法预测您计算机的未来性能。

您应该了解在顺序运行时用于建模的内存量。 您可以开始训练并使用top或其他方法来估计使用的ram数量然后终止该过程。 如果按顺序依次使用X GB的RAM,则在M核上运行将需要X(M + 1) GB的RAM。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM