मैं समानांतर पैकेज का इस्तेमाल करने के लिए नए कर रहा हूँ और उन्हें अपने काम से कुछ तेजी लाने के लिए एक बोली में की खोज शुरू कर दिया है clusterExport लिए वस्तुओं। एक झुंझलाहट मैं अक्सर सामना foreach
आदेश जब मैं प्रासंगिक कार्य/चर नहीं clusterExport
है समस्याओं को फेंक नहीं है।यह जानते हुए कि क्या पहले से
उदाहरण
मुझे पता है कि उदाहरण नीचे जरूरी foreach
की जरूरत नहीं है यह तेजी से बनाने के लिए, लेकिन उदाहरण के लिए, मैं इसे इस्तेमाल करेंगे।
library(doParallel)
library(parallel)
library(lubridate)
library(foreach)
cl <- makeCluster(c("localhost", "localhost", "localhost","localhost"), type = "SOCK")
registerDoParallel(cl, cores = 4)
Dates <- sample(c(dates = format(seq(ISOdate(2010,1,1), by='day', length=365), format='%d-%m-%Y')), 500, replace = TRUE)
foreach(i = seq_along(Dates), .combine = rbind) %dopar% dmy(Dates[i])
Error in dmy(Dates[i]) : task 1 failed - "could not find function "dmy""
जैसा कि आप देख सकते हैं, वहाँ एक त्रुटि का कहना है कि कि dmy
समारोह नहीं पाया जाता है। मैं तो पर जाने के लिए और निम्नलिखित जोड़ने के लिए:
clusterExport(cl, c("dmy"))
तो मेरे सवाल है, क्या निर्यात करने पर सुराग के लिए त्रुटि को देख के अलावा, यह जानने का एक और अधिक सुरुचिपूर्ण तरीका पहले से क्या निर्यात करने के लिए वस्तुओं या है foreach
चलाने से पहले सभी दासों के साथ वैश्विक पर्यावरण को साझा करने का कोई तरीका है?
कि के लिए एक '.packages' तर्क नहीं है। –
क्या आप विस्तार से बात करेंगे? मैंने कोशिश की (.packages()) और यह संलग्न संकुल सूचीबद्ध है। लेकिन मैं पैकेज की सभी वस्तुओं को कैसे निर्यात करूं? मैंने क्लस्टरएक्सपोर्ट (सीएल, सी ("लाइब्रेरी (लुब्रिडेट)") और क्लस्टरएक्सपोर्ट (सीएल, सी ("लुब्रिडेट") का कोई फायदा नहीं हुआ – JackeJR
क्षमा करें, मेरा मतलब था 'फॉरेच' के लिए 'packages' तर्क,' ' पैकेज 'समारोह। –