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

网站建设宣传册内容南京个人网站建设

网站建设宣传册内容,南京个人网站建设,纺织品东莞网站建设,wordpress设置主从库文章目录 前言一、环境搭建必要环境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/611682/

相关文章:

  • 免费 网站模板为什么自己做的网站别的电脑打不开
  • 公司网站建设建设辽宁鞍山网站建设
  • 企业为什么做网站优化推广做网站学什么什么专业
  • 怎样访问简版网站中小企业网站建设济南兴田德润电话
  • 哪里有零基础网站建设教学服务常用知名购物网站
  • 西宁高端企业网站建设公司名称大全免费取名
  • 如何解决网站图片打开慢关键词搜索推广排行榜
  • 网站建设销售话建网站需要怎样做
  • 网站排名和什么有关网络推广协议合同范本
  • 湖州房产网站建设南通市城乡和住房建设局网站
  • 郴州建设工程集团招聘信息网站wordpress 橘子皮模板
  • win7搭建网站服务器成都网站建设需多少钱
  • 网站开发一般需要多久菜谱网站模版
  • 基于jsp的电子商务网站开发最好的网站建设公司哪家好
  • 个人网站图片郑州技术支持seo
  • 先做网站还是先做app广州互联网
  • 租用网站的服务器wordpress手机加搜索
  • 做彩票网站怎么样才能让百度收录自己的网站
  • 廊坊网站建设技术托管seo怎么优化关键词排名培训
  • 抛丸机网站怎么做手机网站打不开的解决方法
  • 上海做网站的公司多少钱冷水江网站
  • 百度网站流量查询宣传片制作公司费用
  • 安徽炒股配资网站开发搭建平台载体
  • 中华建设杂志网站记者黑龙江省建设集团有限公司网站首页
  • 成都络迈品牌网站建设网站建设的行业资讯、
  • 英语网站大全免费赤峰市建设厅官方网站
  • 宁波网站建设熊掌号成都网络关键词排名
  • 织梦网站改版需要怎么做平台设计软件
  • 企业展示型网站网站建设设计
  • 增城网站建设服务网站建设制作设计公司佛山