1. 连接远程服务器:从零开始的必备技能

第一次接触Linux远程服务器时,我完全是个小白。记得当时连最基本的SSH连接都搞了半天,现在回想起来真是又好气又好笑。对于深度学习开发者来说,远程服务器就像你的第二台电脑,但操作方式却大不相同。下面我就把这几年来总结的连接技巧分享给大家。

最常用的工具组合是Xshell+Xftp,这对黄金搭档确实对新手很友好。Xshell负责命令行操作,Xftp则提供图形化文件传输。免费版完全够用,下载后安装过程也很简单。不过要注意的是,有些学校或企业的服务器可能需要额外配置才能连接。

连接失败是新手最常见的问题。我遇到过最典型的情况包括:

  • 服务器根本没开机(是的,有时候就是这么简单)
  • 输入了错误的IP、端口或密码(建议先用记事本记下来)
  • 本地SSH服务没开启(特别是Windows用户)
  • 网络限制(比如需要先连接内网)

这里有个实用技巧:先用ping命令测试网络连通性。如果连ping都不通,那肯定是网络层的问题。比如:

ping 10.1.1.1

如果显示"请求超时",就要检查网络设置了。另一个有用的命令是telnet测试端口:

telnet 10.1.1.1 22

2. Anaconda安装:一步也不能错

Anaconda是Python环境管理的瑞士军刀,但在服务器上安装时有些细节特别容易出错。我第一次安装时就因为没注意磁盘空间导致失败,白白浪费了两小时。

推荐直接使用wget下载最新版Anaconda:

wget https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh

下载完成后,用bash命令安装:

bash Anaconda3-2023.07-1-Linux-x86_64.sh

安装过程中要特别注意两点:

  1. 看到license信息时疯狂按空格,直到出现提示输入yes/no
  2. 一定要同意初始化conda(第二个yes),否则还得手动配置环境变量

如果错过了初始化步骤,需要手动编辑~/.bashrc文件:

vim ~/.bashrc

在文件末尾添加(注意替换你的实际安装路径):

export PATH=/root/anaconda3/bin:$PATH

保存后运行:

source ~/.bashrc

3. 虚拟环境管理:避开那些坑

创建虚拟环境时,我强烈建议指定Python版本。因为PyTorch对Python版本有要求,不匹配会导致后续安装失败。比如:

conda create -n pytorch_env python=3.8

激活环境用:

conda activate pytorch_env

这里有几个常见错误和解决方法:

  1. 磁盘空间不足:先用df -h查看磁盘使用情况
  2. 环境冲突:用conda clean -i清理索引缓存
  3. 下载源问题:用conda config --remove-key channels恢复默认源

我曾经遇到一个奇葩问题:创建环境时服务器明明显示有空间,但还是报错。后来发现是inode用尽了,需要用df -i检查。这种情况只能联系管理员清理文件了。

4. PyTorch安装:版本匹配是关键

安装PyTorch前必须先检查CUDA版本:

nvidia-smi

这个命令会显示显卡信息和CUDA版本。注意右上角的CUDA Version是指驱动支持的最高版本,实际可能安装的是更低版本。

到PyTorch官网获取安装命令时,一定要选择匹配的版本组合。比如对于CUDA 11.3:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

我踩过最深的坑就是版本不匹配。有一次PyTorch、CUDA和Python三个版本互相不兼容,调试了整整一天。后来总结出一个经验:先确定CUDA版本,再选择PyTorch版本,最后决定Python版本。

如果遇到安装失败,可以尝试:

  1. 更新conda:conda update -n base conda
  2. 添加conda-forge源:
conda config --add channels conda-forge
conda config --set channel_priority strict
  1. 最彻底的方法:创建新的虚拟环境,从头安装

5. 开发环境配置:VSCode远程开发

在服务器上直接写代码很不方便,我推荐使用VSCode的Remote-SSH插件。安装步骤:

  1. 在VSCode扩展商店搜索"Remote - SSH"
  2. 安装后点击左下角绿色图标
  3. 选择"Connect to Host..."

配置完成后,就可以像操作本地文件一样编辑服务器上的代码了。更重要的是,可以直接使用服务器上配置好的Python环境。

选择解释器时,路径通常是:

~/anaconda3/envs/环境名称/bin/python

如果找不到,可以在终端用which python查看具体路径。

6. 常见问题排查手册

根据多年经验,我整理了几个最常见的问题:

问题1:conda命令找不到 解决:环境变量没配置好,检查~/.bashrc中的PATH设置

问题2:CUDA版本不匹配 解决:重新安装匹配版本的PyTorch,或升级显卡驱动

问题3:磁盘空间不足 解决:清理无用文件或临时文件,可以用conda clean --all

问题4:网络连接超时 解决:更换conda镜像源,比如清华源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

7. 性能优化小技巧

环境搭好后,还可以做些优化:

  1. 设置CUDA缓存路径:
export CUDA_CACHE_PATH='~/.nv/ComputeCache'
  1. 在PyTorch代码开头添加:
torch.backends.cudnn.benchmark = True
  1. 监控GPU使用情况:
watch -n 1 nvidia-smi

最后提醒一点:服务器是共享资源,用完记得释放GPU内存。可以用kill -9 PID结束占用GPU的进程。养成好习惯,人人有责。

更多推荐