首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >opencv不会使用所有GPU内存

opencv不会使用所有GPU内存
EN

Stack Overflow用户
提问于 2020-09-07 05:08:48
回答 3查看 924关注 0票数 1

我正在尝试使用cvlib包,它使用yolov3模型来识别windows 10图像上的对象。让我们举一个简单的例子:

代码语言:javascript
复制
import cvlib as cv
import time
from cvlib.object_detection import draw_bbox


inittimer=time.time()
bbox, label, conf = cv.detect_common_objects(img,confidence=0.5,model='yolov3-worker',enable_gpu=True)
print('The process tooks %.3f s'%(time.time()-inittimer)

output_image = draw_bbox(img, bbox, label, conf)

结果约为60ms。

cvlib使用opencv来计算cnn部分。

如果现在我尝试使用subprocess来查看GPU tensorflow使用了多少,结果只有824MiB。

当程序运行时,如果我启动nvidia-smi,它会显示以下结果:

如你所见,这里有更多的内存可用。我的问题很简单..为什么Cvlib (以及tensorflow)没有使用所有这些来提高检测时间?

编辑:

据我所知,cvlib使用tensorflow,但它也使用opencv检测器。我使用cmake和Cuda 10.2安装了opencv,我不知道为什么,但在nvidia-smi中,它是写的CUDA版本: 11.0,而不是。也许这就是问题的一部分?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-16 00:11:08

这样啊,原来是这么回事!问题来自于我为每个迭代创建了一个新的Net对象。

这里是github上的相关问题,你可以在那里关注它:https://github.com/opencv/opencv/issues/16348

使用自定义函数,它现在的工作速度约为60 fps。请注意,cvlib可能不是为了实时计算而做的。

票数 1
EN

Stack Overflow用户

发布于 2020-09-11 18:57:37

您可以验证opencv是否正在使用CUDA。这可以使用以下命令来完成

代码语言:javascript
复制
import cv2
print(cv2.cuda.getCudaEnabledDeviceCount())

这应该会得到您的机器中支持CUDA的设备的数量。您还应该使用以下方法检查构建信息

代码语言:javascript
复制
import cv2
print cv2.getBuildInformation()

以上两种情况的输出都可以指示您的opencv是否可以访问GPU。如果它不能访问GPU,那么你可以考虑重新安装。

票数 1
EN

Stack Overflow用户

发布于 2020-09-14 20:40:21

代码语言:javascript
复制
workon opencv_cuda                                                                                                          
cd opencv                                                                                                                              
mkdir build                                                                                                                                
cd build                                                                                                                               
cmake -D CMAKE_BUILD_TYPE=RELEASE

并分享结果。应该是这样的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63768916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档