스노우 패키지를 사용하여 R의 탄력있는 그물 모델을 채점하려하지만 클러스터의 여러 노드에서 예측 기능을 실행하는 방법을 알 수 없습니다. 아래 코드는 타이밍 벤치 마크 및 오류 생산하는 실제 코드를 모두 포함 : 나는 멀티 코어를 사용하여 리눅스 박스에 분기를 통해 병렬화 할 수 있었다병렬 모델 채점 R
##############
#Snow example#
##############
library(snow)
library(glmnet)
library(mlbench)
data(BostonHousing)
BostonHousing$chas<-as.numeric(BostonHousing$chas)
ind<-as.matrix(BostonHousing[,1:13],col.names=TRUE)
dep<-as.matrix(BostonHousing[,14],col.names=TRUE)
fit_lambda<-cv.glmnet(ind,dep)
#fit elastic net
fit_en<<-glmnet(ind,dep,family="gaussian",alpha=0.5,lambda=fit_lambda$lambda.min)
ind_exp<-rbind(ind,ind)
#single thread baseline
i<-0
while(i < 2000){
ind_exp<-rbind(ind_exp,ind)
i = i+1
}
system.time(st<-predict(fit_en,ind_exp))
#formula for parallel execution
pred_en<-function(x){
x<-as.matrix(x)
return(predict(fit_en,x))
}
#make the cluster
cl<-makeSOCKcluster(4)
clusterExport(cl,"fit_en")
clusterExport(cl,"pred_en")
#parallel baseline
system.time(mt<-parRapply(cl,ind_exp,pred_en))
을,하지만 난 꽤 제대로 mclapply 수행을 사용하지 끝났다 unlist와 결합하여 눈으로 그것을하는 더 좋은 방법을 찾고 있었다. (그것은 우연히 내 dev 창 PC와 나의 유능한 리눅스 서버 모두에서 작동 할 것이다). 고마워.