隆昌移动网站建设,定制网站开发商业计划书,拓网手机版网站管理系统,网站怎么办序言
整理来自yolov8官方文档常用的一些命令行参数#xff0c;官方文档YOLOv8 Docs
yolov8命令行的统一运行格式为#xff1a;
yolo TASK MODE ARGS其中主要是三部分传参#xff1a;
TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递#xf…序言
整理来自yolov8官方文档常用的一些命令行参数官方文档YOLOv8 Docs
yolov8命令行的统一运行格式为
yolo TASK MODE ARGS其中主要是三部分传参
TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递YOLOv8将尝试从模型类型中猜测TASK。MODE(必选) 是[train, val, predict, export]中的一个ARGS(可选) 是任意数量的自定义argvalue对如imgsz320覆盖默认值。
一、训练参数
训练命令行示例
# 从YAML中构建一个新模型并从头开始训练
yolo detect train datacoco128.yaml modelyolov8n.yaml epochs100 imgsz640# 从预先训练的*.pt模型开始训练
yolo detect train datacoco128.yaml modelyolov8n.pt epochs100 imgsz640# 从YAML中构建一个新的模型将预训练的权重传递给它并开始训练
yolo detect train datacoco128.yaml modelyolov8n.yaml pretrainedyolov8n.pt epochs100 imgsz640对应python代码示例
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.yaml) # 从YAML中构建一个新模型
model YOLO(yolov8n.pt) #加载预训练的模型(推荐用于训练)
model YOLO(yolov8n.yaml).load(yolov8n.pt) # 从YAML构建并传递权重# Train the model
model.train(datacoco128.yaml, epochs100, imgsz640)一些比较常用的传参
key解释model传入的model.yaml文件或者model.pt文件用于构建网络和初始化不同点在于只传入yaml文件的话参数会随机初始化data训练数据集的配置yaml文件epochs训练轮次默认100patience早停训练观察的轮次默认50如果50轮没有精度提升模型会直接停止训练batch训练批次默认16imgsz训练图片大小默认640save保存训练过程和训练权重默认开启save_period训练过程中每x个轮次保存一次训练模型默认-1不开启cache是否采用ram进行数据载入设置True会加快训练速度但是这个参数非常吃内存一般服务器才会设置device要运行的设备即cuda device 0或Device 0,1,2,3或device cpuworkers载入数据的线程数。windows一般为4服务器可以大点windows上这个参数可能会导致线程报错发现有关线程报错可以尝试减少这个参数这个参数默认为8大部分都是需要减少的project项目文件夹的名默认为runsname用于保存训练文件夹名默认exp依次累加exist_ok是否覆盖现有保存文件夹默认Flasepretrained是否加载预训练权重默认Flaseoptimizer优化器选择默认SGD可选[SGD、Adam、AdamW、RMSProP]verbose是否打印详细输出seed随机种子用于复现模型默认0deterministic设置为True保证实验的可复现性single_cls将多类数据训练为单类把所有数据当作单类训练默认Flaseimage_weights使用加权图像选择进行训练默认Flaserect使用矩形训练和矩形推理同理默认Falsecos_lr使用余弦学习率调度默认Flaseclose_mosaic最后x个轮次禁用马赛克增强默认10resume断点训练默认Flaselr0初始化学习率默认0.01lrf最终学习率默认0.01label_smoothing标签平滑参数默认0.0dropout使用dropout正则化(仅对训练进行分类)默认0.0
数据增强参数
更多参数参考modes/train
二、评估参数
评估命令行代码示例
yolo detect val modelyolov8n.pt # val 官方模型
yolo detect val modelpath/to/best.pt # val 自己训练的模型对应的python代码
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) #加载官方模型
model YOLO(path/to/best.pt) # 加载自己训练的模型# Validate the model
metrics model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category一些比较常用的传参
key解释model需要评估的pt模型文件路径data需要评估的数据集yaml文件imgsz评估图片推理大小默认640batch评估推理批次默认16save_json是否保存评估结果为json输出默认Falsesave_hybrid是否保存混合版本的标签(标签额外的预测)conf模型评估置信度阈值默认0.001iou模型评估iou阈值默认0.6max_det单张图最大检测目标数量默认300half是否使用fp16推理默认Truedevice要运行的设备即cuda device 0或Device 0,1,2,3或device cpudnn是否使用use OpenCV DNN for ONNX inference默认Flaserect是否使用矩形推理默认Falsesplit数据集分割用于验证即val、 test、train默认val
三、推理参数
推理命令行示例
yolo detect predict modelyolov8n.pt sourcehttps://ultralytics.com/images/bus.jpg # predict with official model
yolo detect predict modelpath/to/best.pt sourcehttps://ultralytics.com/images/bus.jpg # predict with custom model对应python代码示例
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) # load an official model
model YOLO(path/to/best.pt) # load a custom model# Predict with the model
results model(https://ultralytics.com/images/bus.jpg) # predict on an image# 目标检测后处理
boxes results[0].boxes
boxes.xyxy # box with xyxy format, (N, 4)
boxes.xywh # box with xywh format, (N, 4)
boxes.xyxyn # box with xyxy format but normalized, (N, 4)
boxes.xywhn # box with xywh format but normalized, (N, 4)
boxes.conf # confidence score, (N, 1)
boxes.cls # cls, (N, 1)
boxes.data # raw bboxes tensor, (N, 6) or boxes.boxes .# 实例分割后处理
masks results[0].masks # Masks object
masks.segments # bounding coordinates of masks, List[segment] * N
masks.data # raw masks tensor, (N, H, W) or masks.masks # 目标分类后处理
results model(inputs)
results[0].probs # cls prob, (num_class, )
一些常用传参解释
key解释source跟之前的yolov5一致可以输入图片路径图片文件夹路径视频路径save保存检测后输出的图像默认Falseconf用于检测的对象置信阈值默认0.25iou用于nms的IOU阈值默认0.7halfFP16推理默认Falsedevice要运行的设备即cuda设备0/1/2/3或设备cpushow用于推理视频过程中展示推理结果默认Falsesave_txt是否把识别结果保存为txt默认Falsesave_conf保存带有置信度分数的结果 默认Falsesave_crop保存带有结果的裁剪图像默认Falsehide_label保存识别的图像时候是否隐藏label 默认Falsehide_conf保存识别的图像时候是否隐藏置信度默认Falsevid_stride视频检测中的跳帧帧数默认1classes展示特定类别的根据类过滤结果即class0或class[0,2,3]line_thickness目标框中的线条粗细大小 默认3visualize可视化模型特征 默认Falseaugment是否使用数据增强默认Falseagnostic_nms是否采用class-agnostic NMS默认Falseretina_masks使用高分辨率分割掩码默认Falsemax_det单张图最大检测目标默认300box在分割人物中展示box信息默认True
yolov8支持各种输入源推理 对于图片还支持以下保存格式的输入图片 对于视频支持以下视频格式输入
返回的result结果解析
Results.boxes: 目标检测返回的boxes信息Results.masks: 返回的分割mask坐标信息Results.probs: 分类输出的类概率Results.orig_img: 原始图像Results.path: 输入图像的路径
result可以使用如下方法在加载到cpu或者gpu设备中
results results.cuda()results results.cpu()results results.to(“cpu”)results results.numpy()
更多细节modes/predict
四、模型导出
yolov8支持一键导出多种部署模型支持如下格式的模型导出
命令行运行示例
yolo export modelyolov8n.pt formatonnx # export official model
yolo export modelpath/to/best.pt formatonnx # export custom trained modelpython代码示例
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) # load an official model
model YOLO(path/to/best.pt) # load a custom trained# Export the model
model.export(formatonnx)一些常用参数解释
key解释format导出的格式默认’torchscript’可选如上支持的格式 onnx、engine、openvino等imgsz导出时固定的图片推理大小为标量或(h, w)列表即(640,480) 默认640keras使用Keras导出TF SavedModel 用于部署tensorflow模型默认Falseoptimize是否针对移动端对TorchScript进行优化halffp16量化导出默认Falseint8int8量化导出默认Falsedynamic针对ONNX/TF/TensorRT:动态推理默认Falsesimplifyonnx simplify简化默认Falseopsetonnx的Opset版本(可选默认为最新)workspaceTensorRT:工作空间大小(GB)默认4nms导出CoreML添加NMS
更多参考modes/export
五、跟踪参数
yolov8目前支持BoT-SORT、ByteTrack两种目标跟踪默认使用BoT-SORT
命令行使用示例
yolo track modelyolov8n.pt sourcehttps://youtu.be/Zgi9g1ksQHc # official detection model
yolo track modelyolov8n-seg.pt source... # official segmentation model
yolo track modelpath/to/best.pt source... # custom model
yolo track modelpath/to/best.pt trackerbytetrack.yaml # bytetrack trackerpython代码使用示例
from ultralytics import YOLO# Load a model
model YOLO(yolov8n.pt) # load an official detection model
model YOLO(yolov8n-seg.pt) # load an official segmentation model
model YOLO(path/to/best.pt) # load a custom model# Track with the model
results model.track(sourcehttps://youtu.be/Zgi9g1ksQHc, showTrue)
results model.track(sourcehttps://youtu.be/Zgi9g1ksQHc, showTrue, trackerbytetrack.yaml) 同时支持检测和分割模型只需要加载相应权重即可。
跟踪的传参和推理时一样主要有三个conf、 iou、 show
yolo track modelyolov8n.pt sourcehttps://youtu.be/Zgi9g1ksQHc conf0.3, iou0.5 show# orfrom ultralytics import YOLOmodel YOLO(yolov8n.pt)
results model.track(sourcehttps://youtu.be/Zgi9g1ksQHc, conf0.3, iou0.5, showTrue) 也可以自定义修改跟踪配置文件需要修改ultralytics/tracker/cfg中的yaml文件修改你需要的配置(除了跟踪器类型)同样的运行方式
yolo track modelyolov8n.pt sourcehttps://youtu.be/Zgi9g1ksQHc trackercustom_tracker.yaml# orfrom ultralytics import YOLOmodel YOLO(yolov8n.pt)
results model.track(sourcehttps://youtu.be/Zgi9g1ksQHc, trackercustom_tracker.yaml) 六、基准测试参数
基准测试模式用于分析YOLOv8各种导出格式的速度和准确性。基准测试提供了关于导出格式的大小、其mAP50-95指标(用于对象检测和分割)或精度top5指标(用于分类)的信息以及在各种导出格式(如ONNX、OpenVINO、TensorRT等)中每张图像的推断时间(以毫秒为单位)。这些信息可以帮助用户根据他们对速度和准确性的需求为他们的特定用例选择最佳的导出格式。
命令行代码示例
yolo benchmark modelyolov8n.pt imgsz640 halfFalse device0python代码示例
from ultralytics.yolo.utils.benchmarks import benchmark# Benchmark
benchmark(modelyolov8n.pt, imgsz640, halfFalse, device0)一些基准测试常用参数
key解释model模型文件路径yoloV8v.pt等imgsz基准测试图片大小默认640half基准测试是否开启fp16默认Falsedevice在哪些设备上测试cuda device0 or device0,1,2,3 or devicecpuhard_fail在错误(bool)或val下限阈值(float)时停止继续默认False
基准测试可以支持以下导出的格式上运行测试 更多参考modes/benchmark
七、其他任务
分割参考segment
分类参考classify