覆盖dask中getitem的操作

2024-04-26 01:02:03 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有方法覆盖某些操作。你知道吗

import dask
import numpy as np
a = np.zeros((10,10))
a = dask.delayed(lambda x : x*2)(a)

我想a[0]返回一个数字(而不是必须调用a[0].compute())。 这可能吗?你知道吗

上下文是我想要一系列图像(3D数组),并运行如下操作:

imgs2 = imgs - 1
imgs3 = imgs*mask

然后让imgs3[0]这样的操作显式运行imgs3[0].compute()。你知道吗

但是,我现在看到这个方法有很多缺点,我想删除这个帖子。其一,这是相当有限的。像imgs3[:,:, 10](所有列)这样的索引也可能以计算结果结束。你知道吗


Tags: 方法lambda图像importnumpyasnpzeros
1条回答
网友
1楼 · 发布于 2024-04-26 01:02:03

这对我来说似乎很管用

In [1]: import dask
   ...: import numpy as np
   ...: a = np.zeros((10,10))
   ...: a = dask.delayed(lambda x : x*2)(a)
   ...: 

In [2]: a[0]
Out[2]: Delayed('getitem-4eccd4e43153cac99d8e6d280cc1ad9c')

In [3]: a[0].compute()
Out[3]: array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])

相关问题 更多 >

    热门问题