簡體   English   中英

mlr / parallelMap:使用檢查點時如何將libPaths傳遞給工作程序?

[英]mlr / parallelMap: How to pass libPaths to workers when working with checkpoint?

與在R中運行並行計算時如何在工作程序上設置.libPaths(檢查點)基本相同,但現在解決了mlr模型的並行化問題。 我知道我需要在mlr使用parallelMap ,但是如何確保每個工作程序都使用正確的.libPaths

remove.packages("mlr")
remove.packages("rpart")

checkpoint::checkpoint("2018-09-01",
                       scanForPackages = TRUE)

library(mlr)
library(parallelMap)
library(rpart)
parallelStartSocket(2L)

task = makeClassifTask(data = iris, target = "Species")
learner = makeLearner("classif.rpart", minsplit = 7, predict.type = "prob")
mod = resample(learner, task, resampling = cv5)

parallelStop()

parallelLibrary(“ mlr”,master = FALSE,level =“ mlr.resample”,中的錯誤:不能在所有從站上加載程序包:mlr。

會話信息:

R版本3.5.1(2018-07-02)平台:x86_64-w64-mingw32 / x64(64位)運行在:Windows 7 x64(內部版本7601)Service Pack 1

矩陣產品:默認

區域設置:[1] LC_COLLATE = German_Germany.1252 LC_CTYPE = German_Germany.1252 LC_MONETARY = German_Germany.1252 [4] LC_NUMERIC = C LC_TIME = German_Germany.1252

附加的基本軟件包:[1]統計圖形grDevices utils
數據集方法庫

其他附帶的軟件包:[1] rpart_4.1-13 parallelMap_1.3
mlr_2.13 ParamHelpers_1.11

通過名稱空間(未附加)加載:[1] Rcpp_0.12.18
支柱_1.3.0編譯器_3.5.1 plyr_1.8.4綁定器_0.1.1
tools_3.5.1 [7] tibble_1.4.2 gtable_0.2.0
checkmate_1.8.5晶格_0.20-35 pkgconfig_2.0.2 rlang_0.2.2
[13] Matrix_1.2-14 fastmatch_1.1-0 rstudioapi_0.7 yaml_2.2.0 parallel_3.5.1 bindrcpp_0.2.2 [19] dplyr_0.7.6 grid_3.5.1 tidyselect_0.2.4膠水_1.3.0 data.table_1.11.4 R6_2.2.2
[25] XML_3.98-1.16 Survival_2.42-3 ggplot2_3.0.0 purrr_0.2.5 magrittr_1.5 backports_1.1.2 [31]比例_1.0.0 BBmisc_1.11 splines_3.5.1斷言_0.2.0檢查點_0.4.3 colorspace_1.3-2 [37 ] stringi_1.1.7 lazyeval_0.2.1 munsell_0.5.0
crayon_1.3.4

如果我使用R_LIBS將默認庫路徑更改為檢查點目錄,則對我有用。

remove.packages("mlr")
remove.packages("rpart")

print(.libPaths())
checkpoint::checkpoint("2018-09-01",
                       scanForPackages = TRUE)
print(.libPaths())
Sys.setenv(R_LIBS = paste(.libPaths()[1], Sys.getenv("R_LIBS"), sep = .Platform$path.sep))

library(mlr)
library(parallelMap)
library(rpart)
parallelStartSocket(2L)

task = makeClassifTask(data = iris, target = "Species")
learner = makeLearner("classif.rpart", minsplit = 7, predict.type = "prob")
mod = resample(learner, task, resampling = cv5)

parallelStop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM