Google Colab的使用方法

news2025/1/13 10:33:46

什么是 Google Colab?


  • Colaboratory是一个 Google 研究项目,旨在帮助传播机器学习培训和研究成果。
  • 是一个Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行。
  • Colaboratory笔记本存储在 Google 云端硬盘中,并且可以共享。Colaboratory 可免费使用。
  • 利用Colaboratory ,可以方便的使用Keras,TensorFlow,PyTorch,OpenCV等框架进行深度学习应用的开发。

总而言之,GPU是深度学习开发的重要硬件需要,而 Google Colab相当于给我们提供了一个功能强大,使用方便,最重要是可以免费的GPU资源一段时间!如果自己的电脑配置不是很好,可以免费使用一下这个上面的硬件资源,在训练完毕后将权重文件与训练日志下载下来,本篇博客记录一下使用方式,供以后复习使用。

Colab中支持的硬件资源(有时间限额,目前普通用户只能用T4)
在这里插入图片描述
云端训练,本地预测!(可以看出硬件很给力60000张图片的数据集只用两小时就训练了200轮)
在这里插入图片描述
在这里插入图片描述
本地查看损失!
在这里插入图片描述

注意点1:挂载硬盘到虚拟机(并上传自己的数据集)

登录上Colab之后,每个人都会被分配15G大小的硬盘(类似于百度网盘给你的空间),这里要记住,真个Colab只有这15G空间真正属于你,其余文件夹的内容不属于你。
在这里插入图片描述
这里选择的是GPU资源,以下是临时分配的一台虚拟机。
在这里插入图片描述
点击上方小图标可以把你的硬盘挂载到这台虚拟机(再次重申,只有你硬盘15G的空间属于你,一旦卸载或者退出,虚拟机会被回收,数据也会丢失)。只要15G硬盘中的数据可以保留下来!
在这里插入图片描述
挂载完之后可以使用Python脚本创建、删除、修改文件,可以使用一些简单的命令操作系统。虚拟机内的操作就跟操作我们自己的电脑很像,大家可以在网上找一下具体的使用指令。
如:解压缩指令 解压/content/data.zip到content

!unzip "/content/data.zip" -d "/content/"

进行深度学习训练,肯定需要用到数据集,如果是含有几万张图片的数据集,直接上传比乌龟的速度还慢,我们可以先在自己的电脑将数据集打包,将压缩包上传到网盘中,然后解压训练。

压缩包放在content文件夹下解压会超级快,就像在自己的电脑中解压一样!如果是放在硬盘中解压那么速度会慢上不少(并且有网络延迟可能会丢失数据,亲测太痛了),除此之外如果解压到自己的硬盘中,在进行训练时也会因为网络延迟出现读不到数据的情况。

正确的做法是先将压缩包移到虚拟机内部,然后直接在虚拟机内部解压,训练时直接读取虚拟机内的数据。(速度与准确并存)

注意点2:训练模型时突然中断

Colab还是挺良心的,一周大概能免费用12小时左右,由于他们的硬件比较高级,在训练时速度嘎嘎快。
在这里插入图片描述
原因1:数据放在了硬盘中
如果将数据集放在自己的硬盘空间内,在训练模型时从硬盘路径下读取数据集,大概率你会碰到某一份数据丢失报错的情况,并不是因为我们的数据真的丢失了,有可能因为频繁读写硬盘、网络阻塞等原因。通俗点讲就是硬盘IO与虚拟机不匹配,我猜测训练时大概率数据流向如下图所示。

在这里插入图片描述
知道原因之后改进起来就很简单了,我们直接将数据集备份一份,硬盘中放一份压缩包,在复制一份到虚拟机,然后直接在虚拟机中解压并读取其中数据。

原因2:训练时长达到限额
此时可能会遇到一个新问题,当我们并不知道大概需要训练多长时间时,有可能会因为免费使用时间达到限额而强制断开连接(今天就是被摆了一道,只差5轮就训练200轮结束,结果被强制断开连接,所有的数据都丢失了),这时就需要我们定时将较好的权重文件放进硬盘中。由于目前阶段比较忙,没有手动去实现,这里提供一下思路,在训练的过程中可以每10轮或者15轮加入一段移动文件的代码,将目前所得到损失最小,准确率最高的权重文件移动到硬盘(期间做好异常处理)。
移动文件的代码可以使用下面一个库:

