当前位置: 首页 > article >正文

linux上用yolov8训练自己的数据集(pycharm远程连接服务器)

pycharm如何远程连接服务器,看之前的文章
首先去GitHub上下载项目地址,然后下载预训练模型放到项目主目录下

然后下载数据集,我这有个推荐的数据集下载网站,可以直接下载yolov8格式的数据集(还支持其他格式的数据集)网站地址
在这里插入图片描述
把下载好的数据集解压到yolov8的项目文件下,我建议在v8项目下新建一个文件夹,存放数据,我的是my_train

在ultralytics-main\ultralytics\cfg\models\v8下找到yolov8.yaml,修改nc
在这里插入图片描述
然后到你解压好的数据集文件夹下,你会发现有个data.yaml,没错已经帮你写好了,在这个网站下载的数据集很方便,省了很多事情
在这里插入图片描述
你只需要记住他的文件路径

然后在项目根目录下新建python文件,如果修改了模型网络结构yaml

from ultralytics import YOLO


if __name__ == '__main__':
    model_yaml = "/home/guangyao/code/yolov8/ultralytics-main/ultralytics/cfg/models/v8/yolov8x.yaml"  # 你用的是yolov8x.pt就写yolov8x.yaml,yolov8n.pt就写yolov8n.yaml
    data_yaml = "/home/guangyao/code/yolov8/ultralytics-main/my_train/People_Detection/data.yaml"
    pre_model = "/home/guangyao/code/yolov8/ultralytics-main/yolov8x.pt"

    model = YOLO(model_yaml, task='detect').load(pre_model)

    results = model.train(data=data_yaml, epochs=15, imgsz=640, batch=4, workers=2,device=(0,1))


如果没有修改网络结构

from ultralytics import YOLO


if __name__ == '__main__':

    data_yaml = "/home/guangyao/code/yolov8/ultralytics-main/my_train/People_Detection/data.yaml"
    pre_model = "/home/guangyao/code/yolov8/ultralytics-main/yolov8x.pt"

    model=YOLO(pre_model,task='detect')

    results = model.train(data=data_yaml, epochs=15, imgsz=640, batch=4, workers=2,device=(0,1))

你需要把路径改成自己的,device=(0,1)是因为我服务器上有两块显卡,一块就改成device=0,model.train还有很多参数,详情看官方文档

训练结果
在这里插入图片描述
训练完成后,你在本地可能找不到runs文件夹,因为pycharm可以通过设置自动检测本地文件变换并上传服务器,但对于服务器上新增的文件,PyCharm 没有自动检测和下载功能。远程连接进服务器发现是有runs文件夹的
在这里插入图片描述

因此,需要手动同步或通过外部工具实现自动同步。比如可以用xfpt连接服务器,下载到本地
在这里插入图片描述
验证模型,主目录新建python文件,

from ultralytics import YOLO

if __name__ == "__main__":

    pth_path = "/home/guangyao/code/yolov8/ultralytics-main/runs/detect/train2/weights/best.pt"

    model = YOLO(pth_path)  

    # Validate the model
    metrics = model.val()  # no arguments needed, dataset and settings remembered
    metrics.box.map  # map50-95
    metrics.box.map50  # map50
    metrics.box.map75  # map75
    metrics.box.maps  # a list contains map50-95 of each category

预测test,项目主目录新建python文件

from ultralytics import YOLO

if __name__ == "__main__":
    pth_path = "/home/guangyao/code/yolov8/ultralytics-main/runs/detect/train2/weights/best.pt"    # 之前训练保存的模型

    test_path = "/home/guangyao/code/yolov8/ultralytics-main/my_train/People_Detection/test/images"  # 测试集图像路径

    model = YOLO(pth_path)  # load a custom model

    # Predict with the model
    results = model(test_path, save=True, conf=0.5)  # predict on an image

在这里插入图片描述
在用xfpt连接服务器把runs文件夹传到本地进行查看
在这里插入图片描述
结果看起来也还行


http://www.kler.cn/news/305957.html

相关文章:

  • C#中的Date Time类
  • java构造器
  • Mysql 面试题总结
  • 51. 数组中的逆序对
  • 使用 Spring Boot + Vue + ElementUI 构建简易评分系统
  • 信息安全工程师(3)TCP/IP协议簇
  • 软件测试工程师面试整理-测试生命周期
  • gingivitis
  • CSS3中的@media查询
  • HTML5超酷炫的水果蔬菜在线商城网站源码系列模板1
  • 如何调试本地npm package
  • MySQL之表的约束
  • 基于springboot的校企招聘管理系统的设计与实现
  • HTTPS的加密流程:保护你的数据传输
  • 关于决策树的一些介绍(二)
  • 物联网之Arduino编程语言
  • 【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目
  • 鸿蒙 ArkUI组件一
  • 三十七、Gin完成登陆功能
  • solidity-20-sendeth
  • MySQL——数据库的高级操作(三)权限管理(2)授予权限
  • 自动驾驶自动泊车场景应用总结
  • RAII 与 std::lock_guard 在 C++ 中的应用:自动化互斥锁管理与线程安全
  • 【6大设计原则】迪米特法则:解密软件设计中的“最少知识原则”
  • 创建一个Java项目在IntelliJ IDEA中
  • 【AI绘画】Midjourney进阶:景别详解
  • 数学建模常用模型---“算法”总结(含特性和应用场景)
  • 聊天组件 Vue3-beautiful-chat
  • 【QT】实现TCP服务器,客户端之间的通信
  • 国风编曲:了解国风 民族调式 五声音阶 作/编曲思路 变化音 六声、七声调式