YOLO入门从软件到跑通

1.ananconda的安装

(1)群里面先下载安装包

安装链接如下

复制代码
https://blog.csdn.net/qq_55106902/article/details/147308606?ops_request_misc=elastic_search_misc&request_id=f043e7a7539bb0b3247e2e4fd7497467&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-147308606-null-null.142^v102^pc_search_result_base9&utm_term=anaconda%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

(2)创建虚拟环境

python 复制代码
conda create -n yolo513 python=3.10 -y

(3)虚拟环境的激活

python 复制代码
conda activate yolo513

2.pycharm的安装

(1)下载安装包

Other Versions - PyCharm

(2)pycharm破解

#######可以私信我,看见给发 2元######

3.下载yolo官方的代码

(1)下载代码

ultralytics/ultralytics: Ultralytics YOLO 🚀

4.torch配置环境

(1)查看自己电脑适合哪个版本的torch

python 复制代码
nvidia-smi

(2)到torch官网找到对应版本的torch下载

有独立显卡的话可以去官网下载GPU版本
复制代码
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia
​
或者

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
没有独立显卡的话CPU版本的也是可以的
复制代码
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 cpuonly -c pytorch
验证GPU是否可用
复制代码
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"
安装其他库
python 复制代码
pip install -U ultralytics
pip install tqdm
pip install pandas
pip install seaborn

5. 数据集准备

测试集、训练集、验证集

我这有个动物的数据集都可以打包发你,

数据标注工具:ROboflow

6.train文件

python 复制代码
from ultralytics import YOLO, RTDETR
import os
​
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
if __name__ == '__main__':
    # 加载模型
    # model = YOLO('E:/ultralytics/ultralytics/cfg/models/11/yolo11-IAT.yaml')
    # model.load('E:/ultralytics/ultralytics/cfg/models/11/best.pt')
    #
    # # 训练模型
    # model.train(
    #     # data="data/data.yaml",  # 数据集 YAML 路径
    #     # epochs=100,  # 训练轮次
    #     # imgsz=640,  # 训练图像尺寸
    #     # device="cpu",  # 运行设备,例如 device=0 或 device=0,1,2,3 或 device=cpu
    #     data='data/data.yaml', epochs=400, imgsz=640, batch=4, workers=2
    # )
​
    #中断后接着运行
    # model = YOLO("runs/detect/train3/weights/last.pt")
    # model.train(resume=True)
# 评估模型在验证集上的性能
# metrics = model.val()
# 在图像上执行对象检测
# results = model("path/to/image.jpg")
# results[0].show()
​
    model = YOLO(model=r'D:\ultralytics-main\ultralytics\cfg\models\11\yolo11.yaml')
    #model.load('yolo11n.pt')
    model.train(data='E:/ultralytics/data/data.yaml', epochs=300, batch=8, imgsz=640, workers=1, cache=False,
                optimizer='SGD', amp=True, project='runs/train', name='yolo12')
主要参数
参数 含义 备注
train 数据集配置文件路径,通常是 .yaml 文件
epochs 训练轮数 200
batch 每次送入模型训练的图片数量,也叫批大小 2
imgsz 输入图片尺寸,训练前图片会被缩放到该尺寸附近 640
workers 数据加载线程/进程数量 1
cache 是否缓存数据集,加快后续读取 False 表示不缓存,节省内存/硬盘,但训练读取可能慢一些
optimizer 优化器,决定模型参数如何更新 'SGD' 表示使用随机梯度下降优化器
amp 自动混合精度训练,使用 FP16/FP32 混合计算 True 表示开启,通常能加快训练并减少显存占用
project 训练结果保存的根目录 'runs/train' 表示结果保存在 runs/train
name 本次实验的文件夹名 'yolo12'表示结果目录大概率是runs/train/yolo12
主要文件说明
data.yaml
复制代码
path: .     #表示当前目录
train: data/train/images
val: data/valid/images
test: data/test/images
​
nc: 10
names: ['cat', 'chicken', 'cow', 'dog', 'fox', 'goat', 'horse', 'person', 'racoon', 'skunk']

