用Colab训练机器学习的经验以及踩坑的那些事

您所在的位置:网站首页 流量达到限额怎么重新开启 用Colab训练机器学习的经验以及踩坑的那些事

用Colab训练机器学习的经验以及踩坑的那些事

2024-07-16 15:50| 来源: 网络整理| 查看: 265

首先

因为colab是谷歌旗下的云计算,所以如果没有梯子的小伙伴在点完赞后就可以退出去了(不会吧,不会吧,这年头还有人没有梯子/doge)

colab的直达车https://colab.research.google.com/notebooks/intro.ipynb

这里先讲用colab:

一.谷歌云盘

在谷歌云盘上上传你的训练集和代码。

二.打开colab

你可以点击左上角的新建或者直接右键空白处。在这里插入图片描述

在这里插入图片描述

然后我们就可以得到一个空白的colab在这里插入图片描述

三.登录 from google.colab import drive drive.mount("/content/drive")

在这里插入图片描述 在新添加的代码块中运行,然后点链接,经过一系列授权之后将授权码复制进下面的小框框然后回车,这样你的colab就可以访问谷歌云盘上的文件。 在这里插入图片描述

开始训练 import os path="/content/drive/My Drive/U2_net" os.chdir(path) !python Ra_trian.py //注意colab中执行命令前要加!

在这里插入图片描述

其中My Drive 就是谷歌云盘,U2_net就是你们要改的地方。。。

注意事项 1.colab 跑的时间是有限制的!!!

24小时刷新一次,什么时候开始用,什么时候算刷新的起点。 谷歌云盘可以使用GPU ,TPU,CPU(默认)跑代码。似乎三种跑起来的流量是不同的。 你可以购买谷歌的colab Pro 。这样你的流量会比平常多,而且GPU的算力也比较强。但是请注意,不是无限流量。 用CPU好像可以挂12h。Pro 的CPU好像可以挂24h。

请注意,只要这里不是显示“”重新连接”,那就说明你现在在使用colab,会消耗你的流量,建议直接通过管理会话终止。不太清楚直接关掉会不会断掉连接(好像也会接着连一会儿。。。如果有人亲测了可以告诉我一下。。) 在这里插入图片描述 在这里插入图片描述

2.colab是有显存限制的,下图是我开了colab Pro的。。。

在这里插入图片描述 如果报错显示显存不足,你可以通过调整batch_size来降低你显存的需求量。。 显存不足:

明显的提示你CUDA memery 不足不明显的提示,运行直接终止,然后出现^c 3.为什么colab跑的这么慢?

一般情况下,colab跑神经网络的第一个epoch都需要加载数据集,只要等第一个epoch过了之后,就开始快了。

4.广告时间:

有的人要用colab Pro,但是并没有购买的渠道,我是在某宝上进行购买。 这里安利一个对我很好的学长,我一开始也不知道是我的学长,是他从我的收获地址中认出来,主动给我免了代充费。 这些只是为了体现这个老板不会坑你们的。。。 这里给他打个广告嘿嘿

购买之前最好先询问一下店家!! 安妮代购小店 1.0嘻yVsQXc1RYDA啊 https://m.tb.cn/h.4LDm2LN Colab Pro升级月费会员 谷歌云盘扩容订阅 google one colabpro

在这里插入图片描述

那些踩过的坑

不知道是不是网络的问题,在上传数据集的时候,图片莫名其妙的会重复。。 但是谷歌云盘竟然支持相同的名字,所以不能直接通过搜索(1)的名字后缀来删除。 应该(1)中 的小括号为中文,所以在读取图片的时候读取不到,但是也不会出现没有这个文件的报错,可能会出现Nantype的报错。 最后写了一个脚本来删除。。

import cv2 import os import glob img_dir = os.path.join(os.getcwd(), 'test' + os.sep) lbl_dir = os.path.join(os.getcwd(), 'mask' + os.sep) img_name_list = glob.glob(img_dir + '*' + '.png') print('img_name_list', len(img_name_list)) lbl_name_list = [] for img_path in img_name_list: name = img_path.split(os.sep)[-1] # 文件名,包括后缀 lbl_name_list.append(lbl_dir + name) # 获得储存文件地址及名称的列表 for i in range(len(lbl_name_list)): if not os.path.exists(lbl_name_list[i]): print(lbl_name_list[i].split(os.sep)[-1]) os.remove(img_name_list[i])

你也可尝试上传压缩后的文件,然后解压,但是解压后的文件好像也有问题。。 好像谷歌云盘解压的文件数还有限制。。

解决方案1

听说可以通过华为的skpt文件好像可以传的更快,不会出现上述问题,什么图片重复啊。并且可以把skpt的数据集传到colab上,跑第一代的时候不需要花费数据加载时间。

更新:2022年2月26日12:14:16

解决方案2

把数据集放在云盘外的文件夹可以便于数据级加载: 本来加载train data要7个小时,改了之后就正常了。 解决方式,云盘下放着文件及相关的压缩包。每次运行的时候都进行解压,如果要修改的话就修改云盘下的文件。然后用固定脚本的方式进行修改压缩后的运行文件。 在这里插入图片描述

!unrar x "/content/drive/MyDrive/root.rar" "/" path='/content/drive/MyDrive/root.rar' import shutil import os # # 把olddir拷贝一份newdir path='/content/drive/MyDrive/root/YOLOv5-Lite/' os.chdir(path) !pwd !rm /root/YOLOv5-Lite/train.py !rm /root/YOLOv5-Lite/utils/datasets.py !rm -rf /root/YOLOv5-Lite/data/bdd/labels os.system("cp train.py /root/YOLOv5-Lite/train.py") os.system("cp test.py /root/YOLOv5-Lite/test.py") os.system("cp data/bdd/instances_val2017.json /root/YOLOv5-Lite/data/bdd/instances_val2017.json") os.system("cp utils/datasets.py /root/YOLOv5-Lite/utils/datasets.py") os.rename('/root/YOLOv5-Lite/data/bdd/images/test','/root/YOLOv5-Lite/data/bdd/images/test_mini') os.rename('/root/YOLOv5-Lite/data/bdd/images/val','/root/YOLOv5-Lite/data/bdd/images/val_mini') os.rename('/root/YOLOv5-Lite/data/bdd/images/train','/root/YOLOv5-Lite/data/bdd/images/train_mini') os.rename('/root/YOLOv5-Lite/data/bdd/images/test1','/root/YOLOv5-Lite/data/bdd/images/test') os.rename('/root/YOLOv5-Lite/data/bdd/images/train1','/root/YOLOv5-Lite/data/bdd/images/train') os.rename('/root/YOLOv5-Lite/data/bdd/images/val1','/root/YOLOv5-Lite/data/bdd/images/val') !unrar x '/content/drive/MyDrive/root/YOLOv5-Lite/data/bdd/labels.rar' '/root/YOLOv5-Lite/data/bdd/' 解决方案3

防止断连 保持长时间的固定点击:

function ClickConnect(){ console.log("Working"); document.querySelector("colab-toolbar-button#connect").click() } setInterval(ClickConnect,60000)

Ctrl+Shift+i 然后在console中输入并回车 在这里插入图片描述

希望各位可以如愿的跑colab

在这里插入图片描述

一些解决方式是参考其他的人做法或者从其他人的讲解得到启发,由于时间过久找不到原文,就不进行参考链接的展示。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3