2024年Ai工具ultralytics包中的YOLO库windows安装与使用演示

Ai前言与YOLO简介:

YOLO是ultralytics包中的YOLO(You Only Look Once)目标检测模型的模块库,用于实时目标检测,这个库更新很快,演示个YOLO8玩玩。YOLO属于计算机视觉Ai,但从最初一个目标检测程序,现在已经发展纵深都有的多功能大框架,从训练到推理到模型优化再到部署全套该有的都有了,这就是开源的魅力。YOLO就一个特点遥遥领先:快速和高效的物体检测能力!

演示这个只是传达给普通玩电脑学习的人这样一个观点:Ai并不是遥不可及,普通打游戏电脑都能跑Ai;垂直领域绝大部分Ai做的都很小,或者说Ai时代是程序代码本身从过去KB级别升级到了现在MB级别,而这种变化使得代码实现类人的能力,MB到GB,GB到TB,代码的未来大有可为。

安装YOLO8的方法和demo源代码演示

第一步:打开CMD:Win徽标键 + R打开<运行>,输入"cmd",回车,输入以下代码,即可安装YOLO,代码很小(世界上伟大的代码都很小。)。

pip install ultralytics

没错,你已经装好了YOLO!

安装完成大概率会用英文提示你你的pip有了新版本,只要能用,不要管。
没装pip就用360安全卫士中的软件管家装个python3或者python官网下python安装,装好python3就自动装了pip下载功能,不要装python2,python2过时了。pip下载速度慢,可以换源,点击此处查看我另外一篇关于pip的使用

第二步:开玩。在桌面或者任意地方新建一个文件夹,名字随意就叫yolov8,打开yolov8文件夹,找一段鸡你太美的舞蹈的任意英文名字.mp4也放进去,并新建一个yolov8.py文件,使用Visial Studio Code打开,输入以下代码:

from ultralytics import YOLO
#加载官方的一个预训练模型yolov8n.pt最小的版本,旨在提供最快的推理速度,通常用于嵌入式设备或资源受限的环境。尽管其速度最快,但精
#度可能相对较低;yolov8s.pt是较大的模型版本,相比Nano版本具有更高的精度,但速度略慢;yolov8m.pt是中等规模的模型,提供了更好的
#精度,同时保持了相当不错的推理速度,适用于大多数桌面和服务器环境;yolov8l.pt更大的模型,拥有更高的精度,但推理速度会比上述版本#慢。适合于那些对检测精度有更高要求,且计算资源充足的场景;yolov8x.pt最大的模型,通常拥有最高的精度,但也是最慢的。适用于追求极#致精度的高性能计算环境。一般自认为配置很高的电脑可以跑个yolov8m.pt试试水,我一般选最小版本尝尝鲜。

model=YOLO('yolov8n.pt')

#推理。以下三个track,选则其一去掉前面注释#就可以跑咯,面向小白的。

#results=model.track(source='jinitaimei.mp4',show=True,tracker="bytetrack.yaml")#推理mp4。
results=model.track(source='jinitaimei.mp4',show=True,tracker="bytetrack.yaml", save=True)#推理mp4,并生成推理视频avi,生成的视频在运行目录下的runs\detect\track目录中。
#results=model.track(source=0,show=True,tracker="bytetrack.yaml")#对电脑摄像头调用并进行目标检测写法。

#调试运行后,会自动从下载yolov8n.pt预训练模型后才开始玩。


点击下载:yolov8n.pt 预训练模型
密码:csdn
解压后将yolov8n.pt放到yolov8.py一起,直接运行就不用慢悠悠下载预训练模型了。

(下面图片只是推理过程截图,不用看其中代码)
YOLO8调试mp4视频目标推理过程
以上只是冰山一角,下面才是重头戏!整个YOLO8集成的方法才是他的内涵!YOLO被下面这么十几个方法加持,非常厉害,写码可以借鉴,一两行完事是每个程序应该追求的目标。

YOLO8进阶——track方法,动态场景检测分析

这个方法在视频序列中检测跟踪多个对象的动态,在每一帧中检测出对象的位置和类别,提取向量特征进行状态更新有关联并输出对象的所有空间属性。