这两种yaml结构都可以

复制代码
# dataset path
train: E:\fuxian\ultralytics\data\images\train
val: E:\fuxian\ultralytics\data\images\val
test: E:\fuxian\ultralytics\data\images\test
# number of classes
nc: 10
# class names
names: ['cat', 'chicken', 'cow', 'dog', 'fox', 'goat', 'horse', 'person', 'racoon', 'skunk']
​
yolo11.yaml
复制代码
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
​
# Ultralytics YOLO11 object detection model with P3/8 - P5/32 outputs
# Model docs: https://docs.ultralytics.com/models/yolo11
# Task docs: https://docs.ultralytics.com/tasks/detect
​
# Parameters
nc: 80 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolo11n.yaml' will call yolo11.yaml with scale 'n'
  # [depth, width, max_channels]
  n: [0.50, 0.25, 1024] # summary: 181 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
  s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
  m: [0.50, 1.00, 512] # summary: 231 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
  l: [1.00, 1.00, 512] # summary: 357 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
  x: [1.00, 1.50, 512] # summary: 357 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
​
# YOLO11n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
  - [-1, 2, C3k2, [256, False, 0.25]]
  - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
  - [-1, 2, C3k2, [512, False, 0.25]]
  - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
  - [-1, 2, C3k2, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
  - [-1, 2, C3k2, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]] # 9
  - [-1, 2, C2PSA, [1024]] # 10
​
# YOLO11n head
head:
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
  - [-1, 2, C3k2, [512, False]] # 13
​
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 4], 1, Concat, [1]] # cat backbone P3
  - [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)
​
  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 13], 1, Concat, [1]] # cat head P4
  - [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)
​
  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 10], 1, Concat, [1]] # cat head P5
  - [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)
​
  - [[16, 19, 22], 1, Detect, [nc]] # Detect(P3, P4, P5)
​

细节可开课一节课,大概两到三个小时,全学会,需要的可以联系

相关推荐
机 _ 长5 小时前
YOLOv8-Mamba:融合MambaVision思想的目标检测创新实践
人工智能·yolo·目标检测·mamba
YOLO数据集集合10 小时前
智慧电网红外热成像数据集|电力设备组件识别目标检测深度学习数据集
人工智能·深度学习·yolo·目标检测·计算机视觉
青风9711 小时前
DETR在实时目标检测方面击败YOLO(DETRs Beat YOLOs on Real-time Object Detection)
人工智能·yolo·目标检测
动物园猫12 小时前
停车场空车位检测数据集分享(适用于YOLO系列深度学习检测任务)
人工智能·深度学习·yolo
YOLO数据集集合13 小时前
无人机低空街景语义分割数据集|4K航拍|城市巡检|深度学习视觉任务数据集
人工智能·深度学习·yolo·目标检测·无人机
扫地僧98513 小时前
基于改进版YOLOv11的海洋垃圾检测系统设计与实现
人工智能·深度学习·yolo
前端摸鱼匠13 小时前
YOLOv11 深入 Ultralytics 框架的源码目录,解析 ultralytics/cfg/models/11/ 下的模型配置文件,以及 ultralytics/nn/modules/下的模块
人工智能·yolo·目标检测·计算机视觉·目标跟踪
懷淰メ13 小时前
【AI加持】基于PyQt+YOLO+DeepSeek的结直肠息肉检测系统(详细介绍)
yolo·目标检测·计算机视觉·pyqt·ai加持·直肠息肉·结直肠
前网易架构师-高司机14 小时前
带标注的茶叶缺陷识别数据集,可识别健康和7种病害叶子,识别率76.1%,3886张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·数据集·缺陷·病害·茶叶·叶病·病叶
stsdddd14 小时前
YOLO系列目标检测数据集大全【第六期】
yolo·目标检测·目标跟踪