配置windows客户端远程登录深度学习服务器

本文介绍如何在Windows环境下通过Putty连接Linux服务器,并利用Jupyter Notebook进行远程深度学习开发。主要内容包括服务器配置、Putty安装及设置、远程访问流程等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导师大手一挥给了块闲置的TitanX,加上毕业师兄留下的一台服务器级主机,花一天时间配了个深度学习环境出来。
实验室其他组有好几台这样的服务器。以前看人家测试代码都是自己电脑和服务器两头跑,心想这么搞看起来好土,把主机做好当个远程环境、在本机上run代码不就完了吗。
结果轮到自己配环境,还是查了好多文章。主要是对linux、Jupyter都一窍不通。
肯定有其他更简单美妙的实现方式。这里权做个记录,以免下次再用忘记了。

目标:在Windows上登陆Linux服务器主机,使用主机端的Jupyter Notebook

准备

  • 服务器:配置完毕的Ubuntu(Linux)主机:

    • 版本:16.04LTS
    • 深度学习环境(GPU版):
      • CUDA8.0
      • CuDNNv6
      • Tensorflow-gpu v1.3
      • 其他必备package
    • ssh
    • 接入网络
  • 客户端:你所使用的电脑:

    • 接入网络
    • putty:一个开源带GUI的SSH工具
    • 系统:windows10

服务器配置

配置ssh

# install ssh server
sudo apt-get install openssh-server
# start ssh service
/etc/init.d/ssh start
# check ssh status
sudo service ssh status

查看服务器ip

ifconfig

找到 inet addr 后面的ip地址。

客户端

下载安装 putty,启动。

这里写图片描述

输入服务器的ip,端口号填22(SSH服务器的默认端口)。注意存一个session,以免下次还要再输密码。
转到Connection-SSH-Tunnels,填写source port和Destination。前者输入一个本机端口,一般要大于8000;后者输入环路地址+端口号 127.0.0.1:8888。8888是Jupyter的默认端口号,如果这里不是8888,那么远程开启notebook的时候就要指定一个端口号。选项按照默认的local、auto即可。

这里写图片描述

依次点击add、open,会弹出远程登录界面;输入服务器的用户名和密码,显示Welcome文字即表明登陆成功。
这里写图片描述
然后直接启动 jupyter notebook 就可以使用服务器写notebook了。
指定端口号的写法是
jupyter notebook --port=xxxxx
远程运行notebook不会自动弹出浏览器。在浏览器中输入localhost:yyyy,yyyy是你刚才指定的Source port,这里就是9999,会出现Jupyter的登陆页:
这里写图片描述

回到命令行中复制token=后面的字符串,粘贴至此即可。
这里写图片描述

结束

走了几行tensorflow发现确实可以很正常地使用,跟本地没有区别。注意到其实在putty登陆之后的操作,跟在服务器的终端上的操作就没有区别了。包括切换环境、更新package都与在服务器上一样。
windows上其他的工具尚未测试,个人觉得putty不是很好用。
在Linux/Mac系统上使用客户端更方便,一行ssh命令就可以了。


Update:

Windows下远程登陆更简单的一种方式是使用虚拟linux环境cygwin。下载后安装openssh,cygwin会自动配置好一个小型的虚拟linux环境,安装完直接从终端登录即可,这样就与Linux使用ssh一样了。
注意两点:

  • 安装Cygwin的时候选一个国内镜像,速度会快很多。我还是选了科大(Ustc)的。
  • 登陆命令里注意加上端口映射,这一点跟上面putty设置的时候是一样的。命令:
    ssh -L xxxx:localhost:yyyy username@ipaddress

