Травление (или иное сохранение) 15 ГБ объектов RandomForestClassifier? - PullRequest
0 голосов
/ 25 февраля 2020

Я работаю с sklearn и обучаю пару сотен RandomForestClassifier с для моего проекта. Окончательный результат состоит из списка классификаторов, которые занимают около 15 ГБ оперативной памяти (у моей машины всего 32 ГБ ОЗУ). Чтобы получить классификаторы позднее, я попытался pickle их:

import pickle
pickle.dump( classifierList, open( ".\saved\saveAll.p", "wb" ) )

Однако через несколько минут я получаю сообщение об ошибке:

Traceback (последний вызов был последним):

Файл "D: _env \ project \ series \ save.py", строка 11, в

pickle.dump (classifierList, open (". \ save \ saveAll.p", "wb"))

MemoryError

, и сценарий python аварийно завершает работу, ничего не записывая в saveAll.p.

Можно ли успешно сохранить этот список классификаторов? Я делаю что-то не так в синтаксисе pickle? Возможно, есть другие, более эффективные способы сохранить эти объекты, чтобы потом их эффективно загружать, кроме травления? Спасибо за любое предложение!

1 Ответ

0 голосов
/ 25 февраля 2020

Как указано в документации sklearn, модуль joblib более эффективен, чем модуль pickle.

...