jupyter notebook远程连接服务器

news2024/10/20 1:25:49

jupyter notebook远程连接服务器

文章目录

  • jupyter notebook远程连接服务器
    • jupyter是什么
    • 配置步骤
      • 安装jupyter
      • 生成jupyter配置文件
      • 编辑jupyter配置文件
      • 设置密码
      • ssh隧道
    • 启动顺序
    • jupyter添加kernel
      • 下载ipykernel包
      • 添加kernel
    • 测试
    • 遇到的问题

jupyter是什么

Jupyter Notebook是一个交互式笔记本,支持运行 40 多种编程语言。
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。

配置步骤

安装jupyter

登录服务器后,激活虚拟环境,使用pip命令安装jupyter:
在这里插入图片描述
此时使用jupyter notebook命令打开试一下:
在这里插入图片描述
但此时在本地是打不开上面链接的,需要进行配置。

生成jupyter配置文件

使用如下命令生成jupyter配置文件:

jupyter notebook --generate-config

生成jupyter配置文件之后我们可以给jupyter设置一个密码。
在这里插入图片描述

编辑jupyter配置文件

编辑jupyter配置文件的目的是设置远程ip可访问,根据配置文件所在位置找到并打开jupyter_notebook_config.py文件,在文件中加入如下几行(使用vim编辑器):

c.NotebookApp.ip = '*'    #允许所有ip访问,很重要
c.NotebookApp.open_browser = False    #不自动打开浏览器
c.NotebookApp.port = 8888             #端口为8888,可以自己设置
c.NotebookApp.enable_mathjax = True
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True

在这里插入图片描述

在这里插入图片描述

设置密码

使用如下命令设置jupyter密码(输入jupyter密码。这个密码要自己记住,等下打开juputer浏览器时需要用到):

jupyter notebook password

在这里插入图片描述

输入的密码会保存到 .jupyter/jupyter_notebook_config.json文件中。
注意:本操作为自动设置密码,即后面不用在配置文件中单独配置密码。

ssh隧道

至此如果使用的不是内网服务器就可以使用刚才设置的密码和端口在自己电脑上的浏览器上连接jupyter了,首先在服务器上运行jupyter notebook。
如服务器地址为10.24.82.184,那么只需要在浏览器中输入10.24.82.184:8888,8888正是刚才在配置文件中设置的端口号。

如果使用的是内网服务器,需要通过跳板机连接,那么还需要设置ssh隧道,实现端口转发(映射),才能在本地访问到(这里的原理参考PyCharm+ssh跳板机+服务器中SSH隧道部分)。

在本地命令行输入如下命令即可:

ssh -N -f -L <jupyter端口>:<内网服务器ip>:<jupyter端口> -p <跳板机端口> username@<跳板机ip>

上述命令各个参数的含义如下:

  • N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
  • f 告诉SSH客户端在后台运行
  • L 做本地映射端口

在这里插入图片描述

到这里,就可以在本地打开浏览器,输入localhost:<服务器端生成的端口号>访问到jupyter notebook了。

输入前面设置的jupyter密码:
在这里插入图片描述

在这里插入图片描述

启动顺序

1、启动jupyter notebook服务
2、设置ssh隧道,即在命令行输入:

ssh -N -f -L <jupyter端口>:<内网服务器ip>:<jupyter端口> -p <跳板机端口> username@<跳板机ip>

3、在本地打开浏览器,输入localhost:<服务器端生成的端口号>访问到jupyter notebook了。

jupyter添加kernel

因为已经可以使用jupyter了,但是发现,在jupyter上运行ipynb的时候,内核只有一个默认的python3。

下载ipykernel包

在conda环境中(激活的虚拟环境中)使用如下命令下载ipykernel:

conda install ipykernel

添加kernel

首先使用conda进入想要添加的环境的虚拟环境(激活虚拟环境):

conda activate <虚拟环境名>

然后使用which python查看当前虚拟环境python所在的路径,然后cd进入该文件夹。示例,进入虚拟环境lxl的python所在的路径,只需要进入到虚拟环境名称这个文件夹就好了,不用进入到bin/python:
在这里插入图片描述
然后在该目录下使用:

