このコードを並列化するためにかなりの時間をかけましたが、無駄です。私はエラーが出るか、何も動かない。誰にでもアイデアはありますか?R - ldply関数とレプリケート関数を並列化する
cal_Ops <- function(n, dtm, ratio = 0.1) {
print(n)
selVect <- sample(nrow(dtm), nrow(dtm) * ratio)
holdout <- dtm[selVect,]
training <- dtm[-selVect,]
topModel <- LDA(training, n, control = list(estimate.alpha = FALSE))
return(c(n, perplexity(topModel, holdout), as.numeric(logLik(topModel))))
}
require(plyr)
replication <- 1000
sequ <-seq(5,100,5)
perplex <- ldply(sequ, function(x, dtm) {
t(replicate(replication, cal_Ops(x, dtm))) } , dtm = DTM_to_use)
そのまま実行するには時間がかかります。前もって感謝します。
私は複製の並列バージョンとしてこの例を使用して試してみた - 私は多くのエラーを持っていましたが、: https://stackoverflow.com/a/19281611/8598566
あなたはどのマシンですか? Windows? Linux/Mac? – CPak
Windowsでいくつかのテストを行っていますが、最終的にはCentOS 6.6を実行している小さなHPCクラスター上で実行されます – Max