import shutil
shutil.copy2("/content/pth/resnet18_10.pth","/content/drive/MyDrive/Colab Notebooks/resnet/resnet_model/")

有了这个整体的流程,使用Colab训练自己的模型应该没有什么问题了。赶紧BP T4 GPU哈哈哈。训练过程中唯一的不足就是test_loss,越训练越高,以后再慢慢研究吧。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“超级品牌”已成型!解码名创优品的进阶之路

随着经济复苏,消费者心智和市场趋势逐渐发生变化,零售市场竞争步入深水区,为品牌带来了更大考验。但反过来,也令更多潜力股加速崛起。 北京时间5月16日,名创优品集团(NYSE:MNSO;HKEX: 9896)公布…

ResourceManager启动报错:Queue configuration missing child queue names for root【已解决】

Queue configuration missing child queue names for root 现象报错分析ResourceManager输出日志解决 现象 start-all.sh后缺少RM的进程 报错 查看启动日志输出文件 2023-05-23 19:28:19,863 INFO [main] resourcemanager.RMNMInfo (RMNMInfo.java:<init>(63)) - Re…

【Linux】进程控制 — 进程终止 + 进程等待

文章目录 &#x1f4d6; 前言1. 再次理解fork()函数1.1 fork()之后子进程代码和数据问题&#xff1a;1.2 fork()之后操作系统做了什么&#xff1a;1.3 为什么要写时拷贝&#xff1f;&#xff1f; 2. 进程终止2.1 main函数的返回值&#xff1a;2.2 exit() 和 _exit()&#xff1a…

以京东首页为例,设计用例框架。

以下是一个可能的京东首页的用例框架设计&#xff1a; 1. 区域划分&#xff1a; a. 顶部导航栏&#xff1a;包括京东的Logo、搜索框、登录/注册入口、购物车等。 b. 主要内容区域&#xff1a;展示各类商品、促销活动、广告位等。 c. 商品分类导航&#xff1a;提供各类…

复习之Linux下的文件管理

1.文件的建立 #touch westos-------建立空文件/修改文件的建立时间 &#xff08;1&#xff09;建立空文件 &#xff08;2&#xff09;修改文件的建立时间 ----右击点属性显示文件的建立时间 ---- 再次输入touch westos,westos文件的建立时间更新&#xff01; -----westos -t…

使用 Kafka Assistant,为您的开发加速

简要介绍 快速查看所有 Kafka 集群&#xff0c;包括Brokers、Topics和Consumers支持各种认证模式&#xff1a;PLAINTEXT、SASL_PLAINTEXT、SSL、SASL_SSL对Kafka集群进行健康检查查看分区中的消息内容并添加新消息查看消费者订阅了哪些主题&#xff0c;以及分区被分配给了哪些…

金融、医疗、教育等各场景下小程序SDK的应用

近年来&#xff0c;随着数字经济的飞速发展和移动终端的迅速普及&#xff0c;移动互联网全面覆盖&#xff0c;各类应用服务层出不穷&#xff0c;涵盖了方方面面的生活、工作和学习。 而小程序作为一种轻量级的应用形态&#xff0c;越来越受到开发者和用户的欢迎。为了满足不同行…

DataNode启动报错Failed to add storage directory [DISK]file:【已解决】

Failed to add storage directory [DISK]file hadoop启动后缺少DataNode进程报错out文件报错log文件解决 hadoop启动后缺少DataNode进程 jps查看hadoop进程缺少DataNode的进程 报错out文件 查看DataNode的out日志 DataNode启动报错 ulimit -a for user root core file size…

前k个高频单词

&#x1f495;**不要害怕前方的未知和困难&#xff0c;因为它们都是你成长的机会。不要过于在意别人的眼光和评价&#xff0c;因为唯有你的内心才知道自己真正的价值。珍惜当下&#xff0c;享受生活的点滴&#xff0c;让自己变得更加坚强、自信、成熟。**&#x1f495; &#x…

LG Gram 14 (14Z90N) 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板LG Gram 14 (14Z90N) 处理器Intel Core i5-1035G4已驱动 内存M471A1G44AB0-CWE * 2已驱动 硬盘MTFDHBA512TDV-1AZ1AABYY已驱动 显卡Intel Iris …

Axel – 用于 Linux 的命令行文件下载加速器

