1
favourstreet 2020-03-10 21:28:08 +08:00
楼主你自己说“使用 CPU **训练**时速度太慢”,又接着说“本人这个**并不是**网络训练的代码”。到底是不是啊[抓狂]。普通图像处理的 GPU 加速完全是另外一个领域的事情了。
|
2
suifengingo OP @favourstreet 这个是普通的图像处理代码,老哥有什么可以使用 GPU 来加速运行的代码介绍吗?
|
3
suifengingo OP 标题不是“训练程序”,而应该是“运行程序”,说顺嘴了不好意思
|
4
lsvih 2020-03-10 21:50:54 +08:00
可以试试 numba 的 cuda jit
|
5
favourstreet 2020-03-10 21:54:15 +08:00
@suifengingo opencv 支持 cuda,但是楼主不要抱过多期待,放到 gpu 上算没变慢就不错了。如果楼主对图像的操作真的十分普通,我推荐楼主写一个 Photoshop 批处理脚本,可以用 js 写,Photoshop 也支持 gpu 加速。
|
6
suifengingo OP @favourstreet 谢谢你,不过我这个代码里面没有调用到 opencv,而且程序我是放到服务器上运行的,貌似没法使用到 PS 来运行[哭
|
7
jaswer 2020-03-11 07:56:41 +08:00
nivdia-smi 看看服务器有几块 GPU,os.environ["CUDA_VISIBLE_DEVICES"] = "1"里面那个“1”是 GPU 的编号,从 0 开始,要是你服务器就一块卡,肯定是调不起来的。CUDA_VISIBLE_DEVICES 就是在多块 GPU 情况下指定特定 GPU 用的。另外你的代码要支持 GPU 才行,图像处理用 TF pytorch 写吧,nb 的直接 CUDA
|
8
jaswer 2020-03-11 07:58:02 +08:00
另外要看你的算法是否复杂,有的时候数据在内存和显存中传的开销比你算法加速的时间还多。
|
9
drawstar 2020-03-11 10:08:51 +08:00
先看你代码支不支持 cuda
再看你电脑支不支持 cuda |
10
suifengingo OP @jaswer 服务器中只有一块编号为 0 的 GPU,我加上了 os.environ["CUDA_VISIBLE_DEVICES"] = "1"
并且改为使用 opencv 的 cv2.imwrite() 函数来保存图像了,可是通过输入 nvidia-smi 指令发现运行程序时候还是没有调用到 GPU,求大佬的解答 |
11
jaswer 2020-03-11 15:27:17 +08:00
@suifengingo 我看你还是放弃吧
|