当前位置: 首页 > 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.pierceye.com/news/275139/

相关文章:

  • 免费做简历网站有哪些网站建设与网页制作招聘
  • 怎么到国外网站去接模具订单做潍坊微信网站开发
  • 做船公司网站青海公司网站建设哪家好
  • 制作网站公司合同注意事项沈阳高端网站
  • 企业网站备案时间网站建设的服务和质量
  • 提供视频下载的网站建网站开发费用
  • 深圳电商网站开发公司上海公司排名
  • 网站建设时间规划表学校网站网页制作
  • 龙岗建网站工信部网站备案进度查询
  • 个人网站域名名字wordpress文章页获取目录名称
  • 新公司做网站有效果吗seo推广营销公司
  • 做网络推广要做网站吗网站建设首页模板
  • 陕西网站设计高端网站设计公司名单
  • 建设网站企业公众号wordpress
  • 个人的小说网站如何做北京网站制作收费标准
  • 做海报的素材哪个网站微信如何创建自己的公众号
  • 怎样进行网站后台管理网站内容做淘宝店铺链接影响排名吗
  • 重庆网站编辑职业学校苏州企业网站制作开发
  • 手机网站和电脑网站一样吗wordpress页面镶入文章
  • 深圳个人如何做网站设计用asp做网站题目
  • 视频做网站基础型网站
  • 企业网站外包建设长沙工商注册网上登记
  • 网站建设的费用是多少钱mysql php wordpress
  • 扫二维码做自己网站上海工商注册网官网
  • 阿里云做网站需要些什么软件做一个网站花费多少钱
  • 游戏充值网站怎么做网站被挂马怎么办
  • 电白网站建设代理平台手游
  • 如何让自己做的网页有网站吴江区城乡建设管理局网站
  • 江山网站设计建设银行住房公积网站
  • 网站建设需要注意哪些事项西宁哪里做网站