Можете ли вы привести пример того, что вы пытаетесь сделать? Когда я запускаю что-то в ноутбуке IPython, что дорого, я почти всегда пишу его на диск после слова. Например, если мои данные список объектов JSON, я пишу его на диск в виде строки разделены JSON отформатированные строки:
with open('path_to_file.json', 'a') as file:
for item in data:
line = json.dumps(item)
file.write(line + '\n')
Вы можете прочитать обратно в данных таким же образом:
data = []
with open('path_to_file.json', 'a') as file:
for line in file:
data_item = json.loads(line)
data.append(data_item)
Я думаю, что это хорошая практика вообще, потому что она предоставляет вам резервную копию. Вы можете также использовать маринованные овощи для того же самого. Если ваши данные действительно большие, вы можете фактически записать gzip.open
в zip-файл.
EDIT
Для сохранения scikit узнать модель для использования joblib.pickle
диска.
from sklearn.cluster import KMeans
km = KMeans(n_clusters=num_clusters)
km.fit(some_data)
from sklearn.externals import joblib
# dump to pickle
joblib.dump(km, 'model.pkl')
# and reload from pickle
km = joblib.load('model.pkl')
Я не знаю, есть ли такая возможность в IPython, но вы могли бы просто кэшировать дорогие вычисления на диск с, например, [joblib.Memory] (https://pythonhosted.org/joblib/memory.html). – rth