打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
请教各位大佬,在cambricon pytorch的docker中转换了yolov5s的离线模型(batchsize=4,ct.set_core_number(4)),生成的twins文件如下:
在MLU220的板子上使用c++推理的时候发现,batchsize=4的速度仅仅是batchsize=1时候的1.3倍不到(单张图片44ms,batchsize=4大约144ms),感觉有点问题。。。请问这个速度是不是不正常?
c++推理代码参考git repo:https://github.com/CambriconECO/Pytorch_Yolov5_Inference/tree/eb36b68e5a4ee3fe23c45ec545bef68dced452bb/offline/yolov5_offline_simple_demo/src
其中读取一个batch四张图片预处理后送入模型采用的方式如下(ptr指向图片输入数据,四张图片依次顺序放入):
Params detInitParam; //...... //......省略操作:初始化模型函数及参数 //...... unsigned char *ptr=(unsigned char *)detInitParam.inputCpuPtrS[0]; for(int i=0; i<detInitParam.batch_size; i++) { //......预处理:letterbox等 img_data = cv::Mat(detInitParam.input_height, detInitParam.input_width, CV_32FC3, ptr); ptr += (detInitParam.input_height * detInitParam.input_width * 3 * 4); } //......对detInitParam操作进行batch推理
PS: 通过测试发现主要是以下这步耗时较多,这个同步队列有办法快一点吗?
cnrtSyncQueue(detInitParam->queue)
热门帖子
精华帖子