python -m ipykernel install --user --name [虚拟环境名] --display-name [想要在jupyter上显示的环境名]

以lxl这个虚拟环境为例,我想让它在jupyter上显示lxl:

python -m ipykernel install --user --name lxl --display-name lxl

在这里插入图片描述

测试

首先使用FilZilla将用到的文件d2l-zh上传到服务器上:
在这里插入图片描述
然后打开jupyter notebook(在同一目录下使用jupyter notebook命令才能看到d2l-zh文件,这点在博客「测试」部分有写道):
在这里插入图片描述
执行后:
在这里插入图片描述
在本地打开浏览器,输入localhost:<服务器端生成的端口号>访问到jupyter notebook了。

输入前面设置的jupyter密码:
在这里插入图片描述
就可以看到上传的d2l-zh文件夹了:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就会在服务器上开始训练了。

训练结果:
在这里插入图片描述
可以看到在服务器上的训练速度每秒处理6219张样本,对比在博客「测试」部分在本地电脑上的训练速度每秒处理1640张样本要快的多得多。

遇到的问题

在本地打开浏览器,输入localhost:<服务器端生成的端口号>访问到jupyter notebook后,其他文件可以正常打开,但是打开.ipynb文件会报500 : Internal Server Error
在这里插入图片描述
参考这篇博客修改nbconvert版本为5.4.1后重启jupyter notebook服务发现在控制台又报如下权限错误PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter/nbconvert/templates/conf.json':
在这里插入图片描述
参考文章修改nbconvert版本为5.6.1后重启jupyter notebook服务,发现可以正常打开.ipynb文件,至此问题解决。
在这里插入图片描述

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

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

相关文章

fastStone Capture截图神器,你想要的功能它都有!

前言 大家好&#xff0c;我是小徐啊。从今天开始&#xff0c;小徐将介绍很多Java开发领域相关的软件工具资源&#xff0c;欢迎大家关注。今天&#xff0c;介绍一款非常小巧&#xff0c;但功能十分强大的图片软件&#xff0c;fastStone Capture。这款工具&#xff0c;主要是图片…

101、QT摄像头录制视频问题

视频和音频录制类QMediaRecorder QMediaRecorder 通过摄像头和音频输入设备进行录像。 注意: 使用Qt多媒体模块的摄像头相关类无法在Windows平台上进行视频录制&#xff0c;只能进行静态图片抓取但是在Linux平台上可以实现静态图片抓取和视频录制。 Qt多媒体模块的功能实现是依…

Git之代已修改文件的目录高亮设置

不管Android Studio或者Idea&#xff0c;进入Setting 选择如图所示&#xff0c;并进行勾选 就可以高亮了。

sentinel原理源码分析系列(四)-ContextEntry

启动和初始化完成后&#xff0c;调用者调用受保护资源&#xff0c;触发sentinel的机制&#xff0c;首先构建或获取Context和获取Entry&#xff0c;然后进入插槽链&#xff0c;决定调用是否通过&#xff0c;怎样通过 上图展示构建Context和获取Entry的类互动图 获取或构建Conte…

深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景

大家好,我是微学AI,今天给大家介绍一下深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景。文章首先介绍了GCN模型的原理及模型结构,随后提供了数据样例,并详细展示了实战代码。通过本文,读者可以深入了解GCN模型在金融场景下的应用,同时掌握代码的具…

keil5软件调试纪要

1&#xff0c;连接ST-LINK后查看连接信息。 2&#xff0c;除了printf调式外&#xff0c;keil5进行如下调式。 &#xff08;0&#xff09;进入调试界面 退出调式界面 &#xff08;1&#xff09; 打断点 &#xff08;2&#xff09;复位 &#xff08;3&#xff09;运行 &#xf…

判断一个数是不是素数(质数)(c语言)

素数的定义&#xff1a; 大于1的自然数&#xff0c;除了1和他本身不再有其它的因数 数学原理&#xff1a; 假设一个num不是素数&#xff0c;必然存在一个因子&#xff0c;该因为一定<√num&#xff0c;因此只要检测到√num中是否存在因子即可。 代码如下&#xff1a; #…

