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)
​

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

相关推荐
霍夫曼vx_helloworld73522 小时前
基于 YOLOv8 的汽车钣金件智能缺陷检测系统全流程落地
yolo·汽车
ZPC82103 小时前
识别物体 3D 位置 + 自动生成机器人抓取位姿」
数码相机·yolo·计算机视觉
广州灵眸科技有限公司20 小时前
瑞芯微(EASY EAI)RV1126B openclaw部署接入飞书
linux·网络·人工智能·算法·yolo·飞书
2zcode21 小时前
公共区域传单分发检测数据集(YOLO格式)
人工智能·yolo·目标跟踪
羊羊小栈1 天前
基于「YOLO目标检测 + 多模态AI分析」的水果蔬菜病害智能检测分析预警系统
人工智能·yolo·目标检测·计算机视觉·毕业设计·大作业
动物园猫1 天前
频繁使用手机检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·智能手机
深度学习lover1 天前
<数据集>yolo 车牌识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·车牌识别
web守墓人1 天前
【yolo模型】专用场景下的目标检测模型训练,如何规划
yolo·目标检测
动物园猫1 天前
火灾火焰识别数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·分类