rpy で作成されたオブジェクト (およびそれらが占めるメモリ) をクリアするにはどうすればよいですか?
import rpy2.robjects as r
a = r.r('a = matrix(NA, 2000000, 50)')
del a #if I do this, there is no change in the amount of memory used
r.r('rm(list=(ls(all=TRUE)))') # Same here, the objects disappear, but the memory is still used
不幸な影響は、私のアプリケーションでは、十分なメモリがなくなるまでメモリ使用量が増加し、その後クラッシュすることです... rpy2 docsから:
オブジェクト自体は利用可能なままであり、Python から foo が削除されるまで R のガベージ コレクションから保護されます。
しかし、やっている:
import rpy2.robjects as r
a = r.r('a = matrix(NA, 2000000, 50)')
r.r.rm('a')
del a
r.r.gc()
使用されているメモリを解放しません...
編集:rpy2 2.0、Win XP、R 2.12.0