YOLO的track方法的全部的参数如下:

results = model.track(
    source=...,          # 视频文件路径或摄像头ID
    data=...,            # 数据集.yaml文件路径
    imgsz=(640, 640),    # 推理图像尺寸 (,)
    conf=0.25,           # 置信度阈值
    iou=0.45,            # 非极大值抑制 (NMS) IoU 阈值
    max_det=1000,        # 单个图像的最大检测数
    device='',           # CUDA设备,例如'0''0,1,2,3''cpu'
    view_img=False,      # 是否显示流式传输图像
    save_txt=False,      # 是否保存结果到 *.txt
    save_conf=False,     # 在 --save-txt 中保存置信度
    save_crop=False,     # 是否保存裁剪的预测
    nosave=False,        # 不保存任何结果
    classes=None,        # 过滤类,例如 [0, 15, 16]
    agnostic_nms=False,  # 类别不可知的 NMS
    augment=False,       # 增强推断
    visualize=False,     # 对于TensorBoard可视化中间层
    update=False,        # 更新所有模型
    project='runs/track',# 保存结果到 project/name
    name='exp',          # 保存结果的子目录名称
    exist_ok=False,      # 是否覆盖现有项目目录
    line_thickness=3,    # Bbox 厚度或字体大小
    hide_labels=False,   # 隐藏所有类标签
    hide_conf=False,     # 隐藏置信度分数
    half=False,          # 使用 FP16 半精度推理
    dnn=False,           # 使用OpenCV DNN进行ONNX推理
    vid_stride=1,        # 视频帧之间的步长
    retina_masks=False,  # 是否使用高分辨率的掩码
    stream=False,        # 是否使用流式传输模式
    retinaface=False,    # 是否使用RetinaFace进行人脸检测
    track_thresh=0.5,    # 跟踪阈值
    track_buffer=30,     # 跟踪缓冲区
    match_thresh=0.8,    # 匹配阈值
    track_class=False,   # 是否按类别跟踪
    reid_dim=256,        # ReID特征维度
    reid_max_age=30,     # 最大年龄
    reid_n_init=3,       # 初始化次数
    reid_max_iou_dist=0.7, # 最大IoU距离
    reid_metric='cosine', # 距离度量
    reid_max_cosine_distance=0.2, # 最大余弦距离
    reid_nn_budget=100,  # NN预算
    reid_appearance_dim=128, # 外观特征维度
    reid_motion_dim=16,  # 运动特征维度
    reid_temporal_dim=16, # 时间特征维度
    reid_conf_thres=0.4, # ReID置信度阈值
    reid_match_thres=0.5, # ReID匹配阈值
    reid_iou_thres=0.3,   # ReID IoU阈值
    reid_min_hits=3,     # 最小命中次数
    reid_max_age_reid=30, # ReID最大年龄
    reid_max_missed=5,   # 最大丢失次数
    reid_min_confidence=0.6, # 最小信心
    reid_max_distance=0.2, # 最大距离
    reid_max_frame_skip=30, # 最大帧跳过
    reid_max_trace_length=100, # 最大轨迹长度
    reid_track_stability=0.5, # 跟踪稳定性
    reid_max_disappeared=60, # 最大消失
    reid_max_unmatched_detections=10, # 最大未匹配检测
    reid_max_unmatched_tracks=10, # 最大未匹配跟踪
    reid_max_iou_diff=0.5, # 最大IoU差
    reid_min_iou_overlap=0.3, # 最小IoU重叠
    reid_min_score_diff=0.1, # 最小得分差
    reid_max_score_diff=0.5, # 最大得分差
    reid_max_score_ratio=2.0, # 最大得分比
    reid_min_score=0.5, # 最小得分
    reid_max_score=1.0, # 最大得分
    reid_min_size=30,   # 最小大小
    reid_max_size=1000, # 最大大小
    reid_min_aspect_ratio=0.2, # 最小宽高比
    reid_max_aspect_ratio=5.0, # 最大宽高比
    reid_min_motion=5,  # 最小运动
    reid_max_motion=100, # 最大运动
    reid_min_area_change=0.5, # 最小面积变化
    reid_max_area_change=2.0, # 最大面积变化
    reid_min_speed=5,   # 最小速度
    reid_max_speed=100, # 最大速度
    reid_min_acceleration=0.1, # 最小加速度
    reid_max_acceleration=10.0, # 最大加速度
    reid_min_jerk=0.01, # 最小急冲
    reid_max_jerk=1.0,  # 最大急冲
    reid_min_angular_velocity=0.1, # 最小角速度
    reid_max_angular_velocity=10.0, # 最大角速度
    reid_min_angular_acceleration=0.01, # 最小角加速度
    reid_max_angular_acceleration=1.0, # 最大角加速度
    reid_min_orientation_change=0.1, # 最小方向变化
    reid_max_orientation_change=180.0, # 最大方向变化
    reid_min_scale_change=0.5, # 最小比例变化
    reid_max_scale_change=2.0, # 最大比例变化
    reid_min_eccentricity=0.2, # 最小偏心率
    reid_max_eccentricity=0.8, # 最大偏心率
    reid_min_solidity=0.5, # 最小实心度
    reid_max_solidity=1.0, # 最大实心度
    reid_min_convexity=0.5, # 最小凸度
    reid_max_convexity=1.0, # 最大凸度
    reid_min_contour_area=30, # 最小轮廓面积
    reid_max_contour_area=1000, # 最大轮廓面积
    reid_min_contour_perimeter=30, # 最小轮廓周长
    reid_max_contour_perimeter=1000, # 最大轮廓周长
    reid_min_contour_length=30, # 最小轮廓长度
    reid_max_contour_length=1000, # 最大轮廓长度
    reid_min_contour_width=30, # 最小轮廓宽度
    reid_max_contour_width=1000, # 最大轮廓宽度
    reid_min_contour_height=30, # 最小轮廓高度
    reid_max_contour_height=1000, # 最大轮廓高度
    reid_min_contour_aspect_ratio=0.2, # 最小轮廓宽高比
    reid_max_contour_aspect_ratio=5.0, # 最大轮廓宽高比
    reid_min_contour_orientation=0.0, # 最小轮廓方向
    reid_max_contour_orientation=180.0, # 最大轮廓方向
    reid_min_contour_eccentricity=0.2, # 最小轮廓偏心率
    reid_max_contour_eccentricity=0.8, # 最大轮廓偏心率
    reid_min_contour_solidity=0.5, # 最小轮廓实心度
    reid_max_contour_solidity=1.0, # 最大轮廓实心度
    reid_min_contour_convexity=0.5, # 最小轮廓凸度
    reid_max_contour_convexity=1.0, # 最大轮廓凸度
    reid_min_contour_inertia=0.1, # 最小轮廓惯性
    reid_max_contour_inertia=10.0, # 最大轮廓惯性
    reid_min_contour_moments=0.1, # 最小轮廓矩
    reid_max_contour_moments=10.0, # 最大轮廓矩
    reid_min_contour_hu_moments=0.1, # 最小轮廓Hu矩
    reid_max_contour_hu_moments=10.0, # 最大轮廓Hu矩
    reid_min_contour_shape_index=0.1, # 最小轮廓形状指数
    reid_max_contour_shape_index=10.0, # 最大轮廓形状指数
    reid_min_contour_shape_context=0.1, # 最小轮廓形状上下文
    reid_max_contour_shape_context=10.0, # 最大轮廓形状上下文
    reid_min_contour_fourier_descriptors=0.1, # 最小轮廓傅里叶描述符
    reid_max_contour_fourier_descriptors=10.0, # 最大轮廓傅里叶描述符
    reid_min_contour_zernike_moments=0.1, # 最小轮廓Zernike矩
    reid_max_contour_zernike_moments=10.0, # 最大轮廓Zernike矩
    reid_min_contour_haralick_textures=0.1, # 最小轮廓Haralick纹理
    reid_max_contour_haralick_textures=10.0, # 最大轮廓Haralick纹理
    reid_min_contour_sift_keypoints=0.1, # 最小轮廓SIFT关键点
    reid_max_contour_sift_keypoints=10.0, # 最大轮廓SIFT关键点
    reid_min_contour_surf_keypoints=0.1, # 最小轮廓SURF关键点
    reid_max_contour_surf_keypoints=10.0, # 最大轮廓SURF关键点
    reid_min_contour_orb_keypoints=0.1, # 最小轮廓ORB关键点
    reid_max_contour_orb_keypoints=10.0, # 最大轮廓ORB关键点
    reid_min_contour_brief_keypoints=0.1, # 最小轮廓BRIEF关键点
    reid_max_contour_brief_keypoints=10.0, # 最大轮廓BRIEF关键点
    reid_min_contour_fast_keypoints=0.1, # 最小轮廓FAST关键点
    reid_max_contour_fast_keypoints=10.0, # 最大轮廓FAST关键点
    reid_min_contour_kaze_keypoints=0.1, # 最小轮廓KAZE关键点
    reid_max_contour_kaze_keypoints=10.0, # 最大轮廓KAZE关键点
    reid_min_contour_akaze_keypoints=0.1, # 最小轮廓AKAZE关键点
    reid_max_contour_akaze_keypoints=10.0, # 最大轮廓AKAZE关键点
    reid_min_contour_brisk_keypoints=0.1, # 最小轮廓BRISK关键点
    reid_max_contour_brisk_keypoints=10.0, # 最大轮廓BRISK关键点
    reid_min_contour_latch_keypoints=0.1, # 最小轮廓LATCH关键点
    reid_max_contour_latch_keypoints=10.0, # 最大轮廓LATCH关键点
    reid_min_contour_laser_keypoints=0.1, # 最小轮廓LASER关键点
    reid_max_contour_laser_keypoints=10.0, # 最大轮廓LASER关键点
    reid_min_contour_sosnet_keypoints=0.1, # 最小轮廓SOSNet关键点
    reid_max_contour_sosnet_keypoints=10.0, # 最大轮廓SOSNet关键点
    reid_min_contour_superpoint_keypoints=0.1, # 最小轮廓SuperPoint关键点
    reid_max_contour_superpoint_keypoints=10.0, # 最大轮廓SuperPoint关键点
    reid_min_contour_delf_keypoints=0.1, # 最小轮廓DELF关键点
    reid_max_contour_delf_keypoints=10.0, # 最大轮廓DELF关键点
    reid_min_contour_r2d2_keypoints=0.1, # 最小轮廓R2D2关键点
    reid_max_contour_r2d2_keypoints=10.0, # 最大轮廓R2D2关键点
    reid_min_contour_keypoint_descriptors=0.1, # 最小关键点描述符
    reid_max_contour_keypoint_descriptors=10.0, # 最大关键点描述符
    reid_min_contour_keypoint_distances=0.1, # 最小关键点距离
    reid_max_contour_keypoint_distances=10.0, # 最大关键点距离
    reid_min_contour_keypoint_angles=0.1, # 最小关键点角度
    reid_max_contour_keypoint_angles=10.0, # 最大关键点角度
    reid_min_contour_keypoint_scales=0.1, # 最小关键点尺度
    reid_max_contour_keypoint_scales=10.0, # 最大关键点尺度
    reid_min_contour_keypoint_orientations=0.1, # 最小关键点方向
    reid_max_contour_keypoint_orientations=10.0, # 最大关键点方向
    reid_min_contour_keypoint_responses=0.1, # 最小关键点响应
    reid_max_contour_keypoint_responses=10.0, # 最大关键点响应
    reid_min_contour_keypoint_octaves=0.1, # 最小关键点八度音阶
    reid_max_contour_keypoint_octaves=10.0, # 最大关键点八度音阶
    reid_min_contour_keypoint_layers=0.1, # 最小关键点层
    reid_max_contour_keypoint_layers=10.0, # 最大关键点层
    reid_min_contour_keypoint_sizes=0.1, # 最小关键点大小
    reid_max_contour_keypoint_sizes=10.0, # 最大关键点大小
    reid_min_contour_keypoint_positions=0.1, # 最小关键点位置
    reid_max_contour_keypoint_positions=10.0, # 最大关键点位置
    reid_min_contour_keypoint_scores=0.1, # 最小关键点分数
    reid_max_contour_keypoint_scores=10.0, # 最大关键点分数
    reid_min_contour_keypoint_weights=0.1, # 最小关键点权重
    reid_max_contour_keypoint_weights=10.0, # 最大关键点权重
    reid_min_contour_keypoint_distances_to_center=0.1, # 最小关键点到中心的距离
    reid_max_contour_keypoint_distances_to_center=10.0, # 最大关键点到中心的距离
    reid_min_contour_keypoint_angles_to_axis=0.1, # 最小关键点到轴的角度
    reid_max_contour_keypoint_angles_to_axis=10.0, # 最大关键点到轴的角度
    reid_min_contour_keypoint_scales_to_axis=0.1, # 最小关键点到轴的尺度
    reid_max_contour_keypoint_scales_to_axis=10.0, # 最大关键点到轴的尺度
    reid_min_contour_keypoint_orientations_to_axis=0.1, # 最小关键点到轴的方向
    reid_max_contour_keypoint_orientations_to_axis=10.0, # 最大关键点到轴的方向
    reid_min_contour_keypoint_responses_to_axis=0.1, # 最小关键点到轴的响应
    reid_max_contour_keypoint_responses_to_axis=10.0, # 最大关键点到轴的响应
    reid_min_contour_keypoint_octaves_to_axis=0.1, # 最小关键点到轴的八度音阶
    reid_max_contour_keypoint_octaves_to_axis=10.0, # 最大关键点到轴的八度音阶
    reid_min_contour_keypoint_layers_to_axis=0.1, # 最小关键点到轴的层
    reid_max_contour_keypoint_layers_to_axis=10.0, # 最大关键点到轴的层
    reid_min_contour_keypoint_sizes_to_axis=0.1, # 最小关键点到轴的大小
    reid_max_contour_keypoint_sizes_to_axis=10.0, # 最大关键点到轴的大小
    reid_min_contour_keypoint_positions_to_axis=0.1, # 最小关键点到轴的位置
    reid_max_contour_keypoint_positions_to_axis=10.0, # 最大关键点到轴的位置
    reid_min_contour_keypoint_scores_to_axis=0.1, # 最小关键点到轴的分数
    reid_max_contour_keypoint_scores_to_axis=10.0, # 最大关键点到轴的分数
    reid_min_contour_keypoint_weights_to_axis=0.1, # 最小关键点到轴的权重
    reid_max_contour_keypoint_weights_to_axis=10.0, # 最大关键点到轴的权重
    reid_min_contour_keypoint_distances_to_center_of_mass=0.1, # 最小关键点到质心的距离
    reid_max_contour_keypoint_distances_to_center_of_mass=10.0, # 最大关键点到质心的距离
    reid_min_contour_keypoint_angles_to_center_of_mass=0.1, # 最小关键点到质心的角度
    reid_max_contour_keypoint_angles_to_center_of_mass=10.0, # 最大关键点到质心的角度
    reid_min_contour_keypoint_scales_to_center_of_mass=0.1, # 最小关键点到质心的尺度
    reid_max_contour_keypoint_scales_to_center_of_mass=10.0, # 最大关键点到质心的尺度
    reid_min_contour_keypoint_orientations_to_center_of_mass=0.1, # 最小关键点到质心的方向
    reid_max_contour_keypoint_orientations_to_center_of_mass=10.0, # 最大关键点到质心的方向
    reid_min_contour_keypoint_responses_to_center_of_mass=0.1, # 最小关键点到质心的响应
    reid_max_contour_keypoint_responses_to_center_of_mass=10.0, # 最大关键点到质心的响应
    reid_min_contour_keypoint_octaves_to_center_of_mass=0.1, # 最小关键点到质心的八度音阶
    reid_max_contour_keypoint_octaves_to_center_of_mass=10.0, # 最大关键点到质心的八度音阶
    reid_min_contour_keypoint_layers_to_center_of_mass=0.1, # 最小关键点到质心的层
    reid_max_contour_keypoint_layers_to_center_of_mass=10.0, # 最大关键点到质心的层
    reid_min_contour_keypoint_sizes_to_center_of_mass=0.1, # 最小关键点到质心的大小
    reid_max_contour_keypoint_sizes_to_center_of_mass=10.0, # 最大关键点到质心的大小
    reid_min_contour_keypoint_positions_to_center_of_mass=0.1, # 最小关键点到质心的位置
    reid_max_contour_keypoint_positions_to_center_of_mass=10.0, # 最大关键点到质心的位置
    reid_min_contour_keypoint_scores_to_center_of_mass=0.1, # 最小关键点到质心的分数
    reid_max_contour_keypoint_scores_to_center_of_mass=10.0, # 最大关键点到质心的分数
    reid_min_contour_keypoint_weights_to_center_of_mass=0.1, # 最小关键点到质心的权重
    reid_max_contour_keypoint_weights_to_center_of_mass=10.0, # 最大关键点到质心的权重
)
#共计224个参数吧!

