gpt4 book ai didi

python - 如何将我的 python 代码转换为在 GPU 而不是 CPU 上运行?

转载 作者:太空宇宙 更新时间:2023-11-03 21:49:07 27 4
gpt4 key购买 nike

我得到了一个 python 代码,它接受两个图像作为输入,并使用 Gabor 过滤器找到两个图像的 RGB 相关性并将其保存在一个 csv 文件中。所以我需要使用 GPU 执行程序,因为它需要很多时间和 CPU 使用率。我有一 block GeForce GTX 1050 Ti,完全是编程初学者。

我做了一些研究并了解了 CUDA 和 Tensorflow,但我真的不确定如何继续实现它,以及在不更改大量代码的情况下实现它的最佳方法是什么。

#Gabor Filter
def build_filters():
filters = []
#tesing phrase filter - reduce
for ksize in range(9, 19, 5):
for theta in np.arange(45, 225, 45):
for sigma in range(2,6,2):
kern = cv2.getGaborKernel((ksize, ksize), sigma, theta, 5.0, 0.5, 0, ktype=cv2.CV_32F)
kern /= 1.5*kern.sum()
filters.append(kern)
return filters

#Apply filter into the image
def process(images, f):
accum = np.zeros_like(images)
for kern in f:
fimg = cv2.filter2D(images, cv2.CV_8UC3, kern)
np.maximum(accum, fimg, accum)
return accum

完整代码: https://gitlab.com/t.tansuwan/image_diff_kce/blob/master/allPixelNoCrop.py

谢谢!

最佳答案

Numba可以将一小部分 Python 转换为 .

您需要使用 conda 包管理器安装 numba 和 cudatoolkit:conda install numba cudatoolkit。然后你可以添加@jit(nopython=True, parallel=True)

我不确定 Numba 是否可以与 OpenCV 一起使用,但您当然可以尝试。 Python 并不真正适合高性能计算,您最好学习 FORTRAN(一种着色器语言)或 C 并在其中实现您的计算。

关于python - 如何将我的 python 代码转换为在 GPU 而不是 CPU 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57891523/

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