Я подгоняю случайный лесной классификатор к фрейму данных pandas, содержащему tfidf и другие функции, где измерения (42238, 155085).Размер 26 ГБ.При локальном обучении модели код выполняется без ошибок (хотя и медленно), однако на экземпляре ec2 с 4-кратной памятью процесс обучения завершается с ошибкой памяти, когда использование памяти достигает 37%.Это было последовательным в 6 исполнениях во время выполненияПри прочих равных с anaconda 2.7, кодом и данными, почему этот процесс завершился неудачей на ec2?
Я запускаю модель локально на MacBook Pro объемом 16 ГБ.Экземпляр ec2 имеет 64 ГБ памяти.
Что я пробовал
- n_jobs = 1
- n_estimators = 10
- max_depth = 10
- увеличение пространства подкачки наec2
- установить максимальное заблокированное запоминающее устройство равным
ulimit -a на экземпляре ec2.
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 251728
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 251728
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
код
model = RandomForestClassifier(max_depth=None,
max_features=0.2,
min_samples_leaf=1,
min_samples_split=2,
n_estimators=10,
n_jobs=-1,
verbose=1)
model.fit(X_train,y_train)
стекслед
model.fit(X_train,y_train)
File "/opt/anaconda2/lib/python2.7/site-packages/sklearn/ensemble/forest.py", line 247, in fit
X = check_array(X, accept_sparse="csc", dtype=DTYPE)
File "/opt/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.py", line 433, in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
File "/opt/anaconda2/lib/python2.7/site-packages/pandas/core/generic.py", line 1603, in __array__
return com._values_from_object(self)
File "pandas/_libs/lib.pyx", line 47, in pandas._libs.lib.values_from_object
File "/opt/anaconda2/lib/python2.7/site-packages/pandas/core/generic.py", line 4684, in get_values
return self.values
File "/opt/anaconda2/lib/python2.7/site-packages/pandas/core/generic.py", line 4629, in values
return self._data.as_array(transpose=self._AXIS_REVERSED)
File "/opt/anaconda2/lib/python2.7/site-packages/pandas/core/internals.py", line 3949, in as_array
arr = mgr._interleave()
File "/opt/anaconda2/lib/python2.7/site-packages/pandas/core/internals.py", line 3960, in _interleave
result = np.empty(self.shape, dtype=dtype)
MemoryError