Pregunta

Me postulo algunos grandes modelos de regresión en I en un entorno de computación grid. Por lo que yo sé, la red sólo me da más memoria y procesadores más rápidos, así que creo que esta pregunta se aplicaría también para aquellos que están usando R en un ordenador potente.

Los modelos de regresión Me postulo tienen un montón de observaciones, y varias variables de factor que tienen muchos (10s o 100s) de niveles cada uno. Como resultado, la regresión puede conseguir computacionalmente intensivas. Me he dado cuenta que cuando alinear 3 regresiones en un guión y enviarla a la red, sale (se bloquea) debido a las limitaciones de memoria. Sin embargo, si funciono como 3 guiones diferentes, funciona muy bien.

Estoy haciendo un poco de la limpieza, así que después de cada uno de los ensayos del modelo, ahorro el objeto de modelo en un archivo separado, rm (list = ls ()) para borrar toda la memoria, a continuación, ejecutar gc () antes de que el próximo modelo es correr. Aún así, corriendo los tres en un script presenta problemas, pero rompiendo el trabajo parece estar bien.

El administrador del sistema dice que dividirlo es importante, pero no veo por qué, si estoy limpieza después de cada carrera. 3 en una secuencia de comandos en los ejecuta la secuencia de todos modos. ¿Alguien tiene una idea de por qué se ejecuta tres obras scripts individuales, pero el funcionamiento de todos los modelos de una secuencia de comandos que causaría R para tener problemas de memoria?

Gracias! EXL

¿Fue útil?

Solución

Preguntas similares que vale la pena leer a través de: Forzar a la recolección de basura para funcionar en R con la GC () de comandos en R

Mi experiencia ha sido que R no es excelente en la gestión de memoria. Usted puede intentar poner cada regresión en una función con la esperanza de que las variables dejar salir de su ámbito funciona mejor que gc (), pero yo no contenga la respiración. ¿Hay alguna razón en particular no se puede ejecutar cada uno en su propio lote? Más información Joris solicitó ayudaría también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top