簡體   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