2014-09-17 3 views
0

Я запустил модель BART с 11000 выборками и 20 функциями (половина из них является категориальной переменной). У моего mac есть 8G ram. Сначала я устанавливаю память на 5000 МБ через функцию set_bart_machine_memory (5000).java.lang.OutOfMemoryError с использованием пакета bartMachine в R

Тогда я могу поместить модель через функцию bartMachine один раз. Если я хочу, чтобы запустить другую модель, то R возвращает ошибку, как это:

Exception in thread "pool-10-thread-1" Exception in thread "pool-10-thread-3" 
java.lang.OutOfMemoryError: Java heap space 
java.lang.OutOfMemoryError: Java heap space 
Exception in thread "pool-10-thread-2" java.lang.OutOfMemoryError: Java heap space 
Exception in thread "pool-10-thread-4" java.lang.OutOfMemoryError: Java heap space 
Error in .jcall(bart_machine$java_bart_machine, "Z", "isDestroyed") : 
java.lang.OutOfMemoryError: Java heap space 

Я думаю, что, имея два объекта bartMachine в памяти не может быть хорошей идеей, так что я просто убить первую модель с помощью функции destroy_bart_machine (), то вторая модель работает нормально.

Основная проблема на bartMachineCV(). Примерно 20 моделей подходят по умолчанию, и ошибка памяти, подобная той, что выше, ударяет меня, когда R запускает модель барта со вторым набором параметров (то есть: bartMachine CV try: k: 2 nu, q: 3, 0,9 м: 200).

Я не знаком с JAVA, есть ли способ запустить bartMachineCV() на компьютере с 8 ГБ оперативной памяти? Благодарю.

ответ

0

Вам необходимо запустить 64-разрядную Java JVM; 32-разрядная JVM дает вам ~ 1,8 Гбайт кучи. Я бы рекомендовал использовать JDK 7 или выше; это производство для Oracle в наши дни.

После того, как вы есть, что вы можете установить настройки памяти виртуальной машины Java, как это:

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

Вы хотите установить -Xmx=1024M или что-то подобное.

0

Я являюсь хранителем пакета bartMachine. Убедитесь, что вы скачать новую версию и обратите внимание на сообщение, которое появляется после инициализации библиотеки:

> library(bartMachine) 
... 
Welcome to bartMachine v1.2.0! You have 0.48GB memory available. 

Если вы видите низкий объем оперативной памяти на сообщении, что-то не так с вашей установкой виртуальной машины Java. 64-бит JVM является обязательным. Использовать

options(java.parameters = "-Xmx2500m") 

перед тем как позвонить library(bartMachine), чтобы попытаться установить больше.

Смежные вопросы