用Kaggle的GPU训练自己的yolov5模型

很不专业的经验分享,有问题欢迎大家批评指正和讨论分享

一、创建并登录Kaggle账户

1.登录kaggle官网:https://www.kaggle.com/#

2.点击register,用国内邮箱登录即可

 3.验证手机号:点开个人设置->Phone verification(我这里是已经验证过了)

如果不验证手机号,无法使用Kaggle里的GPU

PS:中国手机号就可以,但手机号验证需要科学上网,不然刷不出来人机验证,也发送不了验证码

二、修改yolov5

参考这个:

全流程打通!YOLOV5标注&训练&部署:Windows/Linux/Jetson Nano-CSDN博客

三、创建项目

1.创建Dataset

左上角+号

将yolov5文件夹拖入或选择文件

2.创建Notebook

Notebook中编程模式同Jupyter,如下图,想要运行代码块可以按Shift+Enter

在右边Input里点击+Add Input

添加有的Dataset,当右下交的+号变成黑色,放上去显示Remove,那么Dataset就是添加成功了

四、在Kaggle GPU中运行

1.打开GPU(一定要一直开着,不然换了加速器之前那些就都没有了)

2.打开Output文件

cd /kaggle/working

3.复制dataset

cp -r /kaggle/input/yolov5/yolov5 yolov5

意思是把kaggle/input/yolov5下的yolov5文件 复制到 当前位置(kaggle/working/) 命名为yolov5,大家要根据自己的文件修改

4.进入yolov5

cd yolov5

5.运行训练文件(根据上文参考链接创建的)

!python train_people.py

6.成功!

7.导出结果

因为Kaggle对于Output只能下载文件不能下载文件夹,所以可以先进行一个压缩

import os
import zipfile
import datetime

def file2zip(packagePath, zipPath):
    '''
  :param packagePath: 文件夹路径
  :param zipPath: 压缩包路径
  :return:
  '''
    zip = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)
    for path, dirNames, fileNames in os.walk(packagePath):
        fpath = path.replace(packagePath, '')
        for name in fileNames:
            fullName = os.path.join(path, name)
            name = fpath + '\\' + name
            zip.write(fullName, name)
    zip.close()


if __name__ == "__main__":
    # 文件夹路径
    packagePath = '/kaggle/working/battery3'
    zipPath = '/kaggle/working/finaloutput.zip'
    if os.path.exists(zipPath):
        os.remove(zipPath)
    file2zip(packagePath, zipPath)
    print("打包完成")
    print(datetime.datetime.utcnow())

打包成功后,右键三个小圆点More actions, 下载就可以

五、还有一个更简单的方法(来自无所不能的同学)

1.在yolov5文件夹中新建一个新的datasets,内容如图(我这个是识别电池)

bt.yaml文件如图:

path: datasets/battery  #训练数据集的路径
train: images/train # train images (relative to 'path') 
val: images/val  # val images (relative to 'path') 


#类别
names:
  0: battery

2.打开kaggle,与前面一样,进入yolov5文件夹后,输入:

!python train.py --data datasets/battery/bt.yaml --weights yolov5s.pt --epochs 300

 yml文件大家记得修改成自己的,epochs指的训练的轮数

3.查看训练结果:

打开anaconda,或者在pycharm中打开终端(记得要在可以运行的环境中)

输入:

python detect.py --weights runs/train/exp3/weights/best.pt

PS: detect.py 默认看的是data/images中的图片(没错就是公交车和生气的裁判),可以将想要测试的图片放进去,也可以修改路径

4.存在了exp6中

结果还可以

 当然,这些也可以继续在kaggle中运行上述代码,提前放几张测试结果的照片就行,不然还得再上传,在这就不多做赘述了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值