python - 与丘比的自相关

标签 python gpu cupy autocorrelation

我想计算 GPU 上图像的自相关性。 但是,当我使用 cupy 关联函数时,我得到的结果与 CPU 计算的结果不同。是因为 cupyx.scipy.ndimage.correlate 通过均匀图像的自相关自动标准化结果吗?

import numpy as np
import scipy.signal as sc
import cupy as cp
import cupyx.scipy.ndimage as cnd
from matplotlib import pyplot as plt

ones = np.ones((128,128))

corr_cpu = sc.correlate2d(ones,ones)
corr_gpu = cnd.correlate(cp.array(ones),cp.array(ones))

plt.figure()
plt.imshow(corr_cpu)
plt.colorbar()
plt.title('Correlation CPU')

plt.figure()
plt.imshow(cp.asnumpy(corr_gpu))
plt.colorbar()
plt.title('Correlation GPU')
plt.show()

CPU result

GPU result

最佳答案

好的,找到答案了: cupyx.scipy.ndimage.correlate 使用 mode='reflect' 作为默认值,而 scipy.correlate 使用 'constant'。

因此,cupy 的“常数”现在给出与 scipy 函数相同的结果

关于python - 与丘比的自相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59679631/

相关文章:

python Mechanize session 未保存

python - 在 python 模块 (pypi) 中包含 DLL

python - 从数据透视表绘制 Pandas DataFrame

python - Blas GEMV 发射失败 : m=3, n=2 [Op:MatMul]

opengl - 三角形是GPU的限制还是其他渲染路径?

numpy - 为什么 Python 和 CUDA 不支持半精度复数浮点运算?

python - 即使用户已经登录,也会显示登录页面

java - GPU 上的 DL4J 示例不起作用(对于学校项目)

python - 如何将GitHub中的包(基于python)的不同分支导入到本地计算机?