np.ndarray, когда он выбран, увеличивает счетчик ссылок из функции dumps, однако счетчик ссылок никогда не уменьшается.
Python 3.6.4 Анаконда
Ubuntu 16.04.5 LTS
numpy 1.16.0
Я уже пытался преобразовать в список с помощью numpy.array.tolist (), однако этот метод слишком медленный.
import numpy as np
import pickle
import sys
a = np.ndarray((10, 10), dtype=np.uint8)
print(sys.getrefcount(a)) # 2
pickle.dumps(a)
print(sys.getrefcount(a)) # 3
Я ожидал бы, что выходной сигнал будет равен 2, 2 из-за Py_DECREF, который возникает в функции создания дампов, однако он остается.
Вывод 2, 3, и я не могу это исправить. Я теряю память как сумасшедший.
В настоящее время копается в _pickle.c.