बादल में चल रहे एक आर सत्र के साथ बातचीत करने का सबसे अच्छा तरीका


10

मैं amazon EC2 पर आर चला रहा हूं, बायोकैक्टर एएमआई के संशोधित संस्करण का उपयोग कर रहा हूं । वर्तमान में, मैं अपने सर्वर में ssh को कमांड लाइन से आर शुरू करने के लिए पोटीन का उपयोग कर रहा हूं, और फिर नोटपैड ++ से मेरी स्क्रिप्ट को कॉपी और पेस्ट कर रहा हूं।

बात यह है, मुझे कट और चिपकाने से नफरत है। यह पत्थर की उम्र का लगता है और मुझे कभी-कभी अजीब बफरिंग मुद्दे मिलते हैं जो मेरे कोड को खराब कर देते हैं। मैं RStudio का उपयोग नहीं कर सकता , क्योंकि यह मल्टीकोर का समर्थन नहीं करता है , जिस पर मैं बहुत अधिक निर्भर हूं।

यह करने के लिए और अधिक सुंदर तरीका क्या है?

/ संपादित करें: सभी महान सुझावों के लिए धन्यवाद। अभी के लिए, मैंने doRedis बैकएंड के साथ foreach का उपयोग करने के लिए स्विच किया है, जो मेरे मैक, मेरे पीसी और RStudio के माध्यम से अमेज़ॅन पर बहुत अच्छा काम करता है। एक बार जब मैंने सीखा कि एक समारोह लिखना आसान था, जो "फॉर्चे" का उपयोग करके " लंगड़ी" का अनुकरण करता है । (इसके अलावा, ड्रेडिस कमाल है!)


2
BTW इस तरह के प्रश्न पर कम्प्यूटेशनल साइंस एसई बनाया जाना अभी तक विषय पर बहुत होगा ।


इमो, स्क्रीन + विम जीतने वाला कॉम्बो है, लेकिन यह सभी के लिए अपील नहीं कर सकता है।
मार्क क्लेसेन

जवाबों:


12

मैं कुछ तरीकों के बारे में सोच सकता हूं। मैंने इसे थोड़ा सा कर दिया है और यहां वे तरीके हैं जो मुझे सबसे उपयोगी लगे:

  1. Emacs Daemon मोड । EC2 उदाहरण में -X स्विच के साथ ssh ताकि यह एक्स विंडो को आपके निष्कासन मशीन पर वापस भेज दे। डेमन मोड का उपयोग यह सुनिश्चित करेगा कि आपके कनेक्शन के समय या ड्रॉप होने पर आप राज्य नहीं खोते हैं
  2. मल्टीकोर पैकेज का उपयोग करने के बजाय, फ़ॉरच पैकेज के साथ एक अलग समानांतर बैकेंड का उपयोग करें। इस तरह आप RStudio का उपयोग कर सकते हैं, जो शानदार है। Foreach महान है क्योंकि आप अपने कोड को गैर-समानांतर में परीक्षण कर सकते हैं, फिर अपने बैकएंड (कोड की 1 या 2 पंक्तियों) को बदलकर समानांतर मोड में स्विच कर सकते हैं। मैं doRedis बैकएंड की सलाह देता हूं। आप क्लाउड में हैं, साथ ही साथ कई मशीनों में आग लग सकती है!

इमैक डेमन मोड के लिए +1। मैं हाल ही में काफी ssh कर रहा हूँ, और यह वास्तव में उपयोगी लगता है।
रिचमीमोर्रिसो

वहाँ एक आसान तरीका है foreach का उपयोग lapply अनुकरण? मैंने बहुत सारे कोड लिखे हैं, जो लागू होने का लाभ उठाते हैं, और मुझे मल्टीकोर पैकेज पसंद है क्योंकि मैं सरलता से mclapply के साथ बदल सकता हूं। क्या कोई 'foreachlapply' है, या मुझे बहुत सारे कोड फिर से लिखने होंगे? धन्यवाद!
जच

