视频播放类网站建设费用手机网站设计宽度
- 作者: 五速梦信息网
- 时间: 2026年03月21日 08:46
当前位置: 首页 > news >正文
视频播放类网站建设费用,手机网站设计宽度,福州高端网站制作,企业内容管理系统一、本文介绍 本文给大家带来的教程是利用YOLOv5训练自己的数据集#xff0c;以及有关YOLOv5的网络结构讲解/数据集获取/环境搭建/训练/推理/验证/导出/部署相关的教程#xff0c;同时通过示例的方式让大家来了解具体的操作流程#xff0c;过程中还分享给大家一些好用的资源…一、本文介绍 本文给大家带来的教程是利用YOLOv5训练自己的数据集以及有关YOLOv5的网络结构讲解/数据集获取/环境搭建/训练/推理/验证/导出/部署相关的教程同时通过示例的方式让大家来了解具体的操作流程过程中还分享给大家一些好用的资源我还对其中的参数进行了详细的讲解通过本文大家可以成功训练自己的数据集在开始之前给大家推荐一下我的YOLOv5专栏本专栏包含上百种YOLOv5的改进机制以及如何撰写论文的教程手把手教大家如何改进YOLOv5非常适合科研小白。 专栏回顾YOLOv5改进专栏——持续复现各种顶会内容——内含100创新 目录 一、本文介绍 二、模型获取 三、数据集获取 四、环境搭建 五、训练教程 六、推理教程 七、验证教程 八、导出教程 二、模型获取 我们可以从官方的Github开源的地址进行下载即可。 官方代码下载地址官方代码下载地址点击即可跳转 下载完之后用我们自己熟悉的IDEA打开即可YOLOv5不像YOLOv8可以通过pip下载如果通过Git下载大家也不能够统一所以推荐大家就去官方下载最方便了毕竟就是一个压缩包的事情。 三、数据集获取 在开始训练之前我们必须准备一份数据集网上有很多都是给大家转换脚本我这里给大家推荐一个免费的数据集网站里面包含200000的数据集包括各种VOC、COCO数据集而且可以一键导出我们想要的数据集格式下载过后的数据集我们拿过来直接就可以使用无需做任何的修改了。 数据集教程超详细教程YoloV5官方推荐免费数据集网站Roboflow一键导出Voc、COCO、Yolo、Csv等格式 四、环境搭建 大家如果没有搭建环境可以看我的另一篇博客里面讲述了如何搭建pytorch环境(内容十分详细我每次重新更换系统都要看一遍)。 Win11上Pytorch的安装并在Pycharm上调用PyTorch最新超详细过程并附详细的系统变量添加过程,可解决pycharm中pip不好使的问题 在我们配置好环境之后在之后模型获取完成之后我们可以进行配置的安装我们可以在命令行下输入如下命令进行环境的配置。 pip install -r requirements.txt 输入如上命令之后我们就可以看到命令行在安装模型所需的库了。 五、训练教程 YOLO采用的是文件训练的形式每一个功能都定义了一个文件我们通过目录下的train.py进行训练即可这里主要讲解一下其中的参数含义以及必备的设置。 def parse_opt(knownFalse):parser argparse.ArgumentParser()parser.add_argument(–weights, typestr, defaultROOT / yolov5n.pt, help权重初始化的路径,在这里面设置权重的地址)parser.add_argument(–cfg, typestr, defaultmodels/yolov5n.yaml, help模型的配置文件,我们可以根据自己需求配置yaml文件)parser.add_argument(–data, typestr, defaultROOT / , help大家的数据集地址)parser.add_argument(–hyp, typestr, defaultROOT / data/hyps/hyp.scratch-low.yaml, help用于指定超参数文件,大家根据这个地址就能够找到一个yaml文件里面配置了各种超参数)parser.add_argument(–epochs, typeint, default200, help训练的轮次)parser.add_argument(–batch-size, typeint, default16, help训练的批次大小,决定了一次向模型里输入多少张图片)parser.add_argument(–imgsz, –img, –img-size, typeint, default640, help输入模型里的图像尺寸,YOLO系列默认都是640)parser.add_argument(–rect, actionstore_true, help矩形训练或验证。矩形训练或验证是一种数据处理技术其中在训练或验证过程中输入数据会被调整为具有相同宽高比的矩形形状)parser.add_argument(–resume, nargs?, constTrue, defaultFalse, help这个如果设置为True,那么会根据你最新一次没有训练完成的权重进行继续完成训练)parser.add_argument(–nosave, actionstore_true, help只保存最终的检查点不保存中间训练过程中的检查点什么意思)parser.add_argument(–noval, actionstore_true, help当设置时只在最后一个周期(epoch)进行验证而不是在每个周期都进行)parser.add_argument(–noautoanchor, actionstore_true, help 当设置时禁用自动锚定AutoAnchor)parser.add_argument(–noplots, actionstore_true, help 当设置时不保存任何绘图文件,就是我们runs下面的训练结果)parser.add_argument(–evolve, typeint, nargs?, const300, help允许超参数的进化优化,参数是进化的代数。)parser.add_argument(–bucket, typestr, default, help指定一个gsutil存储桶的路径)parser.add_argument(–cache, typestr, nargs?, constram, help设置图像缓存方式可以是内存ram或磁盘disk)parser.add_argument(–image-weights, actionstore_true, help使用加权图像选择进行训练,简单的说就是,处理一些复杂或不平衡的数据集)parser.add_argument(–device, default0, helpcuda device, i.e. 0 or 0,1,2,3 or cpu, 这个不在多说了,我们的GPU设备号)parser.add_argument(–multi-scale, actionstore_true, help当设置时图像大小会在训练过程中变化上下浮动50%)parser.add_argument(–single-cls, actionstore_true, help当设置时将多类别数据作为单类别数据训练,一般都设置为False)parser.add_argument(–optimizer, typestr, choices[SGD, Adam, AdamW], defaultSGD, help选择优化器)parser.add_argument(–sync-bn, actionstore_true, help当设置时使用同步批处理归一化SyncBatchNorm)parser.add_argument(–workers, typeint, default0, help工作的线程,Linux系统可以设置Windows系统必须设置0否则会导致各种问题)parser.add_argument(–project, defaultROOT / runs/train, help设置项目保存路径,就是我们训练结果保存的地方)parser.add_argument(–name, defaultexp, help保存的项目名称,类似于runs/train/exp/一堆我们训练的结果)parser.add_argument(–exist-ok, actionstore_true, help当设置时如果项目/名称已存在则不会报错不会自动增加编号)parser.add_argument(–quad, actionstore_true, help使用四边形数据加载器, 这些默认都是开启的)parser.add_argument(–cos-lr, actionstore_true, help使用余弦学习率调度器, 这些默认都是开启的)parser.add_argument(–label-smoothing, typefloat, default0.0, help参数是用来设置标签平滑的 epsilon 值的,用来提高模型的泛化能力)parser.add_argument(–patience, typeint, default100, help早停机制,损失超过多少个回合变化的较小就停止训练)parser.add_argument(–freeze, nargs, typeint, default[0], help用于在神经网络训练过程中“冻结”freeze一部分层。冻结的意思是在训练过程中保持这些层的权重不变不对它们进行更新.知识蒸馏的时候会用到这个参数。)parser.add_argument(–save-period, typeint, default-1, help每隔x个周期保存一次检查点如果小于1则禁用)parser.add_argument(–seed, typeint, default0, help训练的随机数种子,计算机其实是没有随机数的都是根据随机数种子来演变出来的随机数)parser.add_argument(–local_rank, typeint, default-1, help自动设置用于多GPU DDP训练的局部排名通常不需要手动修改)# Logger argumentsparser.add_argument(–entity, defaultNone, help设置实体用于日志记录)parser.add_argument(–upload_dataset, nargs?, constTrue, defaultFalse, help设置是否上传数据集如果指定“val”则上传验证集)parser.add_argument(–bbox_interval, typeint, default-1, help设置边界框图像记录间隔)parser.add_argument(–artifact_alias, typestr, defaultlatest, help设置要使用的数据集工件的版本默认为latest)return parser.parse_known_args()[0] if known else parser.parse_args() 在上面的所有参数里我们只需要填写前三个就可以开始训练了(仅需配置好前三个)填好地址即可其中pt权重文件如果没有会自动联网下载大家也可以在我门前面给的官方上主动下载到本地填好参数之后我们运行train.py文件就可以开始训练 。 六、推理教程 推理就是利用我们训练好的权重文件或者是官方提供的权重文件进行加载预测的过程功能集成在detect.py文件里面我下面对其中参数含义进行讲解然后进行一个简单的视频推理示例。 大家可以用下面的代码替换你的代码参数解析部分。 parser.add_argument(–weights, nargs, typestr, defaultROOT / yolov5s.pt, help模型权重的路径或Triton URL。默认为ROOT目录下的yolov5s.pt。) parser.add_argument(–source, typestr, defaultROOT / data/images, help输入数据的来源可以是文件、目录、URL、glob模式、屏幕捕获或网络摄像头。默认为ROOT/data/images。) parser.add_argument(–data, typestr, defaultROOT / data/coco128.yaml, help数据集配置文件的路径例如coco128.yaml。默认为ROOT/data/coco128.yaml。) parser.add_argument(–imgsz, –img, –img-size, nargs, typeint, default[640], help推理时的图像大小高度、宽度。默认为[640]。) parser.add_argument(–conf-thres, typefloat, default0.25, help检测的置信度阈值。默认为0.25,就是我们判断一个物体概率为0-1,如果大于0.25则判断是该类别) parser.add_argument(–iou-thres, typefloat, default0.45, help非最大抑制NMS的交并比IoU阈值。默认为0.45。) parser.add_argument(–max-det, typeint, default1000, help每张图像的最大检测数量。默认为1000。) parser.add_argument(–device, default, help指定运行设备例如CUDA设备0或0,1,2,3或CPU。) parser.add_argument(–view-img, actionstore_true, help如果设置展示检测结果。) parser.add_argument(–save-txt, actionstore_true, help如果设置将检测结果保存为文本文件。) parser.add_argument(–save-csv, actionstore_true, help如果设置将检测结果保存为CSV格式。) parser.add_argument(–save-conf, actionstore_true, help如果设置在文本文件中保存置信度信息。) parser.add_argument(–save-crop, actionstore_true, help如果设置保存被检测对象的裁剪图像。) parser.add_argument(–nosave, actionstore_true, help如果设置不保存图像或视频结果。) parser.add_argument(–classes, nargs, typeint, help过滤指定的类别例如0或 0 2 3。) parser.add_argument(–agnostic-nms, actionstore_true, help如果设置使用与类别无关的NMS。) parser.add_argument(–augment, actionstore_true, help如果设置使用增强的推理。) parser.add_argument(–visualize, actionstore_true, help如果设置可视化特征。) parser.add_argument(–update, actionstore_true, help如果设置更新所有模型。) parser.add_argument(–project, defaultROOT / runs/detect, help设置结果保存的项目目录。默认为ROOT/runs/detect。) parser.add_argument(–name, defaultexp, help设置保存结果的子目录名称。默认为exp。) parser.add_argument(–exist-ok, actionstore_true, help如果设置允许已存在的项目/名称不自动增加编号。) parser.add_argument(–line-thickness, default3, typeint, help设置边界框的线条粗细像素。默认为3。) parser.add_argument(–hide-labels, defaultFalse, actionstore_true, help如果设置隐藏标签。) parser.add_argument(–hide-conf, defaultFalse, actionstore_true, help如果设置隐藏置信度。) parser.add_argument(–half, actionstore_true, help如果设置使用FP16半精度推理,推理速度更快但精度会下降。) parser.add_argument(–dnn, actionstore_true, help如果设置使用OpenCV DNN模块进行ONNX推理。) parser.add_argument(–vid-stride, typeint, default1, help设置视频帧率步长。默认为1。)下面我来进行一个简单的示例 找到推理文件detect.py,然后配置前两个参数即可然后运行文件。 下面的是推理的过程视频个本质就是帧处理它会一帧一帧的处理。 People 七、验证教程 推理的文件是val.py文件其中的参数解释如下。 下面的是上面的代码块形式大家可以复制粘贴。 parser.add_argument(–data, typestr, defaultROOT / data/coco128.yaml, help数据集配置文件路径。) parser.add_argument(–weights, nargs, typestr, defaultROOT / yolov5s.pt, help模型权重文件路径,一般需要替换成你自己训练的权重) parser.add_argument(–batch-size, typeint, default32, help批处理大小,一次验证图片的多少影响验证速度) parser.add_argument(–imgsz, –img, –img-size, typeint, default640, help推理时的图像大小像素。) parser.add_argument(–conf-thres, typefloat, default0.001, help置信度阈值。) parser.add_argument(–iou-thres, typefloat, default0.6, help非最大抑制(NMS)的交并比(IoU)阈值。) parser.add_argument(–max-det, typeint, default300, help每张图像的最大检测数量。) parser.add_argument(–task, defaultval, help任务类型可以是train, val, test, speed或study。) parser.add_argument(–device, default, help使用的CUDA设备例如0或0,1,2,3或cpu。) parser.add_argument(–workers, typeint, default8, help数据加载器的最大工作线程数在DDP模式下是每个RANK的设置。) parser.add_argument(–single-cls, actionstore_true, help将数据集视为单类别。) parser.add_argument(–augment, actionstore_true, help使用增强的推理。) parser.add_argument(–verbose, actionstore_true, help按类别详细报告mAP。) parser.add_argument(–save-txt, actionstore_true, help将结果保存为文本文件。) parser.add_argument(–save-hybrid, actionstore_true, help将标签和预测的混合结果保存为文本文件。) parser.add_argument(–save-conf, actionstore_true, help在保存的文本标签中包含置信度。) parser.add_argument(–save-json, actionstore_true, help保存COCO-JSON格式的结果文件。) parser.add_argument(–project, defaultROOT / runs/val, help结果保存的项目路径。) parser.add_argument(–name, defaultexp, help保存结果的子目录名称。) parser.add_argument(–exist-ok, actionstore_true, help如果项目/名称已存在则不递增编号。) parser.add_argument(–half, actionstore_true, help使用FP16半精度推理,半精度会降低精度) parser.add_argument(–dnn, actionstore_true, help使用OpenCV DNN进行ONNX推理。)八、导出教程 导出是为了将我们训练结果进行其它平台的部署因为python的执行效率是很低的所以为了加速推理速度可以将模型进行导出然后进行其它语言的部署从而提高检测FPS。 其中的导出文件是export.py文件利用这个文件我们就能将我们训练好的模型进行导出。 parser.add_argument(–data, typestr, defaultROOT / data/coco128.yaml, help数据集配置文件的路径。) parser.add_argument(–weights, nargs, typestr, defaultROOT / yolov5s.pt, help模型权重文件的路径。) parser.add_argument(–imgsz, –img, –img-size, nargs, typeint, default[640, 640], help图像的高度和宽度。) parser.add_argument(–batch-size, typeint, default1, help批处理大小。) parser.add_argument(–device, defaultcpu, help使用的CUDA设备例如0或0,1,2,3或cpu。) parser.add_argument(–half, actionstore_true, helpFP16半精度导出。) parser.add_argument(–inplace, actionstore_true, help设置YOLOv5 Detect()的inplace参数为True。) parser.add_argument(–keras, actionstore_true, help使用KerasTensorFlow。) parser.add_argument(–optimize, actionstore_true, helpTorchScript: 为移动端优化模型。) parser.add_argument(–int8, actionstore_true, helpCoreML/TF/OpenVINO的INT8量化。) parser.add_argument(–dynamic, actionstore_true, helpONNX/TF/TensorRT: 动态轴。) parser.add_argument(–simplify, actionstore_true, helpONNX: 简化模型。) parser.add_argument(–opset, typeint, default17, helpONNX: opset版本。) parser.add_argument(–verbose, actionstore_true, helpTensorRT: 详细日志。) parser.add_argument(–workspace, typeint, default4, helpTensorRT: 工作空间大小GB。) parser.add_argument(–nms, actionstore_true, helpTensorFlow: 在模型中添加NMS。) parser.add_argument(–agnostic-nms, actionstore_true, helpTensorFlow: 添加与类别无关的NMS到模型。) parser.add_argument(–topk-per-class, typeint, default100, helpTF.js NMS: 每个类别保留的topk。) parser.add_argument(–topk-all, typeint, default100, helpTF.js NMS: 所有类别保留的topk。) parser.add_argument(–iou-thres, typefloat, default0.45, helpTF.js NMS: 交并比(IoU)阈值。) parser.add_argument(–conf-thres, typefloat, default0.25, helpTF.js NMS: 置信度阈值。) parser.add_argument(–include,nargs,default[torchscript],help支持的导出格式列表。可选项包括torchscript, onnx, openvino, engine, coreml, saved_model, pb, tflite, edgetpu, tfjs, paddle。)
- 上一篇: 视觉做的比较好的国外网站网站设计有限公司
- 下一篇: 视频播放网站开发教程温州电子商务网站建设
相关文章
-
视觉做的比较好的国外网站网站设计有限公司
视觉做的比较好的国外网站网站设计有限公司
- 技术栈
- 2026年03月21日
-
视觉传达毕业设计网站优未网络科技秦皇岛有限公司
视觉传达毕业设计网站优未网络科技秦皇岛有限公司
- 技术栈
- 2026年03月21日
-
视差设计网站无锡高端网站定制
视差设计网站无锡高端网站定制
- 技术栈
- 2026年03月21日
-
视频播放网站开发教程温州电子商务网站建设
视频播放网站开发教程温州电子商务网站建设
- 技术栈
- 2026年03月21日
-
视频剪辑软件app青海网站seo
视频剪辑软件app青海网站seo
- 技术栈
- 2026年03月21日
-
视频建设网站首页软件开发模型的种类
视频建设网站首页软件开发模型的种类
- 技术栈
- 2026年03月21日
