Frage

Ich verwende einige großen Regressionsmodelle in R in einer Grid-Computing-Umgebung. Soweit ich weiß, nur das Gitter gibt mir mehr Speicher und schnellere Prozessoren, so dass ich diese Frage denke, auch für diejenigen gelten würde, die R auf einem leistungsfähigen Computer verwenden.

Die Regressionsmodelle Ich betreibe haben viele Beobachtungen und mehrere Faktorvariablen, die viele (10s oder 100s) haben Ebenen je. Als Ergebnis kann die Regression rechenintensive erhalten. Ich habe bemerkt, dass, wenn ich 3 Regressionen in einem Skript in eine Reihe aufstellen und lege ihn an das Netz, es beendet (stürzt ab) aufgrund von Speicherbeschränkungen. Allerdings, wenn ich es als 3 verschiedene Skripte ausführen, wird es in Ordnung.

Ich bin etwas aufzuräumen tun, so dass nach jedem Modellläufe, speichere ich das Modellobjekt in eine separate Datei, rm (list = ls ()) alle Speicher zu löschen, dann führen gc () vor dem nächsten Modell Lauf. Dennoch scheint alle drei in einem Skript ausgeführt wird abstürzen, scheint aber den Job Zerschlagung in Ordnung zu sein.

Das Sys-Admin sagt, dass es bis zu brechen wichtig ist, aber ich sehe nicht, warum, wenn ich die Reinigung nach jedem Lauf auf. 3 in einem Skript läuft sie sowieso in Folge. Hat jemand eine Idee, warum drei einzelne Skripte Arbeiten ausgeführt wird, aber alle Modelle in einem Skript ausgeführt würde bewirken, dass R Speicherprobleme haben?

Danke! EXL

War es hilfreich?

Lösung

ähnliche Fragen, die lesenswert durch sind: Erzwingen Garbage Collection in R mit dem gc auszuführen () Befehl Speichernutzung in R

Meine Erfahrung ist, dass R bei der Speicherverwaltung nicht hervorragend. Sie können versuchen, jede Regression in einer Funktion in der Hoffnung setzen, dass die Vermietung Variablen Umfang hinausgehen funktioniert besser als gc (), aber ich würde den Atem nicht halten. Gibt es einen bestimmten Grund, warum Sie nicht jeder in seinem eigenen Batch ausgeführt werden können? Weitere Informationen wie Joris auch helfen würde, gefordert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top