问题描述
我正在尝试在 R 中并行训练多个 ANN。问题是我不知道如何从本地机器在 VPS 上安装 Neuralnet。 我正在寻找一些类似以下的说明,它非常适合在 VPS 上安装 R 和 Future 包:
library(parallel)
cl <- parallelly::makeClusterPSOCK("VPS ip",user = "my_user")
clusterEvalQ(cl[1],{ dir.create(Sys.getenv("R_LIBS_USER"),recursive=TRUE) })
clusterEvalQ(cl[1],{ install.packages("future",repos = "https://cloud.r-project.org") })
stopCluster(cl)
我正在测试的在 R 中实现并行编码的脚本如下:
library(parallelly)
library(future)
library(parallel)
library(neuralnet)
data(iris)
head(iris)
nrow(iris)
red <- function(x) {
fold.test <- sample(nrow(iris),nrow(iris) / 3)
test <- iris[fold.test,]
train <- iris[-fold.test,]
ann <- neuralnet(as.numeric(Species) ~ Sepal.Length + Sepal.Width +
Petal.Length + Petal.Width,train,hidden = c(10,5))
ann
output <- compute(ann,test[,c("Sepal.Length","Sepal.Width","Petal.Length","Petal.Width")])
result <- data.frame(
Real = test$Species,Predicted = levels(iris$Species)[round(output$net.result)])
result
table(result$Predicted,result$Real)
mse <-table(result$Predicted,result$Real)
x
}
local_workers <- rep("localhost",times=3)
workers <- rep("VPS ip",times =1)
workers <- c(workers,local_workers)
system.time({
cl <- parallelly::makeClusterPSOCK(workers,user = "my_user")
parallel::clusterExport(cl,"iris")
resultados <- parSapply(cl,1:20,red)})
#resultados
stopCluster(cl)
而运行时出现的错误是:
Error in checkForRemoteErrors(val) :
4 nodes produced errors; first error: Could not find function "neuralnet"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)