首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dask:哪个函数变量是visualize()的最佳选择

Dask:哪个函数变量是visualize()的最佳选择
EN

Stack Overflow用户
提问于 2019-05-13 22:43:20
回答 1查看 26关注 0票数 0

我试图更深入地理解Dask delayed,所以我决定通过示例here来学习。我修改了一些代码,以反映我希望如何使用Dask (见下文)。但是结果和我预想的不一样。元组vs列表。当我尝试应用'.visualize()‘来查看执行图是什么样子时,我什么也得不到。

我研究了“delayed.ipynb”中的所有示例,它们都工作正常,包括所有的可视化效果。然后我为一个例子修改了' for‘循环:

代码语言:javascript
复制
for i in range(256):
    x = inc(i)
    y = dec(x)
    z = add(x, y)
    zs.append(z)

对函数调用使用列表理解。结果是原始工作示例的变体。

代码语言:javascript
复制
%%time
import time
import random
from dask import delayed, compute, visualize

zs = []

@delayed
def inc(x):
    time.sleep(random.random())
    return x + 1

@delayed
def dec(x):
    time.sleep(random.random())
    return x - 1

@delayed    
def add(x, y):
    time.sleep(random.random())
    return x + y

def myloop(x):
    x.append([add(inc(i), dec(inc(i))) for i in range(8)])
    return x

result = myloop(zs)
final = compute(*result)
print(final)

我尝试打印出'result‘(函数调用),它提供了预期的延迟调用列表,但当我打印'compute’的结果时,意外地得到了所需的列表作为元组的一部分。为什么我不能得到一份清单呢?

当我试图“可视化”执行图时,我什么也得不到。我希望看到与生成的列表中一样多的节点。

我不认为我对这个示例做了任何重要的修改,那么我不理解的是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2019-05-18 23:18:15

visualize函数与compute具有相同的调用签名。因此,如果您的compute(*result)调用可以正常工作,那么可以尝试visualize(*result)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56114712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档