如何通过批处理脚本在非基础Conda环境启动带GPU的SSH Jupyter Notebook?
解决方案
一、编写批处理脚本自动启动指定环境的Jupyter Notebook(副盘运行)
把以下内容保存为start_jupyter_gpu.bat,根据你的实际环境修改路径和环境名:
@echo off :: 调用conda激活脚本(如果Anaconda安装路径不同,修改此处路径) call "C:\ProgramData\Anaconda3\Scripts\activate.bat" :: 激活你的GPU专属conda环境(替换成你的环境名,比如tf_gpu_env) conda activate tf_gpu_env :: 切换到副盘,示例为D盘,替换成你的副盘盘符 D: :: 切换到副盘上的Notebook存储目录(可选,比如D:\Jupyter_Workspace) cd D:\Jupyter_Workspace :: 启动Jupyter,允许远程访问,不自动打开服务器端浏览器 jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser
call命令用于确保批处理能正确激活conda环境,避免脚本执行后直接退出- 切换到副盘目录后,Jupyter新建的Notebook会默认保存到该路径下
二、确保TensorFlow GPU能被内核正确调用
之前选择对应内核仍无法调用GPU,是因为内核未与conda环境正确绑定,按以下步骤操作:
- 激活你的GPU环境:
conda activate tf_gpu_env - 安装ipykernel工具:
conda install ipykernel - 将该环境注册为Jupyter独立内核:
python -m ipykernel install --user --name tf_gpu_env --display-name "TensorFlow GPU"
之后启动Jupyter时选择这个TensorFlow GPU内核,TensorFlow就能正常调用GPU(前提是你已在该环境正确安装tensorflow-gpu和对应版本的CUDA驱动)
三、简化远程访问流程(替代手动输入令牌)
每次复制令牌访问太繁琐,可设置固定密码:
- 激活你的GPU环境,执行命令:
jupyter notebook password - 按提示输入并确认密码,Jupyter会自动保存密码配置
- 后续远程访问时,直接输入该密码即可,无需再使用令牌
如果嫌启动命令参数过多,还可以生成Jupyter配置文件固定设置:
- 执行命令生成配置文件:
jupyter notebook --generate-config - 打开生成的
jupyter_notebook_config.py,修改以下参数:c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = 8888 c.NotebookApp.open_browser = False
修改后,批处理里的启动命令可简化为jupyter notebook
内容的提问来源于stack exchange,提问作者Not Legato
相关产品推荐
相关产品推荐

