文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pytorch怎么使用Google Colab训练神经网络深度

2023-06-30 11:49

关注

本篇内容介绍了“Pytorch怎么使用Google Colab训练神经网络深度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

什么是Google Colab

Google Colab是谷歌提供的免费Jupyter 笔记本环境,不需要什么设置与环境配置就可以使用,完全在云端运行。不影响本地的使用。

Google Colab为研究者提供一定免费的GPU,可以编写和执行代码,所有这些都可通过浏览器免费使用。同学们可以在上面轻松地跑 Tensorflow、Pytorch 等深度学习框架。

尽管Google Colab提供了一定的免费资源,但资源量是受限制的,所有 Colab 运行时都会在一段时间后重置。Colab Pro 订阅者的使用量仍会受到限制,但相比非订阅者可享有的限额要多出大约一倍。Colab Pro+ 订阅者还可获享更高的稳定性。

Pytorch怎么使用Google Colab训练神经网络深度

利用Colab进行训练

本文以YoloV4-Tiny-Pytorch版本的训练为例,进行Colab的使用演示。

一、数据集与预训练权重的上传

1、数据集的上传

Colab和Google自带的云盘联动非常好,因此我们需要首先将数据集上传云盘,这个上传的过程其实非常简单,本地先准备好数据集。

由于我所上传的库,均使用的VOC数据集,我们需要按照VOC数据集摆放好

本文直接以VOC07+12数据集为例进行演示。

Pytorch怎么使用Google Colab训练神经网络深度

JPEGImages里面存放的为图片文件,Annotations里面存放的标签文件,ImageSets里面存放的是区分验证集、训练集、测试集的txt文件。

然后将VOCdevkit文件整个进行打包。需要注意的是,不是对上面三个文件夹进行打包,而是对VOCdevkit进行打包,这样才满足数据处理的格式。

Pytorch怎么使用Google Colab训练神经网络深度

在获得打包后的压缩包后,将压缩包上传到谷歌云盘。我在谷歌云盘上新建了一个VOC_datasets文件夹存放压缩包。

Pytorch怎么使用Google Colab训练神经网络深度

此时数据集的上传已经完成。

2、预训练权重的上传

在谷歌云盘上进行文件夹的创建,首先创建Models,然后在Models里面创建yolov4-tiny-pytorch,然后在yolov4-tiny-pytorch里面创建logs和model_data。

model_data放置的是预训练文件。

logs放置的是网络训练过程中产生的权值。

Pytorch怎么使用Google Colab训练神经网络深度

由于我们这次使用的是YoloV4-Tiny-Pytorch的库,我们将它的预训练权重上传到model_data文件夹。

Pytorch怎么使用Google Colab训练神经网络深度

二、打开Colab并配置环境

1、笔记本的创建

在该步中,我们首先打开Colab的官网。

Pytorch怎么使用Google Colab训练神经网络深度

然后点击文件,创建笔记本,此时会创建一个jupyter笔记本。

Pytorch怎么使用Google Colab训练神经网络深度

创建完成后给文件改个名,好看一些。

Pytorch怎么使用Google Colab训练神经网络深度

之后点击代码执行程序,然后点击更改运行时类型,在其中硬件加速器部分选择GPU,Colab便会配置一个带有GPU的机器,此时笔记本就创建完成了。

Pytorch怎么使用Google Colab训练神经网络深度

Pytorch怎么使用Google Colab训练神经网络深度

2、环境的简单配置

colab已经集成了pytorch环境,无需专门配置pytorch,不过使用的torch版本较新。

由于我们的数据集在谷歌云盘上,所以我们还要挂载云盘。

from google.colab import drivedrive.mount('/content/gdrive')

我们将上述代码输入到笔记本中执行。将云盘挂载到服务器上。然后点击运行即可。

Pytorch怎么使用Google Colab训练神经网络深度

此时点击左边栏中,类似于文件夹的东西,就可以打开文件夹了,看看文件部署情况。gdrive就是我们配置的谷歌云盘。没有的话就去左侧刷新一下。

Pytorch怎么使用Google Colab训练神经网络深度

打开gdrive,其中有我们的数据集。

