JuliaPy / JuliaPy/PyPlot.jl

PyPlot memory deallocation problem

Offen
#111 21 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Julia
Sterne
488
Forks
90
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi,

when batch saving multiple figures with 'savefig()' a large amount of memory is
allocated and I am not able to free it afterwards without closing my julia session.

Basically I am doing:

``` julia
for ff=101:150
figure(1)
PyPlot.clf()
imshow(imagg,extent=[0,350,0,580],aspect=1);
imshow(gridG[1:18,1:35,ff],interpolation="bicubic",cmap="jet",origin="lower",extent=[14,339,158,300],alpha=.5,aspect=.8)
PyPlot.autoscale("off")
plt.axis("off")
plt.title("Absolute value @" *string(ff)* " Hz")
savefig("~/pianoMeas1/klavierKlopfTest_"*string(ff)*".png");
plt.close()
end
```

The memory usage before the loop is ~2gb, after the loop it is ~4gb.

I also tried

``` julia
figurN=open("~/pianoMeas1/klavierKlopfTest_"*string(ff)*".png","w")
plt.savefig(figurN);
close(figurN)
```

giving the same result.

When overwriting existing files the memory usage stays constant so I believe the
"memory-overflow" occurs while allocating space for the file, but this is just a shot in the dark.

My julia version is:

``` julia
versioninfo()
Julia Version 0.4.0-dev+2496
Commit 89f89e1* (2015-01-05 09:04 UTC)
DEBUG build
Platform Info:
System: Linux (x86_64-unknown-linux-gnu)
CPU: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas
LIBM: libopenlibm
LLVM: libLLVM-3.3
```

Any ideas, pointers are appreciated as I am not shure where to start debugging this.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.