必须确认gpu驱动、cuda环境、pytorch/tensorflow是否真正识别gpu;先运行nvidia-smi和nvcc --version验证,再检查torch.cuda.is_available()及cuda版本匹配,最后确保vscode调试路径、python解释器和端口转发配置正确。

能用,但必须确认三件事:GPU驱动、CUDA环境、PyTorch/TensorFlow是否真正识别到GPU设备。光连上远程服务器不等于GPU就可用。
连接后第一件事:验证nvidia-smi和CUDA是否就绪
很多人卡在“VSCode连上了,但训练还是跑CPU”,根本原因就是没做这步检查。打开VSCode集成终端(Ctrl+Shift+`),直接执行:
nvidia-smi
如果报错或无输出,说明NVIDIA驱动未安装或未加载;如果显示GPU信息但nvcc --version失败,说明CUDA Toolkit缺失或PATH没配对。
- Ubuntu下常见修复方式:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc && source ~/.bashrc - 若
nvidia-smi显示驱动版本是535,但nvcc --version显示12.1,则CUDA版本匹配,可继续;若显示11.8则需重装对应cuDNN或降级PyTorch - 注意:AutoDL、CSDN算力等平台的预装镜像通常已配置好,但自定义镜像或手动部署的实例大概率需要你补全
/usr/local/cuda软链接
Python环境里torch.cuda.is_available()返回False怎么办
这是最典型的“看起来连上了,实际用不了GPU”的信号。不要直接重装PyTorch——先查清根源:
- 运行
python -c "import torch; print(torch.version.cuda)",输出应为与nvcc --version一致的数字(如12.1);若为空或报错,说明PyTorch不是CUDA编译版 - 检查当前Python环境是否被正确选中:VSCode右下角状态栏点击Python解释器路径,确认指向的是远程服务器上的
python(而非本地) - 推荐安装命令(以CUDA 12.1为例):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 - 避免用conda install torch(尤其在AutoDL等非标准环境中),容易因channel源混用导致CUDA版本错位
调试时断点不生效或变量无法查看
远程调试失败往往不是VSCode问题,而是路径映射或权限配置偏差:
- 确保
launch.json中"justMyCode": true且"cwd"设为项目根目录(如"${workspaceFolder}") - 如果代码在
/home/user/project,但VSCode打开的是/project(符号链接或挂载路径),调试器会找不到源码文件 - 使用
source .venv/bin/activate激活虚拟环境后,再启动调试;否则python可能调用系统默认解释器,导致依赖缺失 - TensorBoard日志路径务必写绝对路径(如
--log-dir /home/user/project/logs),否则端口转发后本地浏览器打不开
最容易被忽略的一点:很多云平台(如AutoDL、星图GPU)默认关闭了AllowTcpForwarding,导致ssh -L端口转发失败——这意味着你即使配好了TensorBoard,localhost:6006也访问不到远程日志。解决方法是让平台客服开通该选项,或改用cloudflared隧道替代传统SSH端口映射。