Pytorch怎么使用Google Colab训练神经网络深度

3、深度学习库的下载

这一步,我们需要完成深度学习仓库的下载,我们使用git clone指令进行下载。执行如下指令后,左边的文件中多出了yolov4-tiny-pytorch文件夹。没有的话就去左侧刷新一下。

然后我们通过了cd指令将根目录转移到了yolov4-tiny-pytorch文件夹。

!git clone https://github.com/bubbliiiing/yolov4-tiny-pytorch.git%cd yolov4-tiny-pytorch/

Pytorch怎么使用Google Colab训练神经网络深度

4、数据集的复制与解压

直接将数据集布置在谷歌云盘会导致大量的云盘数据传输,速度远不及本地文件,因此我们需要将数据集复制到本地里进行处理。

我们输入下述代码进行文件的复制与解压。首先执行的是删除指令,将原来的空VOCdevkit文件夹进行删除。然后进行解压。

由于这里使用的是zip文件所以使用的是unzip指令,如果是其它形式的压缩包,需要根据压缩包的格式进行指令的修改(请同学们百度)。执行下述指令后,可以发现,左边的文件中已经解压好了VOC数据集。没有的话就去左侧刷新一下。

!rm -rf ./VOCdevkit!cp /content/gdrive/MyDrive/VOC_datasets/VOC07+12+test.zip ./!unzip ./VOC07+12+test.zip -d ./

Pytorch怎么使用Google Colab训练神经网络深度

5、保存路径设置

本文提供的代码默认的保存路径为logs文件夹,但Colab存在不稳定的问题,运行一段时间后会发生断线。

如果将权值保存在原始根目录下的logs文件夹,发生断线网络就白训练了,浪费大量的时间。

可以将google云盘软连接到根目录下,那么即使断线,权值也保留在云盘中。

Pytorch怎么使用Google Colab训练神经网络深度

本文之前在云盘中创建了logs文件夹。将该文件夹链接过来。

!rm -rf logs!ln -s /content/gdrive/MyDrive/Models/yolov4-tiny-pytorch/logs logs

Pytorch怎么使用Google Colab训练神经网络深度

三、开始训练

1、标注文件的处理

打开voc_annotation.py文件,由于我们现在使用的直接就是VOC数据集,我们已经划分好了训练集验证集和测试集,所以我们将annotation_mode设置为2。

然后输入指令完成标签的处理,生成2007_train.txt和2007_val.txt。

!python voc_annotation.py

Pytorch怎么使用Google Colab训练神经网络深度

2、训练文件的处理

处理训练文件主要包含三个部分:

预训练文件的使用。

保存周期的设置,这个设置是因为云盘的存储空间有限,每代都保存会导致存储空间满出。

a、预训练文件的使用

首先修改model_path,指向我们上传到谷歌云盘的权值文件。在左侧文件栏中,找到models/yolov4-tiny-pytorch/model_data,复制权值路径。

Pytorch怎么使用Google Colab训练神经网络深度

替换右侧的model_path。

Pytorch怎么使用Google Colab训练神经网络深度

b、保存周期的设置

有一些仓库已经完成了更新,添加了每隔多少世代的保存参数,直接修改save_period既可,在本文中,我们将save_period设置成4,也就是每隔4代保存一次。

还没有更新的仓库只能每一代都保存了,记得偶尔去google云盘删一下。

Pytorch怎么使用Google Colab训练神经网络深度

3、开始训练

此时在笔记本里面输入:

!python train.py

即可开始训练。

Pytorch怎么使用Google Colab训练神经网络深度

断线怎么办?

1、防掉线措施

听说可以通过自动点击来减少掉线频率。

在Google colab的按F12,点击网页的控制台,粘贴如下代码:

function ConnectButton(){console.log("Connect pushed");document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click()}setInterval(ConnectButton,60000);

2、完了还是掉线呀?

没什么办法,便宜的东西必然有它的坏处。

按照步骤重新来一次,然后将预训练权重设置成logs文件夹里面训练好的权值文件即可。

除此之外,Init_epoch等参数也需要调整。

“Pytorch怎么使用Google Colab训练神经网络深度”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