ODs*_*uck 5 python memory r rpy2
我使用R 3.5.1开发Python 3.7。当我从Python的R脚本调用函数时,它在原则上可以工作,但是最后它崩溃并显示输出:
rpy2.rinterface.RRuntimeError:错误:无法分配大小为1006.0 Mb的向量
我有16GB的RAM,在长时间的处理过程中,我检查了内存使用量的波动,最大波动小于5GB。
为了使事情更加确定,我跟踪了内存使用情况
gc()
gcinfo(TRUE)
Run Code Online (Sandbox Code Playgroud)
它会自动丢弃垃圾并跟踪R何时这样做。
另外,在RI中获取以下内容,指示16k MB,这是我所有的默认RAM:
> memory.limit()
[1] 16244
Run Code Online (Sandbox Code Playgroud)
最后,当我直接从R运行R脚本时,它可以正常工作,并且不会遇到内存问题。
它是rpy2的强大漏洞还是目前可以管理的其他漏洞?如果有人有任何建议,我们将非常欢迎他们。
作业系统:Windows 10,64bit
从这个线程:
这似乎是由 R 向量和 Python 数组之间难以协调的差异引起的。
我可以建议执行以下操作作为解决方法:
考虑线程中提供的转换类型,例如:
from rpy2.robjects import conversion
df_R = conversion.converter.py2ri(df_pandas)
版主注:这可以是评论,但我无法发表评论
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |