Załóżmy, że mam macierz bigm
. Muszę użyć losowego podzbioru tej macierzy i przekazać go algorytmowi uczenia maszynowego, na przykład svm
. Losowy podzbiór macierzy będzie znany tylko w czasie wykonywania. Dodatkowo istnieją inne parametry, które są również wybrane z siatki.R: wyjaśnienie dotyczące zarządzania pamięcią
Tak, mam kod, który wygląda mniej więcej tak:
foo = function (bigm, inTrain, moreParamsList) {
parsList = c(list(data=bigm[inTrain, ]), moreParamsList)
do.call(svm, parsList)
}
Co szukam wiedzieć, czy R wykorzystuje nową pamięć do zapisywania tych bigm[inTrain, ]
obiekt w parsList. (Domyślam się, że tak.) Jakie polecenia mogę użyć do testowania takich hipotez? Dodatkowo, czy istnieje sposób użycia pod-macierzy w R bez użycia nowej pamięci?
Edit:
Ponadto zakładamy Wołam foo
użyciu mclapply (w systemie Linux) gdzie bigm
rezyduje w procesie macierzystym. Czy to oznacza, że robię mc.cores
liczbę kopii bigm
lub czy wszystkie rdzenie używają obiektu od rodzica?
Jakieś funkcje i heurystyki lokalizacji pamięci i zużycia obiektów wykonanych w różnych rdzeniach?
Dzięki.
Dzięki za to odpowiedzieć. Pomyślałem tylko, że lepiej będzie wspomnieć, że jest to dostępne tylko wtedy, gdy R zostało skompilowane z 'with --enable-memory-profiling'. – asb