python - 在尚未开始计算的情况下持续存在内存延迟
问题描述
我的 python 工具包中有多个计算树,但当前分析并不需要所有计算树:
a1 = build_a1().persist()
a2 = build_a2(a1).persist()
a3 = build_a3(a2)
b1 = build_b1().persist()
b2 = build_b2(b1).persist()
b3 = build_b3(b2)
然后我只对'a'分支感兴趣,所以我这样做:
a3.compute() # Target result, very long to compute
a[1,2].compute() # Intermediate cached result, quick in-memory access
问题是,当我使用persist() 时,它会自动对每个项目(即:a*、b*)启动异步分布式计算,即使我最终只对特定分支感兴趣。
理想情况下,我希望保持延迟,但稍后使用以下任一方式开始计算:
d.persist(compute=False)
或者
@dask.delayed(keep_in_memory=true)
def build_a1():
[...]
解决方案
推荐阅读
- customization - 如何将我自己的 CSS 添加到具有现有线框主题的 Sitecore SXA 自定义组件?
- batch-file - Windows批处理文件中变量中的第一个大写字符
- python-3.7 - 无法从 Lark AST 获取值
- reactjs - React 中的条件道具(仅接受 2 个道具中的 1 个)
- heroku - Heroku 中 MERN 应用程序部署中的文件路径问题
- javascript - 如何在 Express.js 中使用 MongoDB 的新模式验证功能?
- reactjs - 从渲染的类对象访问类函数
- node.js - 异步猫鼬查询的问题
- python - Pandas 中具有 dtype 对象的系列的类型计数
- arrays - Matlab:arrayfun,两个矩阵X,Y作为向量的分量