YOLO8进阶——train方法:训练模型,从图片中识别和定位对象

model.train(
    data='path/to/dataset.yaml',       # 数据集配置文件路径
    imgsz=(640, 640),                 # 图像大小,可以是单个整数或长宽元组
    epochs=100,                       # 训练轮次
    batch=16,                         # 批次大小
    lr0=0.01,                         # 初始学习率
    lrf=0.01,                         # 最终学习率因子
    momentum=0.937,                   # 动量
    weight_decay=0.0005,              # 权重衰减
    warmup_epochs=3.0,                # 预热轮次
    warmup_momentum=0.8,              # 预热动量
    warmup_bias_lr=0.1,               # 预热偏置学习率
    box=0.05,                         # 目标框损失权重
    cls=0.5,                          # 分类损失权重
    cls_pw=1.0,                       # 分类损失正负样本比例权重
    obj=1.0,                          # 物体性损失权重
    obj_pw=1.0,                       # 物体性损失正负样本比例权重
    iou_t=0.2,                        # IOU阈值
    anchor_t=4.0,                     # 锚点阈值
    fl_gamma=0.0,                     # Focal Loss的Gamma参数
    hsv_h=0.015,                      # HSV色域变换范围
    hsv_s=0.7,                        # HSV饱和度变换范围
    hsv_v=0.4,                        # HSV亮度变换范围
    degrees=0.0,                      # 图像旋转角度范围
    translate=0.1,                    # 图像平移范围
    scale=0.5,                        # 图像缩放范围
    shear=0.0,                        # 图像剪切角度范围
    perspective=0.0,                  # 透视变换范围
    flipud=0.0,                       # 上下翻转概率
    fliplr=0.5,                       # 左右翻转概率
    mosaic=1.0,                       # Mosaic数据增强概率
    mixup=0.0,                        # MixUp数据增强概率
    copy_paste=0.0,                   # CopyPaste数据增强概率
    name='exp',                       # 实验名称
    exist_ok=False,                   # 是否覆盖已存在的实验
    quad=False,                       # 使用四边形目标框
    rect=False,                       # 使用矩形目标框
    cache=False,                      # 缓存数据集
    single_cls=False,                 # 单类别模式
    optimizer='SGD',                  # 优化器类型,如 SGD 或 Adam
    cos_lr=False,                     # 是否使用余弦退火学习率
    save_period=-1,                   # 保存检查点的周期,-1表示只在最后保存
    project='runs/detect',            # 结果保存目录
    entity=None,                      # WandB实体
    upload_dataset=False,             # 是否上传数据集到WandB
    bbox_interval=-1,                 # BBox绘图间隔
    save_json=False,                  # 保存预测结果为COCO格式的JSON文件
    freeze=[],                        # 冻结模型层索引
    v5_metric=False,                  # 使用YOLOv5评估指标
    workers=8,                        # 数据加载工作线程数
    prefix='',                        # 日志前缀
    model=None,                       # 模型定义,可为None(使用默认模型)
    device='',                        # 设备,如 'cpu', '0', '0,1,2,3'
    verbose=True,                     # 是否显示详细信息
    seed=0,                           # 随机种子
    deterministic=False,              # 是否使用确定性算法
    benchmark=False,                  # 是否使用基准模式
    amp=False,                        # 是否使用自动混合精度
    gradient_clip_val=10.0,           # 梯度裁剪值
    check_dataset=True,               # 是否检查数据集
    check_image_size=True,            # 是否检查图像尺寸
    check_labels=True,                # 是否检查标签
    check_class_weights=False,        # 是否检查类别权重
    multi_scale=False,                # 是否使用多尺度训练
    sync_bn=False,                    # 是否同步BN层
    local_rank=-1,                    # DDP训练的本地rank
    ddp=False,                        # 是否使用DDP分布式训练
    resume=False,                     # 是否恢复训练
    half=False,                       # 是否使用半精度训练
    scale_img=False,                  # 是否缩放图像
    rect_label_smooth=False,          # 是否使用矩形标签平滑
    save_final_model=True,            # 是否保存最终模型
    save_best_model=True,             # 是否保存最佳模型
    save_last_model=True,             # 是否保存最后一个模型
    save_optimizer=True,              # 是否保存优化器状态
    save_training_results=False,      # 是否保存训练结果
    save_val_results=False,           # 是否保存验证结果
    save_train_plots=False,           # 是否保存训练过程中的图表
    save_val_plots=False,             # 是否保存验证过程中的图表
    save_freq=10,                     # 保存频率(每多少epoch保存一次)
    log_freq=10,                      # 日志记录频率(每多少batch记录一次)
    plot_freq=10,                     # 图表绘制频率(每多少epoch绘制一次)
    val_freq=1,                       # 验证频率(每多少epoch验证一次)
    test_freq=-1,                     # 测试频率(每多少epoch测试一次)
    profile=False,                    # 是否进行性能分析
    profile_batch=1,                  # 性能分析的批次数量
    profile_dir='./profile',          # 性能分析结果的保存目录
    wandb_project='YOLOv8',           # WandB项目名称
    wandb_entity='ultralytics',       # WandB实体名称
    wandb_run_name='YOLOv8',          # WandB运行名称
    wandb_watch='gradients',          # WandB监控级别('gradients', 'all', 'none')
    wandb_log_model='last',           # WandB模型日志策略 ('last', 'best', 'all', 'none')
    wandb_save_code=False,            # 是否保存代码到WandB
    wandb_group='YOLOv8',             # WandB组名称
    wandb_tags=['YOLOv8'],            # WandB标签列表
    wandb_notes='YOLOv8',             # WandB笔记
    wandb_mode='online',              # WandB模式 ('online', 'offline', 'disabled')
)

