У меня есть список Python очень разного размера текстов.
Когда я пытаюсь преобразовать этот список в массив Numpy, в памяти появляются очень большие скачки.
Я использую np.array(list_of_texts)
для конвертации.
Ниже приведено использование памяти в строке на строку, которое возвращается memory_profiler
примера преобразования списка текстов.
from memory_profiler import profile
import numpy as np
Line # Mem usage Increment Line Contents
================================================
4 58.9 MiB 58.9 MiB @profile
5 def f():
23 59.6 MiB 0.3 MiB small_texts = ['a' for i in range(100000)]
24 60.4 MiB 0.8 MiB big_texts = small_texts + [''.join(small_texts)]
26 61.4 MiB 0.0 MiB a = np.array(small_texts)
27 38208.9 MiB 38147.5 MiB b = np.array(big_texts)
Я подозреваю, что проблема связана с различным размером текстов в списке.
Есть идеи, почему это происходит?
Как сохранить разумную оперативную память при преобразовании списка текстов в массив numpy?