Does setting numpy arrays to None free memory? : <p>I have hundreds of really larges matrices, like (600, 800) or (3, 600, 800) shape'd ones.</p>

<p>Therefore I want to de-allocate the memory used as soon as I don't really need something anymore.</p>

<p>I thought:</p>

<pre><code>some_matrix = None
</code></pre>

<p>Should do the job, or is just the reference set to None but somewhere in the Memory the space still allocated? (like preserving the allocated space for some re-initialization of <code>some_matrix</code> in the future)</p>

<p>Additionally: sometimes I am slicing through the matrices, calculated something and put the values into a buffer (a list, because it gets appended all the time). So setting a list to None will definitely free the memory, right?</p>

<p>Or does some kind of <code>unset()</code> method exist where whole identifiers plus its referenced objects are "deleted"?</p>
