python-3.x - 在图形并行计算中处理相互依赖的文件
问题描述
我正在尝试通过使用(或通过自己实现计算图)创建任务图来并行化以下代码( MCVE):dask.delayed
os.chdir('./kitchen1')
write_dough() # writes file ./dough
write_topping() # writes file ./topping
write_pizza() # requires ./dough and ./topping; writes ./pizza
我看到两个困难:
write_dough
不返回任何东西。z=x+y
使变量之间的依赖关系清晰;这没有。Dask 不建议依赖副作用。有没有惯用的解决方案?os.chdir
. 如何将其合并到计算图中?- 我不关心并行化文件 IO、性能等。
这是我目前的解决方案。它增加了复杂性,并且'./kitchen1'
无处不在,这很丑陋。什么是优雅的解决方案?
write_dough, write_topping, write_pizza = map(dask.delayed, (write_dough, write_topping, write_pizza))
dough = write_dough('./kitchen1')
topping = write_topping('./kitchen1')
pizza = write_pizza(dough, topping, './kitchen1')
解决方案
我会推荐您当前明确传递依赖项的方法。
推荐阅读
- sql - 根据另一个表中的日期查找重复行
- python-3.x - Pandas:升级后无法加载 Pickle 文件(0.22 到 0.23):
- javascript - 过滤具有多个值的表
- sql - 如何在 aspnetboilerplate 中一次更新多行?
- java - org.json.JSONException: JSONObject["status"] 不是 JSONObject
- javascript - jQuery - 将 CSS 应用于匹配的项目
- jquery - Bootstrap/React - 使用数组填充选择选项
- machine-learning - 制作决策树分类器的困惑
- powershell - 使用管理员权限设置自定义 shell
- android - Bundle.getBoolean Null 对象引用