云计算百科
云计算领域专业知识百科平台

AutoDL上租服务器后,如何上传数据和训练模型(以yolov8举例)

该文章不使用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中展示结果或者添加图形化界面,把训练好的模型下载到本地使用就行。

赞(0)
未经允许不得转载:网硕互联帮助中心 » AutoDL上租服务器后,如何上传数据和训练模型(以yolov8举例)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!