跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Windows 环境下 Python 结合 YOLO 实现图片分类检测

Windows 环境下使用 Python 和 Ultralytics YOLO 库进行图片分类检测。首先构建包含训练集和验证集的目录结构,配置模型训练参数如 batch size、epochs 及图像增强策略。通过监控 loss 曲线评估模型学习效果,避免过拟合或欠拟合。训练完成后加载 best.pt 权重文件对单张测试图片进行推理预测,输出类别概率。示例涵盖从数据准备到模型部署的全流程,适用于自定义水果等物体识别场景。

板砖工程师发布于 2026/1/19更新于 2026/10/2590 浏览

在上一篇文章中已完成环境搭建,本节进行图片分类检测测试。

图片分类检测即识别图像中的物体类别,例如识别水果种类。首先训练两种水果的模型:苹果和香蕉。

数据集需按以下目录结构组织:

your_dataset/
├── train/
│   ├── class1/
│   ├── class2/
│   └── …
└── val/
    ├── class1/
    ├── class2/
    └── …

将数据放入对应文件夹,并在根目录编写 Python 脚本。

from ultralytics import YOLO

if __name__ == "__main__":
    # 1. 载入预训练模型,请替换为实际路径
    model = YOLO(r"path/to/yolo11s-cls.pt")
    
    # 2. 启动训练
    results = model.train(
        data=r"path/to/dataset",
        batch=0.75,
        project="fruit_results",
        deterministic=False,
        epochs=30,
        imgsz=640,
        degrees=60,
        flipud=0.3,
        fliplr=0.3
    )

代码逻辑如下:

  • YOLO:加载预训练模型。
  • model.train:配置训练参数,包括数据集路径、批次大小、保存目录、轮数及图像增强策略。
  • 建议输入图像尺寸设为 640x640,若显存不足可调整 batch 值。

训练参数监控

Epoch n/30 表示当前训练轮次。GPU_mem 显示显存占用,用于调整 batch 参数。loss 是评估模型学习效果的核心指标,理想情况下应随训练稳定下降。Loss 值未有效下降可能因数据质量或品类单一导致。

训练完成后,结果文件保存在指定目录。查找生成的模型文件,重点关注 weights 文件夹下的 best.pt 文件。

模型文件输出

权重文件

将 best.pt 移至测试目录,并准备测试图片。

from ultralytics import YOLO

if __name__ == "__main__":
    # 加载训练好的最佳模型
    model = YOLO(r"path/to/best.pt")
    
    # 设置待分类的图片路径
    source = r"path/to/test_image.jpg"
    
    # 进行预测,设置图片尺寸与训练时保持一致
    result = model.predict(source, imgsz=640)

加载模型并对测试图片进行推理。推理结果显示类别概率。建议使用多样化且高分辨率的图片训练以提高准确率。

至此完成基础分类检测流程,可根据需求扩展批量处理等功能。

更多推荐文章

查看全部
  • ComfyUI v0.18.0:显存优化、VAE 架构进化、API 节点与前端升级
  • BicycleGAN 模型评估指标与实战改进
  • VERT 开源文件转换 Web 工具部署指南
  • Llama Factory 微调中常见的 5 个配置错误
  • AI 提示词入门:6 种让回答更精准的提问技巧
  • Python 机器学习:KNN 算法原理与实战解析
  • STM32 数字万用表 DIY 项目设计与硬件选型
  • OpenCode 环境变量配置:AI 密钥设置与性能调优
  • 算法实战:模幂、构造、背包、贪心等六题精析
  • 人工智能(AI)常见面试题及答案汇总
  • 基于 DeepFace 与 OpenCV 的情绪分析器实现
  • Flutter for OpenHarmony 使用 money2 实现高精度金融计算
  • Trae CN IDE Python 开发流程与配置指南
  • Spring Boot + Leaflet 构建省级旅游口号 WebGIS 可视化平台
  • 鸿蒙 Share Kit 目标应用开发指南:UIAbility 与扩展能力接入实战
  • C++ 二叉搜索树(BST)原理与核心操作实现
  • MySQL 高频面试题详解
  • Python 音视频处理实战:基于 FFmpeg 与 Spleeter 的人声分离
  • 基于 Java SpringBoot 的校园餐厅在线点餐管理系统设计与实现
  • Claude Skill:让大模型生成更具设计感的前端页面

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online