基于springboot+vue 大学毕业设计管理系统设计与实现

博主介绍&#xff1a;专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

python 作业1

任务1: python为主的工作是很少的 学习的python的优势在于制作工具&#xff0c;制作合适的工具可以提高我们在工作中的工作效率的工具 提高我们的竞争优势。 任务2: 不换行 换行 任务3: 安装pycharm 进入相应网站Download PyCharm: The Python IDE for data science and we…

day02 -- docker

1.docker的介绍 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使…

androidStudio编译导致的同名.so文件冲突问题解决

files found with path lib/arm64-v8a/libserial_port.so from inputs: ...\build\intermediates\library_jni\debug\jni\arm64-v8a\libserial_port.so C:\Users\...\.gradle\caches\transforms-3\...\jni\arm64-v8a\XXX.so 解决方式如下&#xff1a; 1.将gradle缓存文件删…

mysql 10 单表访问方法

01.优化的过程 对于我们这些 MySQL 的使用者来说&#xff0c; MySQL 其实就是一个软件&#xff0c;平时用的最多的就是查询功能。DBA时不时丢过来一些慢查询语句让优化&#xff0c;我们如果连查询是怎么执行的都不清楚还优化个毛线&#xff0c;所以是时候掌握真正的技术了。我…

推荐?还是踩雷?3款中英互译软件大盘点,你真的选对了吗?

作为一个爱到处跑的人&#xff0c;我特别明白旅行的时候能说会道有多重要。不管是跟当地人聊天&#xff0c;还是看路标、菜单&#xff0c;有个好用的翻译软件是肯定少不了的。今天&#xff0c;我打算给你们介绍3款中英文互译的翻译工具&#xff0c;帮你挑出最适合自己的那一个。…

图论day62|拓扑排序理论基础、117.软件构建(卡码网)、最短路径之dijkstra理论基、47.参加科学大会(卡码网 第六期模拟笔试)

图论day62|拓扑排序理论基础、117.软件构建&#xff08;卡码网&#xff09;、最短路径之dijkstra理论基、47.参加科学大会&#xff08;卡码网 第六期模拟笔试&#xff09; 拓扑排序理论基础117.软件构建&#xff08;卡码网&#xff09;最短路径之dijkstra理论基础47.参加科学大…

大数据-173 Elasticsearch 索引操作 增删改查 详细 JSON 操作

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

面试题:Redis(七)

1. 面试题 2. 缓存预热 当Redis暂时没有数据&#xff0c;但MySQL中有数据时&#xff0c;由程序员、中间件、写段程序提前访问该数据&#xff0c;使得数据进行回写进Redis&#xff0c;从而达到缓存预热的效果&#xff0c;这样可以使得一开始访问页面程序的用户也没有卡顿&#x…

力扣 简单 876.快慢指针

文章目录 题目介绍题解 题目介绍 题解 class Solution {public ListNode middleNode(ListNode head) {ListNode slow head, fast head;while(fast ! null && fast.next ! null){slow slow.next;fast fast.next.next;}return slow;} }

JCO发表加州大学团队最新医学AI研究,从常规HE染色切片预测同源重组缺陷和铂类药物反应|顶刊精析·24-10-18

小罗碎碎念 这篇文章是关于一项名为DeepHRD的深度学习平台的研究&#xff0c;该平台能够从常规的苏木精-伊红&#xff08;H&E&#xff09;染色组织切片中预测同源重组缺陷&#xff08;HRD&#xff09;和铂类药物反应。 作者角色姓名单位第一作者Erik N. Bergstrom加州大学圣…

c4d好用的渲染软件有哪些?c4d各个渲染器的优缺点

在3D设计和动画制作领域&#xff0c;Cinema 4D&#xff08;C4D&#xff09;是一款备受欢迎的软件。它强大的建模、动画和渲染功能&#xff0c;使其成为许多设计师和艺术家的首选工具。然而&#xff0c;C4D的内置渲染器可能无法满足所有项目的需求&#xff0c;因此许多用户会选择…

31. 问题 - GPIO调试

1. 概述 gpio调试过程中,个别gpio出现,波形干扰 2. gpio配置表 GPIO 功能 备注