2025年cornernet训练自己的数据集(nanodet 训练自己的数据集)

cornernet训练自己的数据集(nanodet 训练自己的数据集)1 安装 VSCode Visual Studio Code Code Editing Redefined 2 安装 VSCode 插件 Remote SSH Chinese Simplified 3 领取 50 元算力券 24 小时 4090 显卡 无需认证 gt 博主粉丝福利 限量领取 gt lt https cloud

大家好,我是讯享网,很高兴认识大家。



1. 安装 VSCode ,Visual Studio Code - Code Editing. Redefined

2. 安装 VSCode 插件,Remote-SSHChinese (Simplified)

3. 领取 50元算力券(24小时4090显卡),无需认证!

>博主粉丝福利,限量领取 

><https://cloud.lanyun.net/#/registerPage?promoterCode=5f738eaf90>

4. 租显卡设备

5. 上传数据集

> 数据集链接:<https://pan.baidu.com/s/14Gw_jymmUxQAWv3JNvgwqw>

> 提取码:df66

或 : <https://download.csdn.net/download/weixin_4369409688369997>

6. 解压数据集到指定位置:unzip -d /root/VOC2007/ /root/lanyun-fs/VOC2007.zip

7. 下载代码: 

source /etc/network_turbo # 开启代理

git clone https://github.com/ultralytics/ultralytics --branch v8.3.12


讯享网

8. 初始化 conda init

9. 新建conda环境:conda create --name yolov8 python=3.10 -y

10. 激活conda环境:conda activate yolov8 

11. 安装环境:

unset http_proxy && unset https_proxy # 关闭代理

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

12. 下载权重 wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt

13. 推理模型:

python</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>from ultralytics import YOLO</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>if __name__ == '__main__':</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # 加载模型</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  model = YOLO(r'yolov8n.pt') # YOLOv8n模型</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  model.predict(</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    source=r'ultralytics/assets/bus.jpg',</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    save=True, # 保存预测结果</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    project='runs/predict', # 项目名称(可选)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    name='exp', # 实验名称,结果保存在'project/name'目录下(可选)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  )</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>

14. 编写数据集 yaml 文件

15. 训练模型:

python</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>from ultralytics import YOLO</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>if __name__ == '__main__':</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # 加载模型</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  model = YOLO('yolov11.yaml', task=&quot;detect&quot;) # 不使用预训练权重训练 | detect, segment, classify, pose, obb</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # model = YOLO(r'yolov11.yaml').load(&quot;yolov11n.pt&quot;) # 使用预训练权重训练</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # 训练参数 ----------------------------------------------------------------------------------------------</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  model.train(</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    data='coco128.yaml',</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    epochs=100, # (int) 训练的周期数</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    patience=50, # (int) 等待无明显改善以进行早期停止的周期数</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    batch=32, # (int) 每批次的图像数量(-1 为自动批处理)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    imgsz=640, # (int) 输入图像的大小,整数或w,h</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    save=True, # (bool) 保存训练检查点和预测结果</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    save_period=-1, # (int) 每x周期保存检查点(如果小于1则禁用)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    cache=True, # (bool) True/ram、磁盘或False。使用缓存加载数据</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    device='', # (int | str | list, optional) 运行的设备,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    workers=8, # (int) 数据加载的工作线程数(每个DDP进程)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    project='runs/train', # (str, optional) 项目名称</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    name='exp', # (str, optional) 实验名称,结果保存在'project/name'目录下</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    pretrained=True, # (bool | str) 是否使用预训练模型(bool),或从中加载权重的模型(str)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    optimizer='SGD', # (str) 要使用的优化器,选择=[SGD,Adam,Adamax,AdamW,NAdam,RAdam,RMSProp,auto]</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    verbose=True, # (bool) 是否打印详细输出</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    seed=0, # (int) 用于可重复性的随机种子</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    close_mosaic=0, # (int) 在最后几个周期禁用马赛克增强</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    resume=False, # (bool) 从上一个检查点恢复训练</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    amp=False, # (bool) 自动混合精度(AMP)训练,选择=[True, False],True运行AMP检查</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  )</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>

16. 评估模型:

python</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>from ultralytics import YOLO</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>if __name__ == '__main__':</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # 加载模型</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  model = YOLO(r'yolov8n.pt')  </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  # 验证模型</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  metrics=model.val(</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    data=r'coco128.yaml',</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    split='val', # (str) 用于验证的数据集拆分,例如'val'、'test'或'train'</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    batch=1, # (int) 每批的图像数量(-1 为自动批处理)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    imgsz=640, # 输入图像的大小,可以是整数或w,h</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    device=0, # 运行的设备,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    workers=8, # 数据加载的工作线程数(每个DDP进程)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    iou=0.6, # 非极大值抑制 (NMS) 的交并比 (IoU) 阈值</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    project='runs/val', # 项目名称(可选)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    name='exp', # 实验名称,结果保存在'project/name'目录下(可选)</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  )</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  print(f&quot;mAP50-95: {metrics.box.map}&quot;) # map50-95</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  print(f&quot;mAP50: {metrics.box.map50}&quot;) # map50</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  print(f&quot;mAP75: {metrics.box.map75}&quot;) # map75</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  speed_metrics = metrics.speed</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  total_time = sum(speed_metrics.values())</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  fps = 1000 / total_time</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  print(f&quot;FPS: {fps}&quot;) # FPS</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>

小讯
上一篇 2025-05-28 20:07
下一篇 2025-06-08 11:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206025.html