擅长:python、mysql、java
<p>您可以使用多处理使其快速:</p>
<pre><code>from concurrent import futures
import itertools
import numpy as np
patches1 = image.extract_patches_2d(img1,(5,5))
H = image.shape[0]; W = image.shape[1]
results = np.zeros(H*W)
with futures.ProcessPoolExecutor(max_workers=8) as exe:
procs = {exe.submit(f, patches1[i], patches1[j]): i*W+j for (i,j) in itertools.product(range(H), range(W))}
for r in futures.as_completed(procs):
ids = procs[r]
val = r.result()
results[ids] = val
results = np.reshape(results,(H,W))
</code></pre>
<p>有一种更聪明的方法可以做到这一点:优化f,使其在整个<code>image</code>而不是<code>patches1</code>上工作。这里我只展示一种工程方法。你知道吗</p>