本地机器 Google Colab 通过 SSH 连接远程服务器

news2024/11/25 22:55:39

1. 情景描述

我自己笔记本配置太垃圾,想要用学校的深度学习服务器在Colab上跑程序。

2. 环境描述

远程服务器 (Ubuntu):

  1. 用pip安装 jupyter notebook 以及 jupyter_http_over_ws 拓展包 (前提有python环境和pip)
pip install notebook
pip install jupyter_http_over_ws
jupyter serverextension enable --py jupyter_http_over_ws
  1. 安装并开启 ssh 服务
sudo apt-get install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

查看ssh服务是否正常运行:

sudo systemctl status ssh
  1. 需要一个账号,和IP地址
    假设账号名称是username。
    IP 地址可以通过 ifconfig 查到,这里假设为 192.168.0.1。

本地机器(笔记本):

  1. SSH 连接工具
    Mac OS 自带 SSH 连接, 只需要在terminal输入 ssh username@192.168.0.1 这里的账号和IP换成你自己的信息。

Windows SSH 的连接工具有很多,Putty, Xshell, Bitvise,这里就不赘述了。能够用SSH连上远程服务器就行。

  1. Google Colab
    能运行就行

3. 对接!

1. 在远程服务器上打开jupyter notebook, 并允许Colab 进行访问。

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com'  --port=8888  --NotebookApp.port_retries=0

运行成功后,命令行会生成两个链接,格式类似于:

http://localhost:8888/?token=abc123

复制这个连接,之后要用。

2. 在本地机器上SSH连接服务器

# 将 <PORT> 替换为在上述步骤中选择的端口号 8888
# 将 <REMOTE_USER> 替换为远程服务器用户名 username
# 将 <REMOTE_HOST> 替换为您的远程服务器地址 192.168.0.1

ssh -L 8888:localhost:<PORT> <REMOTE_USER>@<REMOTE_HOST>

在我们的例子中即为

ssh -L 8888:localhost:8888 username@192.168.0.1

3. 打开Colab

选择local runtime.
在这里插入图片描述
输入第一步在远程服务器上生成的链接 http://localhost:8888/?token=abc123。(这里讨了个巧,将两台机器的端口设成一致的,就不用更换url了)

这时应该可以在本地colab使用远程服务器运行程序了。

REFERENCE

[1] https://www.cyberciti.biz/faq/ubuntu-linux-install-openssh-server/

[2] https://docs.anaconda.com/anaconda/user-guide/tasks/remote-jupyter-notebook/

[3] https://research.google.com/colaboratory/local-runtimes.html

以上。

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

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

相关文章

Android设计模式详解之外观模式

前言 外观模式也称门面模式&#xff0c;在开发过程中的运用频率非常高&#xff1b; 定义&#xff1a;要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行&#xff1b;门面模式提供一个高层次的接口&#xff0c;使得子系统更易于使用&#xff1b; 使用场景&#…

6.3 Docker

目录 6.3.1 Docker概述 6.3.1.1 什么是Docker 6.3.1.2 Docker组成 6.3.2 Docker的安装 6.3.2.1 下载Docker依赖的环境 6.3.2.2 指定Docker镜像源 6.3.2.3 安装Docker 6.3.2.4 启动Docker并测试 6.3.3 Docker的中央仓库 6.3.4 Docker操作 6.3.4.1 镜像操作 6.3.4.…

从url获取参数并转为对象