1
खैर, doRedisकेवल रेडिस सामान कर सकते हैं; भारी इनपुट एचपीसी गणना का एकमात्र कारण नहीं है।

13

सबसे सुविधाजनक तरीका सिर्फ वीएनसी सर्वर और एक्सएफसीई जैसे कुछ हल्के वातावरण को स्थापित करना और अपने आप को एक वर्चुअल सत्र बनाना है जिसका उपयोग आप जहां चाहें वहां से कर सकते हैं (यह डिस्कनेक्ट को बनाए रखता है), अर्थात ऐसा कुछ: यहां छवि विवरण दर्ज करें

अतिरिक्त उपहार यह है कि आप अपने स्थानीय क्लिपबोर्ड को वर्चुअल डेस्कटॉप में उपयोग कर सकते हैं और आर प्लॉट्स को एक्स 11 अग्रेषण या छवि फ़ाइलों की प्रतिलिपि बनाने की तुलना में अधिक तेज़ देख सकते हैं।

यह सब कुछ सही करने के लिए कुछ प्रयास करता है (X init, ssh सुरंग), लेकिन इंटरनेट ट्यूटोरियल से भरा है कि कैसे।


1
इससे भी बेहतर NX है, जिसमें आम तौर पर बेहतर प्रदर्शन विशेषताओं में सुधार होता है।
SCW

क्या आप अपनी पसंद का कोई ट्यूटोरियल पसंद कर सकते हैं, या मुझे बस Google पर शीर्ष युगल परिणामों को देखना चाहिए?
जक

3

मुझे नहीं पता कि अमेज़ॅन ईसी 2 कैसे काम करता है, इसलिए शायद मेरे सरल समाधान काम नहीं करते हैं। लेकिन मैं सामान्य तौर पर scp या sftp (WinSCP के माध्यम से अगर मैं विंडोज पर हूं) या git का उपयोग करता हूं।


3

मैं सर्वर पर स्क्रिप्ट और डेटा फ़ाइलों को पुश करने के लिए rsync का उपयोग करूंगा, फिर "nohup Rscript myscript.R> output.out &" चीजों को चलाने के लिए और समाप्त होने पर, परिणाम खींचने के लिए rsync।


2
screenया इससे tmuxबेहतर है nohup- वे स्क्रिप्ट को भी अलग करते हैं इसलिए इसे लॉगआउट द्वारा नहीं मारा जाएगा, लेकिन सत्र को फिर से शुरू करने और अन्य क्लाइंट कंप्यूटर से भी शुरू करने की अनुमति है। tmuxयहां तक ​​कि एक तरह के टेक्स्ट-मोड विंडो मैनेजर के रूप में भी इस्तेमाल किया जा सकता है।

0

VIM + tmux + VIM कीचड़। आपको सबसे बड़ा टेक्स्ट एडिटर और आर कमांड लाइन के लिए एडिटर से कोड भेजने की क्षमता मिलती है (ठीक उसी तरह जैसे Rstudio में)।


0

मैं EC2 पर आर स्टूडियो का उपयोग करता हूं, लुई एलेट द्वारा बनाई गई एएमआई के लिए धन्यवाद । आपको किसी भी SSH या कुछ भी (R के अलावा, निश्चित रूप से) को जानने की जरूरत नहीं है। आपको बस EC2 खाते की आवश्यकता है। जैसा कि अन्य जवाबों में से एक में उल्लेख किया गया है, आर स्टूडियो उदाहरण के लिए फोरच पैकेज के माध्यम से समानांतर कंप्यूटिंग का समर्थन करता है । यह वास्तव में EC2 की शक्ति का उपयोग करने में सक्षम बनाता है। एक कम्प्यूट-अनुकूलित उदाहरण (32 कोर) का उपयोग करके, मैं अपने एमएल मॉडल के लिए लगभग किसी भी कीमत (कुछ रुपये प्रति घंटे) पर प्रशिक्षण के समय में काफी कटौती करने में सक्षम था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.