该文章不使用pycharm和vscode,在Jupyter上直接训练,训练好后的模型可以下载到本地中再打开pycharm使用,更加方便!!!
需要下载的软件只有FileZilla
目录
一、在FileZilla中上传项目文件
二、打开JupyterLab训练
1、环境
2、数据集yaml文件编写
3、训练脚本编写
4、训练模型
一、在FileZilla中上传项目文件
安装后启动界面为:
复制自己实例的SSH指令,比如:ssh -p 50762 root@region-2.autodl.com
在ssh -p 50762 root@region-2.autodl.com命令中, 各个参数的含义为:
用户名:root
HOST: region-2.autodl.com
端口号:50762
从[File] – [Site Manager]打开下面的弹窗,填写SSH中的用户名、HOST、端口号和密码
注意:要选择SFTP协议。点击Connect(连接),点ok可能会出现没有服务器情况,一定要点连接
一般习惯把文件上传到左边的/root/autodl-tmp中,等待上传完成,当列队中的文件没有的时候表示上传完成。
二、打开JupyterLab训练
1、环境
点击终端
我租用的服务器是RTX 4090,选择的镜像如下图:
里面已经有相关的环境了,比如torch、torchvision等,可以在终端通过conda list查看。
如果是训练yolo的模型,不需要运行第三方脚本安装相关依赖了,比如第三方requirements.txt,只需要运行下面代码:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ultralytics==8.0.144 dill
等待安装结束。
2、数据集yaml文件编写
我们上传的文件在autodl-tmp中
我的数据集:
编辑数据集的data.yaml文件:
注意:因为data.yaml中训练集和验证集图片路径一直到/images,而不是到/train或者/val,它训练的时候会自动检测到images同级下的含有标注txt文件的labels文件夹,所以这里的文件名称一定要是labels!!!不然检测不到。
3、训练脚本编写
编辑训练脚本,代码:
# -*- coding:utf-8 -*-
from ultralytics import YOLO
import os
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
def main():
mode = "train"
# 可以用yolov8.yaml文件,也可以用官方训练好的权重文件.pt结尾
model_path = 'weights/yolov8l.pt'
data_path = "data.yaml" #相对路径
epoch = 150
batch = 16 #本地训练改为 1 或 4
workers = 8 #本地改为0
device = ""
model = YOLO(model_path)
if mode == "train":
model.train(data=data_path, epochs=epoch, batch=batch, workers=workers, device=device) # 训练模型
else:
model.val(data=data_path, batch=batch, workers=workers, device=device)
if __name__ == '__main__':
main()
4、训练模型
打开终端,cd到项目的文件下
cd autodl-tmp/
cd DroneViewDetection_v8/ #到项目文件下
运行训练脚本,开始训练
python train_v8.py #训练脚本文件名
等待训练结束就好了,训练好的一些过程数据和最终模型、最好模型会保存到runs/detect下
同时FileZilla中也会同步更新,最后如果需要在pycharm中展示结果或者添加图形化界面,把训练好的模型下载到本地使用就行。
评论前必须登录!
注册