python - How to implement Garbage Collection in Numpy -
i have file called main.py
, references file optimisers.py
has functions in , used in for
loop in main.py
. these functions have different optimisation functions in them.
this optimisers.py
references 2 other similar files functions in them well, in while
loops. of these files use numpy.
i believe because of loops functions calling on , creating arrays in numpy, leading memory overload. therefore cannot finish optimisation algorithms, or cycle through possible coordinates to.
how ensure removal of variables in numpy? understand it, numpy's c libraries complicate standard python process. %reset array
command (from link below) do? , should implement it?
p.s. i've read "releasing memory of huge numpy array in ipython", , gc.collect()
not work either.
when numpy array no longer referenced, automatically freed gc. c objects wrapped in python objects, should not matter how it's implemented.
make sure arrays not referenced in global variables, since stick around until overwritten or program exits.
if need free array local variable before goes out of scope can use del variablename
(or assign e.g. none), not take care of other references, 1 named.
for debugging referencing object, can use gc.get_referrers(object)
.
p.s. i've read releasing memory of huge numpy array in ipython , gc.collect() not work either.
unless have cycles or have called gc.disable()
, gc.collect()
not make gc happen sooner.
Comments
Post a Comment