Angenommen, ich habe eine Matrix bigm
. Ich brauche eine zufällige Teilmenge dieser Matrix und gebe sie einem maschinellen Lernalgorithmus wie zB svm
. Die zufällige Teilmenge der Matrix wird nur zur Laufzeit bekannt sein. Zusätzlich gibt es weitere Parameter, die ebenfalls aus einem Raster ausgewählt werden.R: Erläuterung zur Speicherverwaltung
So habe ich Code, der etwa wie folgt aussieht:
foo = function (bigm, inTrain, moreParamsList) {
parsList = c(list(data=bigm[inTrain, ]), moreParamsList)
do.call(svm, parsList)
}
Was ich suche, zu wissen, ob R neue Speicher verwendet dieses bigm[inTrain, ]
Objekt in parsList zu speichern. (Meine Vermutung ist, dass es tut.) Welche Befehle kann ich verwenden, um solche Hypothesen selbst zu testen? Gibt es außerdem eine Möglichkeit, eine Untermatrix in R zu verwenden, ohne neuen Speicher zu verwenden?
Edit:
Auch gehe ich davon aus foo
mit mclapply nenne (unter Linux), wo bigm
in den übergeordneten Prozess befindet. Bedeutet das, ich mache mc.cores
Anzahl der Kopien von bigm
oder alle Kerne verwenden Sie einfach das Objekt aus der Eltern?
Alle Funktionen und Heuristiken zum Verfolgen des Speicherorts und des Verbrauchs von Objekten in verschiedenen Kernen?
Danke.
Dank für diese Antwort. Ich denke nur, dass es besser ist, zu erwähnen, dass dies nur verfügbar ist, wenn R 'mit --Enable-Memory-Profiling' kompiliert wurde. – asb