Вопрос

Я бегу несколько больших моделей регрессии в R в среде сетки. Насколько я знаю, сетка просто дает мне больше памяти и более быстрых процессоров, поэтому я думаю, что этот вопрос также поступит только для тех, кто использует R на мощном компьютере.

Модели регрессии, у меня работают множество наблюдений, и несколько факторных переменных, которые имеют много (10 или 100) уровней каждый. В результате регрессия может получить вычислительно интенсивно. Я заметил, что когда я выстроил 3 регрессии в сценарии и отправьте его в сетку, он выходит (аварии) из-за ограничений памяти. Однако, если я бегу на него как 3 разных сценария, он работает нормально.

Я делаю некоторую очистку, поэтому после того, как каждая модель работает, я сохраняю объект модели к отдельному файлу, RM (List = LS ()), чтобы очистить всю память, затем запустить GC (), прежде чем выполняется следующая модель. Тем не менее, работает все три в одном скрипте, кажется, крах, но расстается на работу, похоже, в порядке.

Адмил SYS говорит, что разрыв его важно, но я не понимаю, почему, если я убираю после каждого пробега. 3 в одном скрипте в любом случае запускает их последовательностью. У кого-нибудь есть идея, почему работает три отдельных сценария, но работает все модели в одном скрипте, приведет к тому, что R имеют проблемы с памятью?

Спасибо! Экзек

Это было полезно?

Решение

Подобные вопросы, которые стоит прочитать через:Принудительная сборка мусора для запуска в R с командой GC () Использование памяти в R

Мой опыт был, что R не превосходны при управлении памятью. Вы можете попробовать положить каждую регрессию в функции в надежде, что позволяя переменным выходить из прицела, работает лучше, чем GC (), но я бы не задержал дыхание. Есть ли определенная причина, по которой вы не можете управлять каждый на собственной партии? Дополнительная информация о запросе Joris также поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top