Bulutta çalışan bir R oturumu ile etkileşim kurmanın en iyi yolu


10

R, amazon EC2'de , biyoiletken AMI'nin değiştirilmiş bir versiyonunu kullanarak çalışıyor . Şu anda, sunucuya ssh için macun kullanıyorum, komut satırından R'yi başlatarak ve komut dosyasını kopyalayıp notepad ++ 'dan macun oturumuma yapıştırarak kullanıyorum.

Mesele şu ki, kesip yapıştırmaktan nefret ediyorum. Taş devri hissediyor ve bazen kodumu berbat eden garip tamponlama sorunları alıyorum. Ben kullanamaz RStudio o desteklemediği için, çok çekirdekli ben ağırlıklı bağlıdır, hangi.

Bunu yapmanın daha zarif yolu nedir?

/ Düzenle: Tüm harika önerileriniz için teşekkürler. Şimdilik, Mac'imde, PC'mde ve RStudio aracılığıyla amazonda harika çalışan doRedis arka ucuyla foreach kullanmaya başladım. Bu anahtar, "foreach " kullanarak " lapply" öykünen bir işlev yazmayı öğrendiğimde oldukça kolaydı . (Ayrıca, doRedis harika!)


2
BTW Böyle bir soru henüz Hesaplama Bilimi SE yaratılmamış olabilir .


Imo, screen + vim kazanan kombodur, ancak bu herkese hitap etmeyebilir.
Marc Claesen

Yanıtlar:


12

Birkaç yol düşünebilirim. Bunu biraz yaptım ve işte en yararlı bulduğum yollar:

  1. Emacs Daemon modu . ECX örneğine -X anahtarıyla ssh, böylece X pencerelerini kaldırma makinenize geri yönlendirir. Daemon modunu kullanmak, bağlantınız zaman aşımına uğradığında veya düştüğünde durumu kaybetmemenizi sağlar.
  2. Çok çekirdekli paketi kullanmak yerine, foreach paketi ile farklı bir paralel arka uç kullanın. Bu şekilde muhteşem RStudio'yu kullanabilirsiniz. Foreach harika çünkü kodunuzu paralel olmayan bir şekilde test edebilir, ardından arka ucunuzu (1 veya 2 satır kod) değiştirerek paralel moda geçebilirsiniz. DoRedis arka ucunu tavsiye ederim. Buluttasınız, birden fazla makineyi de ateşleyebilirsiniz!

Emacs Daemon modu için +1. Son zamanlarda biraz ssh yapıyorum ve bu gerçekten yararlı görünüyor.
richiemorrisroe

Foreach kullanarak lapply taklit etmenin kolay bir yolu var mı? Kaldıraçları uygulayan bir sürü kod yazdım ve çok çekirdekli paketi beğendim çünkü mclapply ile lapply'i basitçe değiştirebilirim. 'Önsöz' var mı, yoksa çok fazla kod yeniden yazmak zorunda kalacak mıyım? Teşekkürler!
Zach

1
Şey, doRedissadece redis şeyler yapabilir; HPC hesaplamalarının tek nedeni büyük girdi değildir.

13

En uygun yol sadece VNC sunucusunu ve XFCE gibi bazı hafif ortamları kurmak ve kendinize istediğiniz yerden kullanabileceğiniz sanal bir oturum yapmaktır (bağlantı kesilmeye devam eder), yani şöyle bir şey: resim açıklamasını buraya girin

Ek özellikler, yerel panonuzu sanal masaüstünde kullanabilmeniz ve R grafiklerini X11 iletme veya görüntü dosyalarını kopyalama yoluyla olduğundan daha hızlı görmenizdir.

Her şeyi doğru kurmak biraz çaba gerektirir (X init, ssh tüneli), ancak internet bunun nasıl yapılacağı konusunda eğiticilerle doludur.


1
Daha da iyisi, genel olarak çok gelişmiş performans özelliklerine sahip NX'dir.
scw

Beğendiğiniz bir eğiticiyi ister misiniz, yoksa yalnızca Google'daki en iyi çift sonuçlarına bakmalıyım?
Zach

3

Amazon EC2'nin nasıl çalıştığını bilmiyorum, bu yüzden basit çözümlerim işe yaramaz. Ama normalde scp veya sftp (Windows'taysam WinSCP aracılığıyla) veya git kullanıyorum.


3

Ben komut dosyalarını ve veri dosyalarını sunucuya itmek için rsync, sonra "nohup Rscript myscript.R> output.out &" şeyler çalıştırmak ve bittiğinde, sonuçları çekmek için rsync kullanabilirsiniz.


2
screenya tmuxda daha iyisi nohup- aynı zamanda komut dosyasını çıkarırlar, böylece oturumdan çıkma tarafından öldürülmezler, ancak diğer istemci bilgisayarlardan bile oturumun yeniden bağlanmasına ve yeniden başlatılmasına izin verilir. tmuxbir tür metin modu pencere yöneticisi olarak bile kullanılabilir.

0

VIM + tmux + VIM Slime. En büyük metin editörüne ve editörden R komut satırına kod gönderme yeteneğine sahip olursunuz (tıpkı Rstudio'da olduğu gibi).


0

Ben EC2 için her zaman teşekkür R Studio kullanmak AMI ler tarafından oluşturulan Louis Aslett . Herhangi bir SSH veya herhangi bir şey bilmek zorunda değilsiniz (elbette R dışında). Sadece bir EC2 hesabına ihtiyacınız var. Diğer cevaplardan birinde belirtildiği gibi, R Studio, örneğin foreach paketi aracılığıyla paralel hesaplamayı destekliyor . Bu gerçekten EC2'nin gücünden yararlanmayı sağlar. Hesaplamaya göre optimize edilmiş bir örnek (32 çekirdek) kullanarak, ML modellerim için eğitim süresini neredeyse ücretsiz olarak (saatte birkaç dolar) önemli ölçüde azaltabildim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.