白嫖kaggle云GPU使用github大佬的源码训练自定义数据集(供深度学习无显卡者参考,无需自建dataset)

前言:

必须得记录一下了,花了4个小时的时间终于成功白嫖kaggleGPU使用YOLO v5训练了自己的数据集。作为一个没有显卡的穷逼的深度学习小白,学会如何白嫖云GPU是十分重要的,借此分享给同样没有显卡的深度学习er参考。

准备数据集

在训练模型前,需要将自定义数据集转换成使用的源码中需要的数据集格式。这里以转换成YOLO v5的数据集格式为例。

使用工具(roboflow标注转换工具)

使用工具有很多,我这里用roboflow。使用教程可以看看这个博主写的使用 roboflow 将自己的数据集转化为 YOLOv5 所需的格式。这里我假设大家已经得到了一个标注完毕的数据集。这里我用某个从kaggle上拿的数据集为例。下面是我刚从kaggle上获取的数据格式。(images是.png,annotations都是xml格式文件):

转换前数据集

通过转换后变成下面这样(这里使用roboflow分隔成了train,valid,test):

白嫖kaggle云GPU使用github大佬的源码训练自定义数据集(供深度学习无显卡者参考,无需自建dataset)_第1张图片

重点1

现在打开转换后得到的文件夹中data.yaml文件(yaml是一个类似于xml的文件,打开用记事本等等都行),我们可以看到刚转换完是下面这个样子:

train: ../train/images
val: ../valid/images
test: ../test/images

nc: 3
names: ['mask_weared_incorrect', 'with_mask', 'without_mask']

roboflow:
  workspace: project-zmadc
  project: normal-gifid
  version: 1
  license: CC BY 4.0
  url: https://universe.roboflow.com/project-zmadc/normal-gifid/dataset/1

这时候我们需要更改一下前四行,其他的不用动变成:

path: /kaggle/input/你的数据集名称/	#(源码就是从这个路径找你的数据集的!!)
train: train/images
val: valid/images
test: test/images

nc: 3
names: ['mask_weared_incorrect', 'with_mask', 'without_mask']

roboflow:
  workspace: project-zmadc
  project: normal-gifid
  version: 1
  license: CC BY 4.0
  url: https://universe.roboflow.com/project-zmadc/normal-gifid/dataset/1

进入kaggle导入相关数据和源码

导入自定义数据集

白嫖kaggle云GPU使用github大佬的源码训练自定义数据集(供深度学习无显卡者参考,无需自建dataset)_第2张图片

重点 2

必须要导入到/kaggle/working中去,其他的就算导入进去也是会变成仅可读文件

导入github大佬源码(这里以YOLO v5为例)

其实kaggle的notebook也就是一台服务器,虽然不能进入,但是我们可以通过notebook执行Linux命令行
1.先从github上找到他的压缩包下载地址
2.通过命令!wget -p /kaggle/working/ https://github.com/ultralytics/yolov5/archive/refs/heads/master.zip 下载源码到/kaggle/working/
3.通过命令!unzip -oq /kaggle/working/github.com/ultralytics/yolov5/archive/refs/heads/master.zip -d /kaggle/working解压。
4.(视情况执行)由于我们使用的是YOLO v5源码,所以我们需要下载YOLO v5相关的包,通过命令!pip install -r /kaggle/working/yolov5-master/requirements.txt
5.到这里就完事了,可以执行啦!!!
下面是执行YOLO v5的示例图:
白嫖kaggle云GPU使用github大佬的源码训练自定义数据集(供深度学习无显卡者参考,无需自建dataset)_第3张图片
白嫖kaggle云GPU使用github大佬的源码训练自定义数据集(供深度学习无显卡者参考,无需自建dataset)_第4张图片
完事后权重文件啥的就可以根据打印的提示下载了!!真香啊!!

总结

上面两个重点是容易出错的地方!!需要特别注意!!这些都是我吃了不少苦头才找到的真正简单可行的白嫖方案。当然有钱的话其实也可以去买张显卡或者租个云服务器。

若有不足之处请各位直接指正,我定会虚心学习和改正!!谢谢!!

你可能感兴趣的:(深度学习,github,人工智能)