【Google Colab】使用手册、教程;使用 Google Colab 免费使用 python 服务器

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

1.新建 ipynb 文件

在这里插入图片描述

2.选择使用的硬件

在这里插入图片描述
在这里插入图片描述
查看GPU情况:

! /opt/bin/nvidia-smi 

在这里插入图片描述

3.连接服务器

在这里插入图片描述

4.将 ipynb 挂载到Google硬盘

首先要登录,然后切换目录。

from google.colab import drive

drive.mount("/content/drive/")

5.查看、更改当前路径

查看当前路径下所有文件

这三种都可以。

%ls
!ls
import os
os.listdir() # 这种方法可以返回每一个文件和文件夹,可以用于遍历

在这里插入图片描述

查看指定路径下所有文件

%ls “文件夹路径”

%ls "sample_data"

在这里插入图片描述

更改路径

方法一:

#更改路径
%cd "/content/drive/My Drive/datasets"
#查看当前目录 %和!其实是一样的,推荐用前者比较好,可以方便查看目录
%ls
!ls

在这里插入图片描述

方法二:

import os
os.chdir("/content/drive/My Drive/app")
%ls
#查看目录
os.listdir()

在这里插入图片描述

★★★ 开启 Colab 远程桌面 ★★★

时常需要跑数十个小时的来训练模型。奈何自己电脑的性能不过好,而谷歌 Colab 又没有GUI而且还限时。就在我一筹莫展的时候,突然发现了一个可以开启 Colab 桌面版的方法。白嫖高性能带GPU的虚拟机生活就此开始!

参考:
https://github.com/demotomohiro/remocolab
如何评价 Google Colab 提供的免费 GPU? - TIM的回答 - 知乎,这个好像不可用了

使用 TPU 进行模型训练

首先在主菜单上,单击Runtime并选择Change Runtime type。设置“TPU”为硬件加速器。下面的单元格确保您能够访问Colab上的TPU。用法和GPU一样,只是模型训练的过程中需要添加一行代码。

查看TPU是否可用

import os
assert os.environ['COLAB_TPU_ADDR'] #检测TPU

安装 pytorch 和 XLA 包:

有关xla的具体使用方法可以参阅:http://pytorch.org/xla/release/1.12/index.html