const getParameters URL > JSON.parse({"${decodeURI(URL.split("?")[1]).replace(/"/g, \\").replace(/&/g, ",").replace(//g, ":")}"})getParameters("https://www.google.com.hk/search?qjsmd&neww…

【深度学习】李宏毅2021/2022春深度学习课程笔记 - Self-supervised Learning(自监督式学习)

文章目录一、芝麻街与进击的巨人二、Self-supervised Learning三、BERT3.1 Masking Input3.2 Next Sentence Prediction3.3 GLUE 任务集3.4 How to use BERT3.4.1 Case13.4.2 Case23.4.3 Case33.4.4 Case43.5 Training BERT is challenging!3.6 Pre-Training a Seq2Seq Model3.…

ERP是什么意思?

“ERP到底是一个怎么样的存在&#xff1f;为何有那么多的方面&#xff1f;如何学习&#xff1f;” 本文从ERP起源讲起&#xff0c;结合制造业离散制造与流程制造的ERP系统区别&#xff0c;详解ERP概念。 文章有点长&#xff0c;但如果你耐心看完&#xff0c;相信你会对ERP有一…

elasticsearch 基本语法(常见的RESTFUL API)

一 . ES的基本语法 文章目录一 . ES的基本语法1.Query String 语法2.Query DSL 语法3. Full-text queries 全文检索4. Phrase search 短语搜索5.Query and filter 查询和过滤6. Compound queries 查询7.HighLight search(高亮显示)测试数据内容&#xff1a;PUT /product/_doc/1…

科研试剂 Dextran-DBCO;葡聚糖-二苯并环辛烯;生物可降解高分子聚合物

DBCO修饰的葡聚糖聚 Dextran-DBCO 葡聚糖-二苯并环辛烯 名称&#xff1a;DBCO修饰葡聚糖 英文名称&#xff1a;Dextran-DBCO 外观状态&#xff1a;白色粉末 溶剂&#xff1a;DMSO等常规有机溶剂。 性状&#xff1a;基于不同的分子量&#xff0c;呈白色/类白色固体粉末&…

python爬虫(一)

一、理论 &#xff08;1&#xff09;URL管理器&#xff1a;网页之间的链接很复杂&#xff0c;a指向b&#xff0c;b指向a&#xff0c;如果不对其进行管理则可能导致重复爬取、循环爬取&#xff0c;因此单独用该模块进行管理。URL管理器有两个功能&#xff0c;分别是URL队列管理&…

神策营销云平台化应用实践

营销云是一个业务系统&#xff0c;需要贴合客户的实际业务场景&#xff0c;以平台化 分层设计撬动场景发挥价值主张。本文将详细介绍神策营销云在数字化转型浪潮中的沉淀。点击文末“阅读原文”立即观看完整版演讲回放。一、神策营销云产品理念“营销云是一个业务系统”&#…

规范有效的需求变更管理,分7步走。

1、建立需求基线 需要提前建立需求基线&#xff0c;需求基线是需求变更的依据&#xff0c;并需制定双方皆认可的需求变更流程。 需对用户需求进行明确分析&#xff0c;颗粒度越小越好。基准文件定位范围越详细&#xff0c;双方对需求越清晰&#xff0c;用户交流顺畅&#xff0c…

Go语言context包源码剖析

context包的作用 context包是在go1.7版本中引入到标准库中的 context可以用来在goroutine之间传递上下文信息&#xff0c;相同的context可以传递给运行在不同goroutine中的函数&#xff0c;上下文对于多个goroutine同时使用是安全的&#xff0c;context包定义了上下文类型&am…

两数之和【每日一题】

⭐前言⭐ ※※※大家好&#xff01;我是同学〖森〗&#xff0c;一名计算机爱好者&#xff0c;今天让我们进入刷题模式。若有错误&#xff0c;请多多指教。更多有趣的代码请移步Gitee &#x1f44d; 点赞 ⭐ 收藏 &#x1f4dd;留言 都是我创作的最大的动力&#xff01; 合抱之木…

MySQL数据库自动补全工具

MySQL数据库操作起来命令较多&#xff0c;默认无法使用tab键进行补全&#xff0c;所以可以安装一些实用的工具进行日常的操作 方式一&#xff1a;临时使用自动补全功能 mysql -u root -p --auto-rehash 方式二&#xff1a;永久使用自动补全功能 vi /etc/my.cnf [mysql] a…

Qt扫盲-QSqlDatabase理论总结

QSqlDatabase理论总结一、概述二、使用1. 连接数据库2. 数据库驱动3. 自定义数据驱动使用4. 注意事项三、常用的功能一、概述 QSqlDatabase类提供了通过连接访问数据库的接口。QSqlDatabase的一个实例表示一个数据库连接对象。该连接是通过Qt支持的数据库驱动程序来对数据库的…

再学C语言26:分支和跳转——goto语句

goto语句包括两个部分&#xff1a;goto和一个标签名称 goto point1; 为使goto语句工作&#xff0c;程序中必须包含由point1标签定位的其他语句 point1: printf("hello world! \n"); // 标签 冒号 一条语句 示例代码&#xff1a; /* test of goto */ #include &…

高一数学试题-2022年秋期末试卷

一、选择题 已知集合A{x∈N∣−2<x<52}A \{x \in \mathbf{N}| -2 < x < \frac{5}{2}\}A{x∈N∣−2<x<25​}&#xff0c;B{−2,−1,0,1,2,4}B \{-2, -1, 0, 1, 2, 4\}B{−2,−1,0,1,2,4}&#xff0c;则A∩BA \cap BA∩B A. {−1,0,1,2}\{-1, 0, 1, 2\}{−…

什么是AI预训练模型?

什么是预训练模型? 预训练 AI 模型是一种深度学习模型&#xff0c;在大型数据集上进行训练以完成特定任务&#xff0c;它可以按原样使用或定制以满足多个行业的应用需求。 想象一下&#xff0c;试图教一个蹒跚学步的孩子什么是独角兽。 一个好的起点可能是展示该生物的子图像…

[NOIP2017 提高组] 奶酪(C++,并查集)

题目背景 NOIP2017 提高组 D2T1 题目描述 现有一块大奶酪&#xff0c;它的高度为 hhh&#xff0c;它的长度和宽度我们可以认为是无限大的&#xff0c;奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系&#xff0c;在坐标系中&#xff0c;奶酪的下表面…

用纯C实现单链表

前言 什么是单链表&#xff1f;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。链表的创建 需要创建一个小项目工程 创建三个文件 ⭐SListNode.h放单链表的头文件&#xff0c;函数声明 ⭐SListNode.c放单…

springcloud之Gateway服务网关

1.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…