Google Colab免费GPU使用教程

news2024/11/16 8:18:00

目录

    • 前言
    • 一、Google Colab介绍
    • 二、使用步骤
        • 1、创建谷歌云盘
        • 2、创建一个新的Colab Notebook
        • 3、设置免费的GPU
        • 4、挂载Google Drive
        • 5、运行代码
    • 三、防止掉线措施
    • 四、参考

前言

有时候本地跑代码可能耗时比较久,而且还会耽误你本地电脑的使用,购买云服务器又不舍得买,所以我们可以使用谷歌的免费服务器Google Colab,可以使用GPU跑代码
Google Colab官网

一、Google Colab介绍

Google Colab是一个免费的基于云端的Jupyter笔记本环境,由Google提供。它提供了一个方便的平台,使用户可以创建、分享和协作编写Python代码和机器学习模型。以下是Google Colab的主要特点和功能:

  • 免费:Google Colab是免费的,无需购买任何硬件或软件。
  • 云端运算:Google Colab使用Google的云端计算机,使用户能够在云端上运行代码,而不必担心自己的电脑性能和存储空间。
  • Jupyter笔记本:Google Colab基于Jupyter笔记本,使用户可以创建和运行Python代码,以及撰写说明文档、添加图表等。
  • GPU支持:Google Colab提供GPU加速,可加速深度学习和机器学习任务的运行。
  • Google Drive集成:Google ColabGoogle Drive集成,可以直接在Google Colab中创建和保存笔记本,并与其他用户共享。
  • 代码协作:Google Colab支持多人协作,多个用户可以同时编辑同一个笔记本,使得团队合作更加高效。
  • 代码分享:Google Colab可以将笔记本转换为可分享的HTMLPDF格式,方便与他人分享代码和结果。

总之,Google Colab是一个方便、免费、强大的云端Jupyter笔记本环境,非常适合Python编程和机器学习任务。

二、使用步骤

1、创建谷歌云盘

Google Colab 支持挂载 Google Drive,方便存储文件。因此,我们直接使用 Google Drive 登录,以便更轻松地进行文件存储。
如果不挂载云盘,上传到Google Colab 的文件可能会丢失

Google Driver官网

首先我们新建一个文件夹
在这里插入图片描述
在这里插入图片描述
我们在新创建的文件中上传自己的代码

在这里插入图片描述

2、创建一个新的Colab Notebook

方式一:在文件夹内的空白处右键 -> 更多 -> Colaboratory

方式二:点击 新建 -> More ->Google Colaboratory
在这里插入图片描述
创建完就出现下边的界面,点击文件名可以重命名文件
在这里插入图片描述

3、设置免费的GPU

在这里插入图片描述

在这里插入图片描述
查看自己是否处于GPU环境,只需要运行下列代码即可

import tensorflow as tf 
tf.test.gpu_device_name()

这里我们可以看到,给我们分配了GPU在这里插入图片描述

4、挂载Google Drive

其实就是让这个notebook可以访问到你的谷歌云盘,运行以下代码,会出现一个授权链接。

from google.colab import drive
import os
drive.mount("/content/drive", force_remount=True)

你授权完毕之后,会发现目录多了一个drive,里面有我们上传的文件在这里插入图片描述

import shutil
oldpath = '/content/drive/MyDrive/erl'
newpath = '/content/erl'
shutil.copytree(oldpath,newpath)
5、运行代码

我们可以切换到我们的运行文件目录下,我这里是main.py

在这里插入图片描述

运行下方代码开始训练

import os
path='/content/drive/MyDrive/erl/ConvLab-2-master/convlab2/policy/erl_dqn'
os.chdir(path)
!python main.py

注意: python main.py前面一定要加

如果缺少依赖包,我们可以使用以下方式安装依赖包

!pip install  XXXX
!apt-get install  XXX

相当于运行Linux命令

三、防止掉线措施

Google Colab 可以免费使用GPU、TPU等计算资源进行人工智能计算,但计算页面隔一段时间无操作之后就会自动掉线,之前训练的数据都会丢失。
防止掉线措施如下:
方式一:
参考
听说可以通过自动点击来减少掉线频率。
Google colab的按F12,点击网页的控制台Console,粘贴如下代码回车即可:

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

