当前位置: 首页 > news >正文

可视化网站开发工具南通移动网站建设

可视化网站开发工具,南通移动网站建设,嘉兴建设教育网站培训中心网站,dw内部网站链接怎么做文章目录 前言一、环境搭建必要环境1. 创建yolov10虚拟环境2. 下载pytorch (pytorch版本1.8)3. 下载YOLOv10源码4. 安装所需要的依赖包 二、推理测试1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果2. 关键参数 三、训练及评估1. 数据结构介绍2. 配… 文章目录 前言一、环境搭建必要环境1. 创建yolov10虚拟环境2. 下载pytorch (pytorch版本1.8)3. 下载YOLOv10源码4. 安装所需要的依赖包 二、推理测试1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果2. 关键参数 三、训练及评估1. 数据结构介绍2. 配置文件修改3. 训练/评估模型4. 关键参数5. 单独对训练好的模型将进行评估 总结 前言 本文将详细介绍跑通YOLOv10的流程并给各位提供用于训练、评估和模型推理的脚本 一、环境搭建 必要环境 本文使用Windows10Python3.8CUDA10.2CUDNN8.0.4作为基础环境使用30系或40系显卡的小伙伴请安装11.0以上版本的CUDA 1. 创建yolov10虚拟环境 conda create -n yolov10 python3.82. 下载pytorch (pytorch版本1.8) pip install torch1.9.1cu102 torchvision0.10.1cu102 torchaudio0.9.1 -f https://download.pytorch.org/whl/torch_stable.html若使用的是AMD显卡或不使用GPU的同学 可以通过以下命令可以安装CPU版本 pip install torch1.9.1cpu torchvision0.10.1cpu torchaudio0.9.1 -f https://download.pytorch.org/whl/torch_stable.html3. 下载YOLOv10源码 地址https://github.com/THU-MIG/yolov10 4. 安装所需要的依赖包 pip install -r requirements.txt二、推理测试 1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果 import cv2 from ultralytics import YOLOv10 import os import argparse import time import torchparser argparse.ArgumentParser() # 检测参数 parser.add_argument(--weights, defaultryolov10n.pt, typestr, helpweights path) parser.add_argument(--source, defaultrimages, typestr, helpimg or video(.mp4)path) parser.add_argument(--save, defaultr./save, typestr, helpsave img or video path) parser.add_argument(--vis, defaultTrue, actionstore_true, helpvisualize image) parser.add_argument(--conf_thre, typefloat, default0.5, helpconf_thre) parser.add_argument(--iou_thre, typefloat, default0.5, helpiou_thre) opt parser.parse_args() device torch.device(cuda:0 if torch.cuda.is_available() else cpu)def get_color(idx):idx idx * 3color ((37 * idx) % 255, (17 * idx) % 255, (29 * idx) % 255)return colorclass Detector(object):def __init__(self, weight_path, conf_threshold0.5, iou_threshold0.5):self.device deviceself.model YOLOv10(weight_path)self.conf_threshold conf_thresholdself.iou_threshold iou_thresholdself.names {0: person, 1: bicycle, 2: car, 3: motorcycle, 4: airplane, 5: bus, 6: train,7: truck, 8: boat, 9: traffic light, 10: fire hydrant, 11: stop sign,12: parking meter, 13: bench, 14: bird, 15: cat, 16: dog, 17: horse, 18: sheep,19: cow, 20: elephant, 21: bear, 22: zebra, 23: giraffe, 24: backpack, 25: umbrella,26: handbag, 27: tie, 28: suitcase, 29: frisbee, 30: skis, 31: snowboard,32: sports ball, 33: kite, 34: baseball bat, 35: baseball glove, 36: skateboard,37: surfboard, 38: tennis racket, 39: bottle, 40: wine glass, 41: cup, 42: fork,43: knife, 44: spoon, 45: bowl, 46: banana, 47: apple, 48: sandwich, 49: orange,50: broccoli, 51: carrot, 52: hot dog, 53: pizza, 54: donut, 55: cake, 56: chair,57: couch, 58: potted plant, 59: bed, 60: dining table, 61: toilet, 62: tv,63: laptop, 64: mouse, 65: remote, 66: keyboard, 67: cell phone, 68: microwave,69: oven, 70: toaster, 71: sink, 72: refrigerator, 73: book, 74: clock, 75: vase,76: scissors, 77: teddy bear, 78: hair drier, 79: toothbrush}def detect_image(self, img_bgr):results self.model(img_bgr, verboseTrue, confself.conf_threshold,iouself.iou_threshold, deviceself.device)bboxes_cls results[0].boxes.clsbboxes_conf results[0].boxes.confbboxes_xyxy results[0].boxes.xyxy.cpu().numpy().astype(uint32)for idx in range(len(bboxes_cls)):box_cls int(bboxes_cls[idx])bbox_xyxy bboxes_xyxy[idx]bbox_label self.names[box_cls]box_conf f{bboxes_conf[idx]:.2f}xmax, ymax, xmin, ymin bbox_xyxy[2], bbox_xyxy[3], bbox_xyxy[0], bbox_xyxy[1]img_bgr cv2.rectangle(img_bgr, (xmin, ymin), (xmax, ymax), get_color(box_cls 3), 2)cv2.putText(img_bgr, f{str(bbox_label)}/{str(box_conf)}, (xmin, ymin - 10),cv2.FONT_HERSHEY_SIMPLEX, 0.5, get_color(box_cls 3), 2)return img_bgr# Example usage if __name__ __main__:model Detector(weight_pathopt.weights, conf_thresholdopt.conf_thre, iou_thresholdopt.iou_thre)images_format [.png, .jpg, .jpeg, .JPG, .PNG, .JPEG]video_format [mov, MOV, mp4, MP4]if os.path.join(opt.source).split(.)[-1] not in video_format:image_names [name for name in os.listdir(opt.source) for item in images_format ifos.path.splitext(name)[1] item]for img_name in image_names:img_path os.path.join(opt.source, img_name)img_ori cv2.imread(img_path)img_vis model.detect_image(img_ori)img_vis cv2.resize(img_vis, None, fx1.0, fy1.0, interpolationcv2.INTER_NEAREST)cv2.imwrite(os.path.join(opt.save, img_name), img_vis)if opt.vis:cv2.imshow(img_name, img_vis)cv2.waitKey(0)cv2.destroyAllWindows()else:capture cv2.VideoCapture(opt.source)fps capture.get(cv2.CAP_PROP_FPS)size (int(capture.get(cv2.CAP_PROP_FRAME_WIDTH)),int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))fourcc cv2.VideoWriter_fourcc(m, p, 4, v)outVideo cv2.VideoWriter(os.path.join(opt.save, os.path.basename(opt.source).split(.)[-2] _out.mp4),fourcc,fps, size)while True:ret, frame capture.read()if not ret:breakstart_frame_time time.perf_counter()img_vis model.detect_image(frame)# 结束计时end_frame_time time.perf_counter() # 使用perf_counter进行时间记录# 计算每帧处理的FPSelapsed_time end_frame_time - start_frame_timeif elapsed_time 0:fps_estimation 0.0else:fps_estimation 1 / elapsed_timeh, w, c img_vis.shapecv2.putText(img_vis, fFPS: {fps_estimation:.2f}, (10, 35), cv2.FONT_HERSHEY_SIMPLEX, 1.3, (0, 0, 255), 2)outVideo.write(img_vis)cv2.imshow(detect, img_vis)cv2.waitKey(1)capture.release()outVideo.release() 2. 关键参数 1. 测试图片–source 变量后填写图像文件夹路径 如defaultrimages 2. 测试视频–source 变量后填写视频路径 如defaultrvideo.mp4 推理图像效果 推理视频效果 三、训练及评估 1. 数据结构介绍 这里使用的数据集是VOC2007用留出法将数据按9:1的比例划分成了训练集和验证集 下载地址如下 链接https://pan.baidu.com/s/1FmbShVF1SQOZfjncj3OKJA?pwdi7od 提取码i7od 2. 配置文件修改 3. 训练/评估模型 将如下代码复制到ultralytics文件夹同级目录下并运行 即可开始训练 # -*- coding:utf-8 -*- from ultralytics import YOLOv10 import argparse# 解析命令行参数 parser argparse.ArgumentParser(descriptionTrain or validate YOLO model.) # train用于训练原始模型 val 用于得到精度指标 parser.add_argument(--mode, typestr, defaulttrain, helpMode of operation.) # 预训练模型 parser.add_argument(--weights, typestr, defaultyolov10n.pt, helpPath to model file.) # 数据集存放路径 parser.add_argument(--data, typestr, defaultVOC2007/data.yaml, helpPath to data file.) parser.add_argument(--epoch, typeint, default200, helpNumber of epochs.) parser.add_argument(--batch, typeint, default8, helpBatch size.) parser.add_argument(--workers, typeint, default0, helpNumber of workers.) parser.add_argument(--device, typestr, default0, helpDevice to use.) parser.add_argument(--name, typestr, default, helpName data file.) args parser.parse_args()def train(model, data, epoch, batch, workers, device, name):model.train(datadata, epochsepoch, batchbatch, workersworkers, devicedevice, namename)def validate(model, data, batch, workers, device, name):model.val(datadata, batchbatch, workersworkers, devicedevice, namename)def main():model YOLOv10(args.weights)if args.mode train:train(model, args.data, args.epoch, args.batch, args.workers, args.device, args.name)else:validate(model, args.data, args.batch, args.workers, args.device, args.name)if __name__ __main__:main() 4. 关键参数 1. 模式选择 –mode train: 开始训练模型 –mode val: 进行模型验证 2. 训练轮数 通过 --epoch 参数设置训练轮数,默认为200轮。该参数控制模型在训练集上迭代的次数,增加轮数有助于提升模型性能,但同时也会增加训练时间。 3. 训练批次 通过 --batch 参数设置训练批次大小,一般设置为2的倍数,如8或16。批次大小决定了每次参数更新时使用的样本数量,较大的批次有助于加速收敛,但会增加显存占用需根据实际显存大小进行调整 4. 训练数据加载进程数 通过 --workers 参数设置数据加载进程数,默认为8。该参数控制了在训练期间用于加载和预处理数据的进程数量。增加进程数可以加快数据的加载速度linux系统下一般设置为8或16windows系统设置为0。 训练过程 训练结束后模型已经训练过程默认会保存到runs/detect/exp路径下 5. 单独对训练好的模型将进行评估 1. 将 --mode变量后改为val 如default“val” 2. 将 --weights变量后改为要单独评估的模型路径 如defaultrruns/detect/exp/weights/best.pt 评估过程 总结 yolo是真卷呐版本号一会儿一变的v9还没看呢v10已经出来了… 最近经常在b站上更新一些有关目标检测的视频大家感兴趣可以来看看 https://b23.tv/1upjbcG 学习交流群995760755
http://www.zqtcl.cn/news/275139/

