我使用dask自定义图形进行计算。我想在发布任务图的同时得到一个未来,这样我就可以根据未来的状态来判断计算是否完成。 当我使用client.get(图,键)时,他返回了一个dask.dataframe,但它被延迟了。并未实际开始计算 我不能使用client.get()获得未来,所以我使用client.compute(client.get(graph,key))来获得未来,但是有一个问题是它不是实时的。当我计算复杂的图形时,我需要等待10-20秒。那么,有没有其他方法来实现或改进呢? 如果有更好的方法,请让我知道,谢谢 >>> from dask.distributed im
我正在创建的Dask图有多个输出。 我想知道是否可以同时可视化多个dask输出。 当我尝试使用dask.visualize(graph)时。其中graph是Dask节点的元组或字典。它似乎失败了,因为它生成了一个空图像。 例如: import dask
@dask.delayed
def op(x, y):
return x + y
def graph():
a = 1
b = 2
c = 3
d = 4
f = op(a, b)
g = op(c, d)
h = op(a, d)
output1 = op(f,
所以我对dask DataFrame.append有个问题。我从主数据中生成了许多派生特征,并将它们附加到主数据框架中。在此之后,任何一组列的dask图都会被放大。下面是一个小示例:
%pylab inline
import numpy as np
import pandas as pd
import dask.dataframe as dd
from dask.dot import dot_graph
df=pd.DataFrame({'x%s'%i:np.random.rand(20) for i in range(5)})
ddf = dd.from_pandas(df
我感兴趣的是创建一个dask.array.Array,它在compute()之前/之后打开和关闭资源。但是,我不想假设最终用户将如何调用compute,我希望避免创建自定义的dask Array子类或代理对象,因此我试图将操作嵌入到数组的底层__dask_graph__中。
(旁白:请暂时忽略关于在dask中使用有状态对象的警告,我知道其中的风险,这个问题只是关于任务图的操作)。
请考虑下面的类,该类模拟必须处于打开状态的文件读取器才能读取块,否则就会出现分段错误。
import dask.array as da
import numpy as np
class FileReader:
我正在尝试使用Client.get方法计算远程集群中的dask自定义图,但我遇到了以下错误:AssertionError: daemonic processes are not allowed to have children
我意识到,dask图中的一个底层方法使用了一个进程池,这导致了这个错误的产生,因为dask自己也试图使用一个进程池。所以,我解决这个问题的方法是使用一个LocalCluster并传递参数processes=False。然而,不幸的是,如果我使用附加到远程集群的客户端,dask将不允许我传递process=False,而且使用-nprocs=1参数初始化远程工作人员也不起
我正在dask上运行一个函数,将数据转储到NoSQL DB中,如下所示:
def write_to_db(x):
# code to write into db
db.insert_many(x)
return
def func():
# code to process each element
for col in int_cols:
try:
x[col] = int(x[col])
except (ValueError, TypeError):
x[col] = None
impor
我非常熟悉为CPU分发的Dask。我想探索如何在GPU内核上运行我的代码。当我向LocalCUDACluster提交任务时,我会得到以下错误:
ValueError: tuple is not allowed for map key
这是我的测试用例:
import cupy as cp
import numpy as np
from dask_cuda import LocalCUDACluster
from dask.distributed import Client
cluster = LocalCUDACluster()
c = Client(cluster)
def test_f