Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Gluon、python减少fasterRCNN数组输出的大小_Python_Conv Neural Network_Mxnet_Gluon_Faster Rcnn - Fatal编程技术网

使用Gluon、python减少fasterRCNN数组输出的大小

使用Gluon、python减少fasterRCNN数组输出的大小,python,conv-neural-network,mxnet,gluon,faster-rcnn,Python,Conv Neural Network,Mxnet,Gluon,Faster Rcnn,我正在使用一个更快的rcnn模型来运行一些对象检测。我使用的包装器是gluon,代码如下: net = model_zoo.get_model('faster_rcnn_resnet50_v1b_coco', pretrained=True) im_fname = utils.download('https://github.com/dmlc/web-data/blob/master/' + 'gluoncv/detection/biking.jpg

我正在使用一个更快的rcnn模型来运行一些对象检测。我使用的包装器是gluon,代码如下:

net = model_zoo.get_model('faster_rcnn_resnet50_v1b_coco', pretrained=True)

im_fname = utils.download('https://github.com/dmlc/web-data/blob/master/' +
                      'gluoncv/detection/biking.jpg?raw=true',
                      path='biking.jpg')
x, orig_img = data.transforms.presets.rcnn.load_test(im_fname)

box_ids, scores, bboxes = net(x)
我的问题是,是否有可能减少net(x)返回的数组的大小,从而有效地加快计算速度?

问题在于,该模型将box_id、score和bboxe作为包含80000个元素的数组生成——只有前10个元素有用,其余元素的得分为-1。稍后,我尝试使用asnumpy()将这些数组转换为numpy数组,但是,mxnet使用异步引擎,此函数必须等待计算结束后才能执行。80000个元素的计算需要更长的时间(5秒以上),因此我尝试减小阵列大小(SSD型号输出约6000个元素,速度更快)

如果您有其他的解决方案来提高.asnumpy()的速度,那么这些也很受欢迎-基本上,一张图像只需5秒钟,这似乎不合理,因此我希望将其降低到~0.2s(这似乎更合适,对吗?)


谢谢

通过更改非最大抑制参数,可以减少检测到的对象的最大数量。请参阅和
set\u nms
。当您减少这个值时,您将获得更少的对象填充(即-1s),但您也可能会错过包含大量对象的图像中的对象

net.set_nms(nms_thresh=0.5, nms_topk=50)

我不认为这会增加总体吞吐量,因为绝大多数计算是在NMS之前进行的。如果需要低延迟和高吞吐量,我建议您考虑其他体系结构
yolo3_darknet53_coco 3(608x608)
在mAP方面与FasterRCNN相比不算太高,但吞吐量大大提高(~10倍)。

您能分析一下这段代码,看看瓶颈在哪里发生吗?如果可能的话,只需对输出进行索引,以抓取顶部并使用压缩格式(如
bcolz