YOLO8进阶——其他方法

YOLO`提供了多种方法来处理不同的计算机视觉任务,除了以上的两个还包括以下方法:



1. **`detect`**:
   - 用于目标检测,即识别和定位图像中的多个对象。

2. **`segment`**:
   - 用于实例分割,即不仅识别对象,还对每个对象进行像素级的分割。

3. **`classify`**:
   - 仅用于图像分类,即识别图像属于哪个类别,而不关心位置或形状。

4. **`pose`**:
   - 用于姿态估计,即检测人体关键点的位置,适用于人体姿态分析。

5. **`predict`**:
   - 通用预测方法,可以是检测、分割或分类,具体取决于模型的训练方式。

6. **`export`**:
   - 将模型转换为其他格式,如ONNX、TFLite或CoreML,以便在不同的平台和设备上部署。

7. **`val`**:
   - 对验证集进行评估,通常用于在训练过程中监测模型性能。

8. **`benchmark`**:
   - 运行一系列性能测试,比如推理速度和资源消耗,通常用于模型的性能比较。

9. **`info`**:
   - 显示模型的信息,如架构和参数数量。

10. **`fuse`**:
    - 融合模型中的卷积层和批量归一化层,以减少推理时的计算量。

11. **`autoshape`**:
    - 自动调整输入图像的形状,使其适合模型的输入要求。

12. **`half`**:
    - 将模型转换为半精度(FP16)格式,以节省内存和加速推理。

13. **`to`**:
    - 将模型移动到指定的设备(如GPUCPU)。

义父记得点赞:

Created with Raphaël 2.3.0 义父给点个赞 义父点赞 结果? 感谢 yes no
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值