I am running in ipython. Now I do not have the problem anymore. %reset commands is a good solution.
Thanks
Frank
> Date: Tue, 9 Dec 2008 21:03:00 -0600
> From: robert.kern@gmail.com
> To: numpy-discussion@scipy.org
> Subject: Re: [Numpy-discussion] how do I delete unused matrix to save the memory?
>
> On Mon, Dec 8, 2008 at 19:15, frank wang <f.yw@hotmail.com> wrote:
> > Hi,
> >
> > I have a program with some variables consume a lot of memory. The first time
> > I run it, it is fine. The second time I run it, I will get MemoryError. If I
> > close the ipython and reopen it again, then I can run the program once. I am
> > looking for a command to delete the intermediate variable once it is not
> > used to save memory like in matlab clear command.
>
> How are you running this program? Be aware that IPython may be holding
> on to objects and preventing them from being deallocated. For example:
>
> In [7]: !cat memtest.py
> class A(object):
> def __del__(self):
> print 'Deleting %r' % self
>
>
> a = A()
>
> In [8]: %run memtest.py
>
> In [9]: %run memtest.py
>
> In [10]: %run memtest.py
>
> In [11]: del a
>
> In [12]:
> Do you really want to exit ([y]/n)?
>
> $ python memtest.py
> Deleting <__main__.A object at 0x915ab0>
>
>
> You can remove some of these references with %reset and maybe a
> gc.collect() for good measure.
>
>
> In [1]: %run memtest
>
> In [2]: %run memtest
>
> In [3]: %run memtest
>
> In [4]: %reset
> Once deleted, variables cannot be recovered. Proceed (y/[n])? y
> Deleting <__main__.A object at 0xf3e950>
> Deleting <__main__.A object at 0xf3e6d0>
> Deleting <__main__.A object at 0xf3e930>
>
> --
> Robert Kern
>
> "I have come to believe that the whole world is an enigma, a harmless
> enigma that is made terrible by our own mad attempt to interpret it as
> though it had an underlying truth."
> -- Umberto Eco
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion@scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
Send e-mail faster without improving your typing skills. Get your HotmailŪ account.