1. 安装 `VSCode` ,Visual Studio Code - Code Editing. Redefined
2. 安装 `VSCode` 插件,`Remote-SSH` 、 `Chinese (Simplified)`
3. 领取 `50算力券(24小时4090显卡)`,无需认证!
>博主粉丝福利,限量领取
><https://cloud.lanyun.net/#/registerPage?promoterCode=5f738eaf90>
4. 租显卡设备
5. 上传数据集
> 数据集链接:<https://bianchenghao.cn/s/14Gw_jymmUxQAWv3JNvgwqw>
> 提取码:df66
或 : <https://download.csdn.net/download/weixin_/>
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
from ultralytics import YOLO
if __name__ == '__main__':
# 加载模型
model = YOLO(r'yolov8n.pt') # YOLOv8n模型
model.predict(
source=r'ultralytics/assets/bus.jpg',
save=True, # 保存预测结果
project='runs/predict', # 项目名称(可选)
name='exp', # 实验名称,结果保存在'project/name'目录下(可选)
)
```
14. 编写数据集 `yaml` 文件
15. 训练模型:
```python
from ultralytics import YOLO
if __name__ == '__main__':
# 加载模型
model = YOLO('yolov11.yaml', task="detect") # 不使用预训练权重训练 | detect, segment, classify, pose, obb
# model = YOLO(r'yolov11.yaml').load("yolov11n.pt") # 使用预训练权重训练
# 训练参数 ----------------------------------------------------------------------------------------------
model.train(
data='coco128.yaml',
epochs=100, # (int) 训练的周期数
patience=50, # (int) 等待无明显改善以进行早期停止的周期数
batch=32, # (int) 每批次的图像数量(-1 为自动批处理)
imgsz=640, # (int) 输入图像的大小,整数或w,h
save=True, # (bool) 保存训练检查点和预测结果
save_period=-1, # (int) 每x周期保存检查点(如果小于1则禁用)
cache=True, # (bool) True/ram、磁盘或False。使用缓存加载数据
device='', # (int | str | list, optional) 运行的设备,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu
workers=8, # (int) 数据加载的工作线程数(每个DDP进程)
project='runs/train', # (str, optional) 项目名称
name='exp', # (str, optional) 实验名称,结果保存在'project/name'目录下
pretrained=True, # (bool | str) 是否使用预训练模型(bool),或从中加载权重的模型(str)
optimizer='SGD', # (str) 要使用的优化器,选择=[SGD,Adam,Adamax,AdamW,NAdam,RAdam,RMSProp,auto]
verbose=True, # (bool) 是否打印详细输出
seed=0, # (int) 用于可重复性的随机种子
close_mosaic=0, # (int) 在最后几个周期禁用马赛克增强
resume=False, # (bool) 从上一个检查点恢复训练
amp=False, # (bool) 自动混合精度(AMP)训练,选择=[True, False],True运行AMP检查
)
```
16. 评估模型:
```python
from ultralytics import YOLO
if __name__ == '__main__':
# 加载模型
model = YOLO(r'yolov8n.pt')
# 验证模型
metrics=model.val(
data=r'coco128.yaml',
split='val', # (str) 用于验证的数据集拆分,例如'val'、'test'或'train'
batch=1, # (int) 每批的图像数量(-1 为自动批处理)
imgsz=640, # 输入图像的大小,可以是整数或w,h
device=0, # 运行的设备,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu
workers=8, # 数据加载的工作线程数(每个DDP进程)
iou=0.6, # 非极大值抑制 (NMS) 的交并比 (IoU) 阈值
project='runs/val', # 项目名称(可选)
name='exp', # 实验名称,结果保存在'project/name'目录下(可选)
)
print(f"mAP50-95: {metrics.box.map}") # map50-95
print(f"mAP50: {metrics.box.map50}") # map50
print(f"mAP75: {metrics.box.map75}") # map75
speed_metrics = metrics.speed
total_time = sum(speed_metrics.values())
fps = 1000 / total_time
print(f"FPS: {fps}") # FPS
```
今天的文章 cornernet训练自己的数据集(nanodet 训练自己的数据集)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/48189.html