动动发财的小手&#xff0c;点个赞吧&#xff01; 如果您是那种喜欢下载和试用多个 Linux 发行版的人&#xff0c;我们相信您会张开双臂欢迎一个说到做到的下载加速器——一个按照其描述进行操作的下载加速器。 在本指南[1]中&#xff0c;我们将向您介绍 Axel&#xff0c;这是一…

由浅入深Dubbo核心源码剖析高可用集群

目录 1 服务集群的概述1.1 概述1.2 调用过程1.3 组件介绍 2 集群容错机制2.1 内置集群容错策略2.2 集群容错调优2.3 源码分析 3 集群负载均衡策略3.1 负载均衡的主要作用3.2 内置的负载均衡策略3.3 负载均衡总结 4 服务治理4.1 服务治理的概述4.2 执行过程4.3 服务治理功能 1 服…

由浅入深Dubbo核心源码剖析服务暴露与发现

目录 1 概述2 Spring中自定义Schema2.1 案例使用2.2 dubbo中的相关对象 3 服务暴露机制3.1 术语解释3.2 流程机制3.3 源码分析3.4 总结 4 服务发现4.1 服务发现流程4.2 源码分析4.3 总结 1 概述 dubbo是一个简单易用的RPC框架&#xff0c;通过简单的提供者&#xff0c;消费者配…

《深入理解Java虚拟机》Java虚拟机的监控及诊断工具相关命令行

《深入理解Java虚拟机》Java虚拟机的监控及诊断工具相关命令行 1.jps 查看当前系统正在运行的java进程 相关参数 -l 打印模块名以及包名 -v 打印虚拟机相关参数 -m 打印传给主类的参数 -mlv 以上内容都打印 2.jstat 打印目标 Java 进程的性能数据 -gc 打印gc回收相关信息…

基于ResNet-18实现Cifar-10图像分类

目录 1、作者介绍2、数据集介绍2.1Cifar-10数据集介绍&#xff1a; 3、ResNet网络介绍3.1Residual Network残差网络3.2ResNet18网络结构 4、代码复现及实验结果4.1训练代码4.2测试代码4.3实验结果 1、作者介绍 安耀辉&#xff0c;男&#xff0c;西安工程大学电子信息学院&…

144 Tops,特斯拉如何低成本实现了城市NOA?

作者 | 树人 编辑 | 德新 根据特斯拉2022年Q4的财务文件披露&#xff1a;FSD Beta已有将近40万用户。 这是目前全世界部署规模最大的城市NOA系统。 而特斯拉实现这样一套系统&#xff0c;在车端几乎仅用了8个摄像头和144 Tops算力的FSD计算平台。这种性能压榨和成本控制能力让…

2023年内网穿透常用的几个工具

作为一名开发者&#xff0c;先给大家普及一下什么是内网&#xff0c;什么是外网。 所谓内网就是内部建立的局域网络或办公网络。比如一家公司或一个家庭有多台计算机&#xff0c;他们利用不同网络布局将这一台或多台计算机或其它设备连接起来构成一个局部的办公或者资源共享网…

这可能是最全面的Java面试八股文了

Java的特点 Java是一门面向对象的编程语言。面向对象和面向过程的区别参考下一个问题。 Java具有平台独立性和移植性。 Java有一句口号&#xff1a;Write once, run anywhere&#xff0c;一次编写、到处运行。这也是Java的魅力所在。而实现这种特性的正是Java虚拟机JVM。已编…

2024王道数据结构考研丨第五篇:树、图

2024王道数据结构考研笔记专栏将持续更新&#xff0c;欢迎 点此 收藏&#xff0c;共同交流学习… 文章目录 第五章&#xff1a;树5.1树的基本概念5.1.1树的定义5.1.2基本术语5.1.3树的性质 5.2二叉树的概念5.2.1 二叉树的定义与特性5.2.2几种特殊的二叉树5.2.3二叉树的存储结构…

2022级云曦实验室考试(一)reverse

一.Reverse 打开后是个rar压缩包&#xff0c;解压后 发现这玩意儿&#xff0c;我也不知道是个啥&#xff0c;之前没做过这类题 浅搜一下 啊&#xff0c;看不懂 用一下自己的歪办法 用txt打开看看有没有啥&#xff1f; 发现两个里面都有相同的flag&#xff0c;改成正确格式&…