[AI开发配环境]jupyter notebook远程连接ssh

注意:也可以直接用vscode,感觉似乎更方便

参考资料

照这个操作:
https://blog.youkuaiyun.com/wuqrcn/article/details/135512396

步骤

安装并生成配置文件

注意,在base环境中安装,这样在其他所有环境中都能用,到时候选环境即可。

pip install jupyter notebook # 安装jupyter notebook
jupyter notebook --generate-config # 生成配置文件,~/.jupyter/jupyter_notebook_config.py

保存hash

输入ipythohn,然后依此输入以下命令:

from jupyter_server.auth import passwd #from notebook.auth import passwd
passwd(algorithm='sha1')
# 会让你输入密码,然后会输出一串哈希码,开头是sha1,保存这个哈希码
exit() # 退出ipython

修改配置文件

修改配置文件~/.jupyter/jupyter_notebook_config.py,在最下面增加:

c.NotebookApp.allow_remote_access = True
c.NotebookApp.port = your_port
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1XXXXX' # 刚才那个哈希码
c.NotebookApp.ip = '*'

在你要用的环境中添加kernel

conda activate XXX
conda install ipykernel
python -m ipykernel install --name XXX

运行

在远程主机的base环境下,启动jupyter notebook:
conda activate base
cd XXX # 你想要运行的根目录
jupyter notebook --no-browser --port your_port --allow-root
jupyter notebook --no-browser --port 6006 --allow-root

配置一下远程和本地的ssh隧道,我是用的MobaXterm配的,具体方法可以搜索MobaXterm 隧道。
通义千问说也可以这样(我没试过):

ssh -L local_port:localhost:remote_port your_username@your_server_ip

然后在本地浏览器里输入:
http://localhost:your_port 就行啦。
打开会让你输入密码,就是刚才自己设置的那个密码

然后在这里选一下你要用的conda环境(kernel):
在这里插入图片描述

安装的注意点:

No module named ‘notebook.auth‘

https://blog.youkuaiyun.com/weixin_49983968/article/details/13686
在新版本的jupyter中,没有notebook.auth, 换成以下命令即可:
from jupyter_server.auth import passwd

参考链接里那个json我没弄,因为我没有json文件,没影响

jupyter notebook的一些特点

  • 注意,使用完了之后不会像直接运行.py文件那样,而是仍然在占用显存!!需要restart kernel,就可以清掉显存了
    在这里插入图片描述

  • 可以直接!pip install? 但感觉不是很推荐,显示的内容比较少

  • 如果在外面pip install了新东西,可能需要重启jupyter服务才能生效

  • 直接在一个cell中一行代码是一个PIL img对象的话,可以直接显示这个img

  • 每个cell不仅可以是可运行的python代码,还可以是markdown

### 置和使用 Jupyter Notebook 的 Cluster 功能 为了在 Jupyter Notebook 中实现集群支持功能,可以借助一些工具来完成这一目标。以下是详细的解决方案: #### 工具介绍 Dask 是一种灵活的并行计算库,能够轻松集成到现有的 Python 数据科学栈中,并且提供了类似于 Pandas 或 NumPy 的接口[^1]。通过 Dask,可以直接在 Jupyter Notebook 中创建分布式计算环境。 --- #### 安装依赖项 要启用 Jupyter Notebook 的集群支持功能,首先需要安装必要的软件包: ```bash pip install dask distributed widgetsnbextension ipywidgets ``` 如果正在使用 Conda,则可以通过以下命令安装这些依赖项: ```bash conda install dask distributed -c conda-forge conda install widgetsnbextension ipywidgets -c conda-forge ``` 上述操作会安装 `dask` 和其分布式的组件 `distributed`,以及交互式控件所需的扩展程序 `widgetsnbextension` 和 `ipywidgets`[^2]。 --- #### 启用交互式控件 为了让 Dask 提供的仪表板正常运行,在 Jupyter Notebook 中需加载 `ipywidgets` 扩展: ```python import ipywidgets as widgets from IPython.display import display display(widgets.IntSlider()) ``` 此代码片段验证了交互式控件是否已成功激活。如果没有看到滑块界面,请重启 Jupyter Notebook 并重新尝试。 --- #### 创建本地集群 在 Jupyter Notebook 中导入所需模块后,可通过以下方式快速设置一个本地集群实例: ```python from dask.distributed import Client, progress client = Client(n_workers=4, threads_per_worker=1) client ``` 这一步会在当前机器上启动具有四个工作进程的客户端对象,并自动显示有关该集群的信息面板[^3]。 --- #### 连接远程集群 对于更复杂的场景(如连接至高性能计算 HPC 系统),可按照以下方法远程访问权限: 1. **生成 SSH 密钥对** 如果尚未建立安全通道,请先生成密钥对并与目标服务器共享公钥。 2. **调整防火墙规则** 确保允许外部网络流量到达指定端口号(例如默认情况下为8786)。具体做法取决于所在机构的安全策略。 3. **部署调度服务** 登录到超级计算机节点之后,执行下列指令以初始化中心控制器及其附属工作者节点: ```bash dask-scheduler & dask-worker tcp://<scheduler-ip>:8786 & ``` 4. **绑定客户端地址** 修改之前定义好的 `Client()` 实例指向实际可用的服务位置即可: ```python client = Client('<scheduler-ip>:8786') ``` 以上过程描述了如何利用 Dask 来增强标准版 Jupyter Notebook 对大规模数据集处理的支持能力。 --- #### 结合 Elyra 流水线管理 除了单纯依靠 Dask 外部化任务外发之外,还可以考虑引入专门针对人工智能开发流程优化设计过的框架——Elyra。它不仅兼容多种主流云平台上的托管资源池方案,而且自带图形化的拖拽式构建向导帮助用户更加直观地安排各阶段之间的逻辑关系。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值