关于用yolov5进行验证集的map计算_第1页
关于用yolov5进行验证集的map计算_第2页
关于用yolov5进行验证集的map计算_第3页
关于用yolov5进行验证集的map计算_第4页
关于用yolov5进行验证集的map计算_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、yolov5map计算import timeimport torch.backends.cudnn as cudnnfrom numpy import randomcheck_img_size, non_max_suppression, apply_classifier, scale_coords,xyxy2xywh, plot_one_box, strip_optimizer, set_logging)from utils.torch_utils import select_device, load_classifier, time_synchronizedfrom cfg_mAP impo

2、rt Cfgout, source, weights, view_img, save_txt, imgsz = # Initializeset_logging()device = select_device(opt.device)if os.path.exists(out):# Load modelmodel = attempt_load(weights, map_location=device) # load FP32 modelimgsz = check_img_size(imgsz, s=model.stride.max() # check img_sizeif half:model.h

3、alf() # to FP16# Second-stage classifierclassify = Falseif classify:# Set Dataloadervid_path, vid_writer = None, Noneif webcam:img = torch.zeros(1, 3, imgsz, imgsz), device=device) # init img_ = model(img.half() if half else img) if device.type != cpu else None # run oncetest_time=for path, img, im0

4、s, vid_cap in dataset:pred = apply_classifier(pred, modelc, img, im0s)# Process detectionsfor i, det in enumerate(pred): # detections per imageif webcam: # batch_size = 1p, s, im0 = pathi, %g: % i, im0si.copy()else:p, s, im0 = path, , im0simg_name = Path(p).nametxt = open(opt.eval_imgs_name_txt, a)t

5、xt.write(img_name:-4)txt.write(n)txt.close()save_path = str(Path(out) / Path(p).name)gn = torch.tensor(im0.shape)1, 0, 1, 0 # normalization gain whwhif det is not None and len(det):# Rescale boxes from img_size to im0 sizedet:, :4 = scale_coords(img.shape2:, det:, :4, im0.shape).round()# Print resul

6、tsfor c in det:, -1.unique():for *xyxy, conf, cls in reversed(det):txt = open(opt.eval_classtxt_path + /%s % namesint(cls), a)obj_conf = conf.cpu().numpy()txt.write( .join(str(a) for a in new_box)f.write(%g * 5 + n) % (cls, *xywh) # label formatif save_img or view_img: # Add bbox to imageplot_one_bo

7、x(xyxy, im0, label=label, color=colorsint(cls), line_thickness=3)# Save results (image with detections)if save_img:if dataset.mode = images:cv2.imwrite(save_path, im0)else:if vid_path != save_path: # new videovid_path = save_pathfourcc = mp4v # output video codecfps = vid_cap.get(cv2.CAP_PROP_FPS)if

8、 save_txt or save_img:print(Results saved to %s % Path(out)if platform.system() = Darwin and not opt.update: # MacOSos.system(open + save_path)print(Done. (%.3fs) % (time.time() - t0)mean_time=sum(test_time)/len(test_time)print(mean time:, mean_time)print(frame: , 1/mean_time)dir = ./data_test/imgs_

9、name_manual.txtif os.path.exists(predictions_manual):if os.path.exists(class_txt_manual):shutil.rmtree(class_txt_manual) # delete output folderos.makedirs(class_txt_manual) # make new output folderif os.path.exists(cachedir_manual):shutil.rmtree(cachedir_manual) # delete output folderos.makedirs(cac

10、hedir_manual) # make new output folderparser = argparse.ArgumentParser()parser.add_argument(-output, type=str, default=./data_test/predictions_manual,help=output folder) # output folderprint(opt)with torch.no_grad():if opt.update: # update all models (to fix SourceChangeWarning)for opt.weights in yolov5s.pt, yolov5m.pt, yolov5l.pt, yolov5x.pt:detect()strip_optimizer(opt.weights)else:detect()关于这段代码的操作运会有个UnicodeDecodeError:utf-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论