UPDATE: คาเร็ตใช้ในตอนนี้foreach
ดังนั้นคำถามนี้จึงไม่มีความเกี่ยวข้องอีกต่อไป หากคุณสามารถลงทะเบียนแบ็กเอนด์แบบขนานที่foreach
ใช้งานได้คาเร็ตจะใช้มัน
ฉันมีชุดคาเร็ตสำหรับ R และฉันสนใจที่จะใช้train
ฟังก์ชั่นเพื่อตรวจสอบความถูกต้องของโมเดลของฉัน อย่างไรก็ตามฉันต้องการเพิ่มความเร็วและดูเหมือนว่าเครื่องหมายรูปหมวกจะให้การสนับสนุนการประมวลผลแบบขนาน วิธีที่ดีที่สุดในการเข้าถึงคุณลักษณะนี้ในเครื่อง Windows คืออะไร ฉันมีแพ็คเกจdoSMPแต่ฉันไม่สามารถเข้าใจวิธีการแปลforeach
ฟังก์ชั่นเป็นlapply
ฟังก์ชั่นดังนั้นฉันสามารถส่งผ่านไปยังtrain
ฟังก์ชันได้
นี่คือตัวอย่างของสิ่งที่ฉันต้องการจะทำจากtrain
เอกสาร: นี่คือสิ่งที่ฉันต้องการจะทำ แต่ใช้doSMP
แพ็คเกจแทนที่จะเป็นdoMPI
แพ็คเกจ
## A function to emulate lapply in parallel
mpiCalcs <- function(X, FUN, ...)
}
theDots <- list(...)
parLapply(theDots$cl, X, FUN)
{
library(snow)
cl <- makeCluster(5, "MPI")
## 50 bootstrap models distributed across 5 workers
mpiControl <- trainControl(workers = 5,
number = 50,
computeFunction = mpiCalcs,
computeArgs = list(cl = cl))
set.seed(1)
usingMPI <- train(medv ~ .,
data = BostonHousing,
"glmboost",
trControl = mpiControl)
นี่คือฟังก์ชันเวอร์ชันของ mbq ที่ใช้ชื่อตัวแปรเดียวกันกับเอกสาร lapply:
felapply <- function(X, FUN, ...) {
foreach(i=X) %dopar% {
FUN(i, ...)
}
}
x <- felapply(seq(1,10), sqrt)
y <- lapply(seq(1,10), sqrt)
all.equal(x,y)