проблемой?
Создаю в цикле много скаттерплотов в пакете seaborn (код ниже), сохраняю их на диск, очищаю и закрываю графики — однако, где-то происходит утечка памяти. Количество графиков большое, и в итоге 3% цикла съедают все 16 Гб оперативы... ЧЯДНТ?
------------------------------
Проблема решена, работающий код:
from matplotlib import pyplot as plt
import seaborn as sns
def plot_and_save_seaborn_scatter(data, x_feat, y_feat, filename):
cur_plot = sns.scatterplot(x_feat, y_feat, data=data).get_figure()
plt.title('%s ~ %s' % (y_feat, x_feat))
cur_plot.savefig(filename)
cur_plot.clear()
for x_feat in some_feature_set:
for y_feat in some_feature_set_2:
if x_feat != y_feat:
filename = '%s_%s.png' % (x_feat, y_feat)
plot_and_save_seaborn_scatter(df, x_feat, y_feat, filename)
попробуй plt.close() del plt
Здесь уже исправленный вариант кода
Обсуждают сегодня