我正在处理一个Kedro 0.17.2项目,该项目正在处理内存不足的问题,我正在努力减少内存占用。
我正在使用来自mprof库的memory-profiler进行分析,我注意到总是有一个子进程,并且在正在运行的节点中的第一次计算之后,主进程中的内存似乎重复。Kedro有可能复制内存中的数据吗?如果是的话,是否有办法避免这种情况?
备注:
SequentialRunneris_async cli选项

发布于 2021-10-23 05:49:39
事实证明,此问题是由memory-profiler库中可能存在的缺陷引起的,该错误用于kedro.extras.decorators.memory_profiler.mem_profile装饰器。
kedro装饰器利用memory_usage模块中的memory-profiler函数。它用于从python进程中对正在运行的函数使用的总内存进行示例。
关于这个问题还有一个悬而未决的问题,但目前还没有解决办法。概况介绍/问题/332
暂时我已经把装修师移走了。
发布于 2021-10-18 09:45:50
你好,伊尔斯皮涅罗,很难弄清楚到底发生了什么。简而言之,我们并不期望Kedro会把内存从盒子里复制出来,从理论上讲,这可以由hooks.py中的一些东西引入。
不管怎样,我可以帮你减少你的内存足迹:
MemoryDataSets。https://stackoverflow.com/questions/69592125
复制相似问题