0
我已經其在被動模式上計算集羣執行以下的(樣品)代碼:平行,forech,導出對象未找到
> foo <- function(...)
> {
> require(copula)
> require(foreach)
> require(methods)
> require(np)
> require(parallel)
> {cl <- makeCluster(detectCores()-1) ; registerDoParallel(cl)}
...
> str(dat)
'data.frame': 31269 obs. of 15 variables
...
> clusterExport(cl=cl,varlist=c("dat",...))
> dumpster <- foreach(i=1:10,.packages=c("copula","foreach","np"),.export=c("dat"))%dopar%
> {... ; dat.new <- some.fn(dat) ; ...}
...
> stopCluster(cl)
> }
> foo(...)
Error in get(name, envir = envir) : object 'dat' not found
Calls: foo ... postNode -> sendData -> sendData.SOCKnode -> serialize -> get
Execution halted
我在做什麼錯誤?非常感謝你!
感謝您的回答。但事實上並沒有混合起來。我選擇了「平行」包,因爲它符合我的需求。其他軟件包是我的計算所需要的,並且我發佈了它們以防在我不知情的情況下存在一些不兼容問題。最後,原因是'dat'太大而無法在集羣內頻繁複制,導致內存問題,從而導致集羣崩潰。 – DeeCeeDelux
我自己也有同樣的問題,我希望所有人都能爲你效勞。 –
是的,最後......只是一個痛苦的屁股找出基於「對象'dat'沒有找到」的錯誤 - 在我眼裏 - 在這種錯誤的情況下沒有意義。 – DeeCeeDelux