建议先用 pip list 看当前的 torch 版本,再查找对应的 cloud-tpu-client 的版本 和 torch_xla 的版本(见https://github.com/pytorch/xla/,找到 colab 对应的版本),如下:
在这里插入图片描述
比如可以选择这样版本的进行安装:

!pip install cloud-tpu-client==0.10 torch==1.11.0 https://storage.googleapis.com/tpu-pytorch/wheels/colab/torch_xla-1.11-cp37-cp37m-linux_x86_64.whl

如果你在Colab上使用GPU,运行下面的注释代码来安装GPU兼容的PyTorch wheel和依赖:

!pip install cloud-tpu-client==0.10 torch==1.11.0 https://storage.googleapis.com/tpu-pytorch/wheels/cuda/112/torch_xla-1.11-cp37-cp37m-linux_x86_64.whl --force-reinstall

device 的选择和 tensor的创建

import torch
import torch_xla
import torch_xla.core.xla_model as xm

dev = xm.xla_device()
t1 = torch.ones(3, 3, device = dev)
print(t1)

在这里插入图片描述

训练模型

注意,训练模型时在 optimizer.step() 后面要加一句 xm.mark_step()

import torch_xla.core.xla_model as xm

device = xm.xla_device()
model = MNIST().train().to(device)
loss_fn = nn.NLLLoss()
optimizer = optim.SGD(model.parameters(), lr=lr, momentum=momentum)

for data, target in train_loader:
  optimizer.zero_grad()
  data = data.to(device)
  target = target.to(device)
  output = model(data)
  loss = loss_fn(output, target)
  loss.backward()

  optimizer.step()
  xm.mark_step()  # 这一步很重要!!!否则就会一直卡着

然后就可以训练了:
在这里插入图片描述
但是速度好像还不如 GPU,甚至不如CPU。

实用功能

pip安装python包

!pip install numpy

运行python文件

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

下载文件

右键获取某个文件的链接后,可以通过 !wget 下载文件,注意保存路径。

!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P "/content/drive/My Drive/app"

读取图片

from PIL import Image
from matplotlib import pyplot as plt

%cd "/content/drive/My Drive/app/download"
%ls

image0 = Image.open("figure.png")
print(image0.mode)
#print(image0)
plt.figure()
plt.imshow(image0) 
plt.figure()

在这里插入图片描述

参考文献:

https://zhuanlan.zhihu.com/p/386162610
https://www.zhihu.com/question/266242493
https://blog.csdn.net/weixin_44498476/article/details/107700730

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

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

相关文章

超详细图解kafka生产消费流程

目录: 一条消息在kafka是如何生产的? 一条消息在kafka是如何存储的? 一条消息在kafka是如何消费的? Kafka为什么高性能? Kafka为什么高可用? 一.一条消息在kafka是如何存储的? …

【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由

文章目录目标代码0.动态地显示菜单:store1.动态注册路由2.解决刷新后摆平问题总代码本篇修改的代码文件tab.js参考视频: VUE项目,VUE项目实战,vue后台管理系统,前端面试,前端面试项目案例链接【前端】VueEl…

spring-IOC理论推导P3

1.新建一个项目。名字叫做spring-study 2.导包 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.23</version></dependency></dependencies&…

solr-7.7.3 搭建

solr-7.7.3 搭建 solr-7.7.3 搭建 文章目录solr-7.7.3 搭建一、前期准备安裝规划(一)资料下载(二)上传文件二、安裝(一)创建新用户(二)安装solr1.solr安装包解压到/opt/module2.将解压文件名修改为solr3.修改配置文件(三)分发文件&#xff08;四&#xff09;开启solr&#xff…

YOLOv5量化调优

目录 一、背景 二、模型调优 2.1 基准选取 2.1.1 官方精度数据 2.1.2 fp32bmodel的精度 2.1.3 int8bmodel精度数据 2.2 多图量化 2.3 预处理对齐&lmdb 2.4 网络图优化 2.4.1 per_channel优化 2.4.2 accuracy_opt优化 2.4.3 conv_group优化 2.4.4 总结 2.5 混…

python中使用xlrd、xlwt操作excel表格详解

最近遇到一个情景&#xff0c;就是定期生成并发送服务器使用情况报表&#xff0c;按照不同维度统计&#xff0c;涉及python对excel的操作&#xff0c;上网搜罗了一番&#xff0c;大多大同小异&#xff0c;而且不太能满足需求&#xff0c;不过经过一番对源码的"研究"&…

移动电源出口美国和欧盟需要做什么?

手机的普遍使用也带动了充电宝的发展&#xff0c;现在是智能的时代&#xff0c;手机现在是我们每个人永远不会忘记带的东西&#xff0c;当然耗电量也是很大的。所以充电宝在这时就有很大的用处了。移动电源是一种集供电和充电功能于一体的便携式充电器&#xff0c;一般由锂离子…

杰理的蓝牙芯片的key是什么?以及该如何添加key?杰理key文件原理

目录 一、简介 关于杰理芯片的key文件&#xff0c;实际上 杰理芯片特有的一种机制&#xff0c;而这种机制就是存在于杰理芯片特有的架构&#xff0c;也是杰理公司延续将近10年的特点&#xff0c;估计以后也会是这种机制。具体为什么&#xff0c;请听我娓娓道来&#xff0c;这里…

测试大咖漫谈如何搞定软件质量?

关于质量保障&#xff0c;好像已经说过太多&#xff0c;但这里还是抽象的唠叨几句。 多年的软件测试和质量保障工作让我越来越清晰的认识到&#xff1a;质量绝对不是一个环节&#xff0c;一个工种可以搞定的。比如&#xff1a; 从对语言的误用&#xff0c;到对第三方组件的误用…

第4关: 网页排序——PageRank算法

要求&#xff1a;编写实现网页数据集PageRank算法的程序&#xff0c;对网页数据集进行处理得到网页权重排序。 ####相关知识 ######PageRank算法原理 1.基本思想&#xff1a; 如果网页T存在一个指向网页A的连接&#xff0c;则表明T的所有者认为A比较重要&#xff0c;从而把T的一…

【Shell】入门Shell(基本变量、环境变量、特殊变量)

Shell脚本一、Shell脚本的执行方式1.脚本格式要求2. 编写第一个Shell脚本3.Shell脚本的常用执行方式二、Shell的变量1.Shell变量介绍2. Shell变量的定义a. 基本语法b. 快速入门(三案例)2. Shell变量的定义a. 定义变量的规则b. 将命令的返回值赋给变量三、Shell多行注释1. 用 :&…

成本优化之使用P2P的方案的需要了解的本地SDK的背后的原理

文章目录一. P2P的SDK到底做了什么二. P2P原理1. 同流分享思路2. 目前方案三. 使用P2P后产生的问题1. 有概率出现loading转菊花2. 首次打开速度明显慢于正常的通道1-2秒参考文章一. P2P的SDK到底做了什么 P2P的SDK在我们App启动后其实是开启了一个服务&#xff0c;固定端口去监…

刷题日记【第十一篇】-笔试必刷题【小易的升级之路+找出字符串中第一个只出现一次的字符+微信红包+计算字符串的编辑距离】

1.计算字符串的编辑距离【动态规划编程题】 import java.util.Scanner; import java.io.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String args[]) throws Exception{BufferedReader reader new BufferedReader(n…

【RuoYi-Vue-Plus】扩展笔记 07 - CentOS 7 集成 Prometheus + Grafana 监控初体验

文章目录前言参考目录官方文档博客参考相关书目操作步骤1、Prometheus1.1、安装 Prometheus1.2、配置 Prometheus1.3、访问控制台2、Grafana2.1、安装 Grafana2.2、访问控制台3、Grafana 大屏配置3.1、添加 Prometheus 数据源3.2、导入 dashboards 仪表板3.3、配置 node_export…

你安全吗?丨沉默的“复仇”到底是什么东西?

作者&#xff1a;黑蛋 在电视剧《你安全吗&#xff1f;》第七集中&#xff0c;因为周游的死缠烂打&#xff0c;秦淮第一次提起了他和陈默以前的事情&#xff0c;也给出了之前虎迫公司开除陈默的原因&#xff1a;陈默妈妈被诈骗团伙骗掉所有积蓄&#xff0c;又因为此事走神出了…

【附源码】计算机毕业设计JAVA计算机专业在线学习评估软件-演示录像-

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

Java抽象类

什么是抽象类&#xff1f; 如果一个类不能够表示一个准确的对象&#xff0c;则使用abstract修饰&#xff0c;表示为抽象类&#xff0c;抽象类就是为了被继承。抽象类使用abstract修饰 abstract class Animal {abstract public void eat(); }抽象类不能被实例化 public static …

第四节.常用Linux命令—文件内容查询

第四节.常用Linux命令—文件内容查询 1.查看目录内容&#xff1a;cat,more,grep 序号命令作用01cat 文件名查看文件内容&#xff0c;more创建文件&#xff0c;合并文件&#xff0c;追加文件内容等02more 文件名分屏显示文本内容03grep 搜索文本文件名搜索文本文件内容(模式查找…

快速入门Servlet

前导 1、web概述 1.1、Web与JavaWeb的概念 Web&#xff1a;全球广域网 &#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站 JavaWeb&#xff1a;是用Java技术来解决相关web互联网领域的技术栈 1.2、JavaWeb技术栈 了解JavaWeb技术栈之前&#xf…

面试官:说说React-SSR的原理

前言 所谓同构&#xff0c;简而言之就是&#xff0c;第一次访问后台服务时&#xff0c;后台直接把前端要显示的界面全部返回&#xff0c;而不是像 SPA 项目只渲染一个 <div id"root"></div> 剩下的都是靠 JavaScript 脚本去加载。这样一来可以大大减少首…