gpt4 book ai didi

python - 如何使用 dask 应用平滑过滤器

转载 作者:行者123 更新时间:2023-12-05 06:41:40 24 4
gpt4 key购买 nike

我有一个二维数组,我想用一个内核做一个二维卷积,例如一个简单的平面方阵。

例如:http://nbviewer.jupyter.org/gist/zonca/f0d819048ef7318eff944396b71af1c4

有没有办法用 dask 运行这个多线程?

最佳答案

map_overlap方法可以做你想做的。它允许您将函数映射到数组的 block 上,其中这些 block 已经用附近 block 的重叠区域进行了预缓冲。

类似下面的内容可能是一个好的开始:

In [1]: import numpy as np
In [2]: x = np.random.normal(10, 1, size=(1000, 1000))

In [3]: from scipy.signal import convolve2d

In [4]: import dask.array as da
In [5]: d = da.from_array(x, chunks=(500, 500))

In [6]: filt = np.ones((8, 8))

In [7]: d.map_overlap(convolve2d, in2=filt, depth=8)
Out[7]: dask.array<trim-de..., shape=(1000, 1000), dtype=None, chunksize=(500, 500)>

但请注意,您提供的过滤器既平滑又放大。您可能还需要尝试使用 convolve2d 中的修剪。

关于python - 如何使用 dask 应用平滑过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39887682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com