繁体   English   中英

R语言,keras,并行计算

[英]R language, keras, parallel computation

虽然我是在一台 40 核的计算机上建模的,但在使用 Keras 建模时,我只使用了其中的几个。 我想知道如何调用所有 CPU 内核进行计算。 我尝试通过以下方式实现并行计算但失败了。 学者,请赐教其他方法。

library(doParallel)
cl <- makeCluster(detectCores())
registerDoParallel(cl)
history <- model %>% fit(xtrain, ytrain,
                                     epochs = 200, batch_size=100, verbose = 1)

Tensorflow/Keras 负责fit()中的并行性,如果您手动尝试分叉父 R 进程或管理 PSOCK 集群,它通常不起作用。 R 自带的 {parallel} 包与 Tensorflow/Keras 不兼容。

如果看起来 Tensorflow/Keras 没有使用默认设置的所有 CPU 内核,您可以在此处调整线程池大小: https ://www.tensorflow.org/api_docs/python/tf/config/threading(但是,以我的经验,您更有可能受到 IO 限制,或者 CPU 正在 GPU 上等待,并且可能不是线程池大小太小)。

如果您对使用 Tensorflow 进行分布式计算感兴趣,可以从这里开始: https ://www.tensorflow.org/api_docs/python/tf/distribute

暂无
暂无

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

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