<think>好的,我现在需要帮用户解决在Windows系统上使用VSCode配置运行深度学习服务器的问题。首先,用户的需求很明确,但可能对具体步骤不太清楚。我需要先回顾已有的引用内容,特别是引用[1]引用[2],因为这两个资源应该提供了相关的配置方法。 引用[1]详细介绍了Ubuntu20.04服务器的环境配置,包括显卡驱动、CUDA、Anaconda、PyTorch以及VSCode远程连接。而引用[2]则讨论了使用VSCode连接服务器进行代码调试的优势,比如直观的界面、debug功能图形输出,这些都是用户需要的。 用户现在的情况是使用Windows系统,想通过VSCode运行深度学习服务器。这意味着用户可能有两种需求:一种是远程连接到已有的Ubuntu服务器,另一种是在本地Windows配置深度学习环境。根据问题描述,用户更可能是想远程连接,因为提到“运行深度学习相关的服务器”,通常服务器环境是Linux。但需要确认是否用户有远程服务器可用,还是需要在Windows本地搭建。 假设用户需要远程连接到Ubuntu服务器,那么步骤应包括安装VSCode、配置Remote-SSH插件、连接服务器,然后在服务器配置环境。引用[1]中的步骤二到六详细说明了服务器环境的配置,而引用[2]补充了VSCode连接的方法。需要将这些步骤整合,指导用户完成整个流程。 另外,需要注意用户可能不熟悉Linux命令,所以需要给出具体的命令示例,比如安装驱动、CUDA、conda环境等。同时,要提醒用户确保服务器已经正确安装这些组件,提供验证方法,如nvidia-smi、nvcc --version等。 可能还需要提到在VSCode中安装Python插件、设置解释器路径,以及调试配置。例如,在远程服务器上选择conda环境中的Python解释器,确保代码能使用GPU资源。 此外,常见问题如SSH连接失败、权限问题、环境变量配置错误等,需要给出排查建议,比如检查SSH配置、公钥认证,以及环境变量是否正确设置。 如果用户需要在Windows本地配置深度学习环境,虽然引用中没有直接提到,但可能需要指导安装WSL2,然后在其中配置Ubuntu环境,再通过VSCode连接WSL。不过根据引用内容,更可能的情况是远程连接,所以应优先考虑这种情况。 最后,生成相关问题需要考虑用户可能的后续疑问,比如性能优化、多GPU使用、本地与远程开发比较等。</think>### 分步配置指南:使用VSCode在Windows上连接远程深度学习服务器 #### 1. 环境准备 - **服务器端**:确保已安装Ubuntu系统(推荐20.04 LTS)配置以下组件: - NVIDIA显卡驱动:通过`nvidia-smi`命令验证[^1] - CUDA工具包:使用`nvcc --version`检查版本[^1] - Anaconda/Miniconda:用于创建Python虚拟环境 - PyTorch/TensorFlow:已安装GPU版本深度学习框架[^1] - **客户端**: - Windows系统安装最新版VSCode - 安装官方[Remote-SSH扩展](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) #### 2. SSH密钥配置(简化流程) ```powershell # 在Windows PowerShell中生成密钥对 ssh-keygen -t rsa -b 4096 # 将公钥上传至服务器 type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ``` #### 3. VSCode连接配置 1. 按`Ctrl+Shift+P`打开命令面板 2. 输入`Remote-SSH: Connect to Host...` 3. 选择`Configure SSH Hosts...` 4. 编辑配置文件: ```config Host DeepLearningServer HostName 192.168.1.100 # 替换为实际服务器IP User your_username IdentityFile ~/.ssh/id_rsa ``` #### 4. 远程环境配置 连接成功后,在VSCode终端执行: ```bash # 创建conda环境(示例) conda create -n dl_env python=3.8 conda activate dl_env # 安装PyTorch GPU版 conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch # 验证GPU可用性 python -c "import torch; print(torch.cuda.is_available())" ``` #### 5. 开发环境优化 - 安装Python扩展包:`ms-python.python` - 配置Jupyter Notebook内核: ```json { "jupyter.jupyterServerType": "remote", "python.defaultInterpreterPath": "~/anaconda3/envs/dl_env/bin/python" } ``` #### 6. 调试配置示例 创建`.vscode/launch.json`: ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "args": ["--batch-size", "64"] } ] } ``` ### 常见问题排查 1. **SSH连接失败**: - 检查22端口是否开放:`telnet server_ip 22` - 验证密钥权限:服务器端`.ssh`目录应为700权限,`authorized_keys`为600 2. **GPU不可用**: - 验证驱动版本与CUDA版本匹配:`nvidia-smi`顶部显示CUDA版本 - 检查PyTorch/TensorFlow的GPU版本安装命令 3. **文件同步问题**: - 使用VSCode的SFTP扩展实现自动同步 - 或配置`rsync`定时同步: ```bash rsync -avz -e ssh ./local_dir user@server_ip:~/remote_dir ``` ### 性能优化建议 - 使用CUDA Graph加速小核函数调用 - 配置混合精度训练: ```python from torch.cuda.amp import autocast, GradScaler scaler = GradScaler() with autocast(): outputs = model(inputs) loss = loss_fn(outputs, labels) scaler.scale(loss).backward() scaler.step(optimizer) scaler.update() ``` ### 开发建议 1. 使用VSCode的TensorBoard集成: ```json { "tensorboard.logDirectory": "./logs" } ``` 2. 配置远程Jupyter Notebook访问: ```bash jupyter notebook --no-browser --port=8889 --ip=0.0.0.0 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值