Вы можете попробовать сжать рассол
compressed_pickle = StringIO.StringIO()
with gzip.GzipFile(fileobj=compressed_pickle, mode='w') as f:
f.write(pickle.dumps(classifier))
Затем вы можете записать compressed_pickle
в файл.
Чтобы прочитать его обратно:
with open('rf_classifier.pickle', 'rb') as f:
compressed_pickle = f.read()
rf_classifier = pickle.loads(zlib.decompress(compressed_pickle, 16 + zlib.MAX_WBITS))
РЕДАКТИРОВАТЬ
Похоже, что в версиях Python до 3.4 использовалось жесткое ограничение в 4 ГБ для размера сериализованного объекта.Последняя версия протокола Pickle (версия 4.0) не имеет этого ограничения, просто укажите версию протокола:
pickle.dumps(obj, protocol=4)
Для более старых версий Python, пожалуйста, обратитесь к этому ответу: _pickle в python3 не делаетРабота с большими объемами данных