方式二:

安装Auto reconnect colab,只要浏览器打开页面有网,就可以一直给你连接上
这个我没有试过,可以自己尝试

四、参考

教程一
教程二
教程三

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

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

相关文章

智能矩阵系统解决的问题?

智能矩阵系统可以解决的问题多种多样,它主要通过人工智能技术应用于矩阵系统,解决一些传统方法难以处理的问题。 以下是一些常见的应用场景: 1. 数据管理:智能矩阵系统可以有效地管理大量的数据,包括数据的存储、检索…

【已解决】Unity 使用NPOI 写word文档报错:System.TypeLoadException:……0.86.0.518

报错显示 System.TypeLoadException: Could not resolve type with token 01000080 from typeref (expected class ICSharpCode.SharpZipLib.Zip.UseZip64 in assembly ICSharpCode.SharpZipLib, Version0.86.0.518, Cultureneutral, PublicKeyToken1b03e6acf1164f73) at NPOI.…

C++初阶--类与对象(1)

文章目录 类的引入类的定义访问限定符类成员的注意事项变量名的冲突 类的实例化类成员的声明与定义类的大小this指针特性 总结 类的引入 在c语言中,我们会这样写一个栈: struct Stack {int* a;int top;int capacity; };void StackInit(struct Stack* p…

利用Bootstrap的分页组件实现分页效果

在网页开发过程中&#xff0c;如果碰到内容过多的情况&#xff0c;一般都会使用分页处理。 在<ul>元素上添加pagination类&#xff0c;在<li>元素上添加page-item类&#xff0c;在超链接中添加 page-link类&#xff0c;即可实现一个简单的分页。 目录 00-基础知识…

STM32项目工程的搭建

视频连接&#xff1a; [2-1]--入门 新建工程 及 工程搭建 -------------_哔哩哔哩_bilibili 1.STM32开发方式 1.标志库 表示直接调用已经写好的程序&#xff0c;通过类似于函数调用直接使用即可。 2.HAL库 程序员自己手动的操作寄存器进行编程 2.工程模板 3.搭建工程的步骤 1…

微信小程序OA会议系统数据交互

前言 经过我们所写的上一文章&#xff1a;微信小程序会议OA系统其他页面-CSDN博客 在我们的是基础面板上面&#xff0c;可以看到出来我们的数据是死数据&#xff0c;今天我们就完善我们的是数据 后台 在我们去完成项目之前我们要把我们的项目后台准备好资源我放在我资源中&…

Memcached和Memcache安装(64位win10)

Memcached和Memcache安装&#xff08;64位win10&#xff09; 一、Memcached和Memcache的区别&#xff1a;   网上关于Memcached和Memcache的区别的理解众说纷纭&#xff0c;我个人的理解是&#xff1a;   Memcached是一个内存缓存系统&#xff0c;而Memcache是php的一个扩展…

虚假KeePass网站利用Google Ads和Punycode推送恶意软件

导语 近日&#xff0c;一起利用Google Ads和Punycode进行恶意软件传播的事件引起了广泛关注。该事件利用虚假KeePass下载网站&#xff0c;通过Punycode编码伪装成KeePass密码管理器的官方域名&#xff0c;并在Google Ads广告中推广&#xff0c;诱导用户下载恶意软件。这种新型的…

C++初阶(四)类和对象

文章目录 一、面向过程和面向对象初步认识二、类的引入三、类的定义1、类的概述2、类的两种定义3、成员变量命名规则的建议 四、类的访问限定符及封装1、访问限定符2、封装 五、类的作用域六、类的实例化七、类对象模型1、如何计算类对象的大小2、 类对象的存储方式猜测3、 验证…

【rust/树莓派】使用rppalembedded-graphics控制st7789 LCD屏幕

说在前面 树莓派版本&#xff1a;4bLCD模块&#xff1a;ST7789V2 240*280 LCD树莓派系统&#xff1a;Linux raspberrypi 5.15.76-v8 #1597 SMP aarch64 GNU/Linuxrust版本&#xff1a;rustc 1.73.0 模块详情 某雪的1.69inch LCD模块&#xff0c;包含杜邦线 准备工作 树莓派…

JavaSE编程题目练习(一)

博客昵称&#xff1a;架构师Cool 最喜欢的座右铭&#xff1a;一以贯之的努力&#xff0c;不得懈怠的人生。 作者简介&#xff1a;一名Coder&#xff0c;欢迎关注小弟&#xff01; 博主小留言&#xff1a;哈喽&#xff01;各位CSDN的uu们&#xff0c;我是你的小弟Cool&#xff0…

Rust 中的String与所有权机制

文章目录 一、string二、所有权2.1 所有权与作用域2.2 对所有权的操作2.2.1 转移2.2.3 拷贝2.2.3 传递 2.3 引用2.3.1 借用2.3.2 可变引用 一、string 之前学习过 Rust 只有几种基础的数据类型&#xff0c;但是没有常用的字符串也就是String&#xff0c;今天来学习一下 String…

Opensuse Tumbleweed快速部署K8S-1.28.2

** #查看你的网卡信息 nmcli device show#设置你的静态IP nmcli connection modify ens32 ipv4.method manual \ipv4.addresses 172.16.20.214/24 ipv4.gateway 172.16.20.1 \ipv4.dns 114.114.114.114#重启网卡生效 nmcli c down ens32 && nmcli c up ens32#添加DNS …

Java IDEA java.lang.IllegalStateException: Failed to introspect Class报错原因和解决办法

Java IDEA java.lang.IllegalStateException: Failed to introspect Class报错原因和解决办法 1. 报错如下&#xff1a;2. 解决 在maven右侧查看Dependencies冲突参考 1. 报错如下&#xff1a; 发现是因为 org.redisson:redisson.spring.boot.starter 3.10.6这个包引入不进来导…

如何使用 Canvas和HTML5中的SVG画一个矩形?

使用Canvas和SVG分别绘制矩形的方法如下&#xff1a; Canvas绘制矩形&#xff1a; <canvas id"canvas" width"200" height"200"></canvas><script>const canvas document.getElementById(canvas);const ctx canvas.getCon…

python随手小练6

1、汉诺塔 汉诺塔&#xff1a;汉诺塔&#xff08;又称河内塔&#xff09;问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子&#xff0c;在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放…

燃气管网智能巡检系统

燃气管网维护工作繁杂&#xff0c;涉及人员、资源、巡检等&#xff0c;稍一疏忽就会使我们的工作陷入被动&#xff0c;可见启用燃气管网智能巡检系统是很有必要的。 燃气管网智能巡检系统综合管理智能平台&#xff0c;可对燃气管网数据的统一管理&#xff0c;实现对日常巡查、养…

【Arduino TFT】基于 ESP32S3 S7789 240x240 TFT实现的龙猫太空人天气时钟

忘记过去&#xff0c;超越自己 ❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-10-21 ❤️❤️ 本篇更新记录 2023-10-21 ❤️&#x1f389; 欢迎关注 &#x1f50e;点赞 &#x1f44d;收藏 ⭐️留言&#x1f4dd;&#x1f64…

「2021年TYWZ普及模拟题」多边形 待定题解

文章目录 题目描述输入格式输出格式样例样例输入 1样例输出 1样例输入 2样例输出 2 数据范围与提示前置知识思路与部分实现完整代码文章小结 题目描述 一个凸多边形具有非常多优秀的性质&#xff0c;它的任意内角小于或等于 18 0 。 180^。 180。 。 小 F 将 n n n 条边交给…

Linux内存管理(1):memblock

一、memblock分配器初始化 在内核初始化过程中也需要分配内存,使用的页帧分配器叫memblock(早期的内核版本使用BootMem,新版本内核已不再用)。 memblock是系统启动过程中的一个中间阶段的内存管理, 负责在系统上电到内核内存管理模型初始化之前这段时间的物理内存分配、预留…