iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Pytorch怎么使用Google Colab训练神经网络深度
  • 350
分享到

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

2023-06-30 11:06:24 350人浏览 泡泡鱼
摘要

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

本篇内容介绍了“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训练神经网络深度”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Pytorch怎么使用Google Colab训练神经网络深度

本文链接: https://www.lsjlt.com/news/328511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pytorch怎么使用Google Colab训练神经网络深度
    本篇内容介绍了“Pytorch怎么使用Google Colab训练神经网络深度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是...
    99+
    2023-06-30
  • Pytorch 使用Google Colab训练神经网络深度学习
    目录学习前言什么是Google Colab相关链接利用Colab进行训练一、数据集与预训练权重的上传1、数据集的上传2、预训练权重的上传二、打开Colab并配置环境1、笔记本的创建2...
    99+
    2024-04-02
  • Pytorch深度学习经典卷积神经网络resnet模块训练
    目录前言一、resnet二、resnet网络结构三、resnet181.导包2.残差模块2.通道数翻倍残差模块3.rensnet18模块4.数据测试5.损失函数,优化器6.加载数据集...
    99+
    2024-04-02
  • Python Pytorch深度学习之神经网络
    目录一、简介二、神经网络训练过程2、通过调用net.parameters()返回模型可训练的参数3、迭代整个输入4、调用反向传播5、计算损失值6、反向传播梯度7、更新神经网络参数总结...
    99+
    2024-04-02
  • pytorch训练神经网络爆内存的解决方案
    训练的时候内存一直在增加,最后内存爆满,被迫中断。 后来换了一个电脑发现还是这样,考虑是代码的问题。 检查才发现我的代码两次存了loss,只有一个地方写的是loss.item()。...
    99+
    2024-04-02
  • python神经网络使用Keras构建RNN训练
    目录Keras中构建RNN的重要函数1、SimpleRNN2、model.train_on_batch全部代码Keras中构建RNN的重要函数 1、SimpleRNN SimpleR...
    99+
    2024-04-02
  • Python深度学习pytorch卷积神经网络LeNet
    目录LeNet模型训练不变性 在本节中,我们将介绍LeNet,它是最早发布的卷积神经网络之一。这个模型是由AT&T贝尔实验室的研究院Yann LeCun在1989年提出的(并...
    99+
    2024-04-02
  • Python深度学习pytorch神经网络块的网络之VGG
    目录VGG块VGG网络训练模型与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似,神经网络结构的设计也逐渐变得更加抽象。研究人员开始从单个神经元的角度思考问题,发展到整个层...
    99+
    2024-04-02
  • 如何在python中使用Tensorflow训练BP神经网络
    如何在python中使用Tensorflow训练BP神经网络?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用软件Python 3.8,Tensorflow2.0问题描述鸢...
    99+
    2023-06-15
  • 如何使用PHP进行神经网络和深度神经网络开发?
    随着人工智能技术的发展,神经网络和深度神经网络越来越受到关注。它们被应用于计算机视觉、自然语言处理、机器翻译等领域。如果你想学习如何使用PHP进行神经网络和深度神经网络开发,那么本文就为你介绍一些基本的知识。神经网络和深度神经网络简介神经网...
    99+
    2023-05-21
    神经网络 PHP 深度神经网络
  • 使用Pytorch怎么实现半精度浮点型网络训练
    今天就跟大家聊聊有关使用Pytorch怎么实现半精度浮点型网络训练,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。用Pytorch2.0进行半精度浮点型网络训练需要注意下问题:网络要在...
    99+
    2023-06-15
  • pytorch之深度神经网络概念全面整理
    目录1、神经网络训练过程2、基础概念2.1数学知识2.1.1导数2.1.2 梯度2.2前向传播和反向传播3、数据预处理手段3.1 归一化  (normalization)3...
    99+
    2024-04-02
  • Chainer中怎么定义和训练神经网络模型
    在Chainer中定义和训练神经网络模型的步骤如下: 定义神经网络模型:首先需要定义一个神经网络模型的类,在类中定义网络的结构和参...
    99+
    2024-04-02
  • CNTK中怎么定义和训练神经网络模型
    在CNTK中,可以使用Python或BrainScript来定义和训练神经网络模型。以下是一个简单的例子来说明如何在CNTK中定义和...
    99+
    2024-04-02
  • Python深度学习pytorch神经网络Dropout应用详解解
    目录扰动的鲁棒性实践中的dropout简洁实现扰动的鲁棒性 在之前我们讨论权重衰减(L2​正则化)时看到的那样,参数的范数也代表了一种有用的简单性度量。简单性的另一个有用...
    99+
    2024-04-02
  • Python编程pytorch深度卷积神经网络AlexNet详解
    目录 容量控制和预处理读取数据集2012年,AlexNet横空出世。它首次证明了学习到的特征可以超越手工设计的特征。它一举打破了计算机视觉研究的现状。AlexNet使用了8...
    99+
    2024-04-02
  • Python深度学习pytorch神经网络汇聚层理解
    目录最大汇聚层和平均汇聚层填充和步幅多个通道我们的机器学习任务通常会跟全局图像的问题有关(例如,“图像是否包含一只猫呢?”),所以我们最后一层的神经元应该对整个输入的全局敏感。通过逐...
    99+
    2024-04-02
  • pytorch 如何使用batch训练lstm网络
    batch的lstm # 导入相应的包 import torch import torch.nn as nn import torch.nn.functional as F im...
    99+
    2024-04-02
  • 使用Pytorch训练two-head网络的操作
    之前有写过一篇如何使用Pytorch实现two-head(多输出)模型 在那篇文章里,基本把two-head网络以及构建讲清楚了(如果不清楚请先移步至那一篇博文)。 但是我后来发现之...
    99+
    2024-04-02
  • pytorch怎么实现bp神经网络
    要在PyTorch中实现一个BP神经网络,需要遵循以下步骤: 定义神经网络结构:首先,需要定义神经网络的结构,包括输入层、隐藏层和...
    99+
    2024-04-08
    pytorch
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作