相关文章:

  • 建网站的8个详细步骤网站集约化建设讲话
  • 建设局哪个网站查证南京注册公司多少钱
  • 免费的网站制作郑州中森网站建设
  • 网站关键词搜不到了濮阳网络教育
  • 推荐股票的好网站如何做好网站宣传
  • 免费网站模板网大型网络游戏
  • 网站开发语言数据库有几种广东省建设厅官网查询
  • 建新建设集团有限公司网站土巴兔装修公司电话
  • 百度网站审核期时间wordpress如何实现收费会员制
  • delphi 2010 网站开发wordpress 变装小说
  • asp.net电子商务网站前台模板企业所得税优惠政策2021年小微企业
  • 成都网站建设 lkcms深圳做网站哪个公司最好
  • 网站降权处理关于网站建设心得体会
  • 互联网站点与wordpress集成软件
  • 网站页面图片布局如何设计最新热点新闻事件
  • 学网站建设难四会市城乡规划建设局网站
  • 网站源码分享网html代码入门基础
  • 农产品网站开发方案陕西建设网成绩查询
  • 网站效益分析iis添加网站ip地址
  • 宣传海报在什么网站做网站建设的能力
  • 温州网站优化优化课程设置
  • 企业推广网站有哪些做百度推广需要什么条件
  • 如何实现网站的快速排名怎么做网站模板
  • 数据型网站建设wordpress 阅读统计
  • a做爰网站集宁建设局网站
  • 黄山建设网站公司电话wordpress微信分享图
  • 大数据网站网站的备案流程图
  • 如果自己做网站wordpress付款插件
  • 网站建设项目的结论网站开发合同适用印花税
  • 网站建设经验与教训普陀网站建设推广