Supponiamo di avere una matrice bigm
. Ho bisogno di usare un sottoinsieme casuale di questa matrice e darlo ad un algoritmo di apprendimento automatico come ad esempio svm
. Il sottoinsieme casuale della matrice sarà noto solo in fase di esecuzione. Inoltre ci sono altri parametri che vengono scelti anche da una griglia.R: chiarimenti sulla gestione della memoria
Così, ho il codice che assomigli a questo:
foo = function (bigm, inTrain, moreParamsList) {
parsList = c(list(data=bigm[inTrain, ]), moreParamsList)
do.call(svm, parsList)
}
Quello che sto cercando di sapere è se R utilizza la nuova memoria per salvare quella bigm[inTrain, ]
oggetto in parsList. (La mia ipotesi è che lo faccia.) Quali comandi posso usare per testare queste ipotesi da solo? Inoltre, c'è un modo di usare una sottomatrice in R senza usare nuova memoria?
Edit:
Inoltre, assumere sto chiamando foo
utilizzando mclapply (su Linux) dove bigm
risiede nel processo padre. Significa che sto facendo il numero mc.cores
di copie di bigm
o che tutti i core usano solo l'oggetto dal genitore?
Qualsiasi funzione ed euristica di localizzazione della memoria di tracciamento e consumo di oggetti realizzati in core diversi?
Grazie.
Grazie per questa risposta. Ho pensato che sarebbe meglio menzionare che questo è disponibile solo se R è stato compilato 'con --enable-memory-profiling'. – asb