新闻详情

新闻详情

首页 / 资讯中心 / 详情

第一次租 GPU 服务器:AutoDL RTX 4090 + SSH + Codex 远程运行深度学习代码

发布时间:2026/9/30 9:29:14来源:尧图网络
第一次租 GPU 服务器:AutoDL RTX 4090 + SSH + Codex 远程运行深度学习代码
文章目录1. 租用 AutoDL GPU 服务器2. 项目放到数据盘3. 检查 GPU 环境4. 配置 SSH 公钥5. 配置 SSH Host6. 在本地使用 Codex7. 告诉 Codex 怎么使用 GPU 服务器8. 先测试 Codex 能否调用服务器9. 使用 rsync 同步代码10. 让 Codex 在服务器运行代码11. 使用 tmux 跑长时间实验12. 下载实验结果13. Codex 实际工作方式14. 一些常用命令登录服务器查看 GPU查看 Python查看 PyTorch查看项目目录同步代码运行训练查看 tmux查看训练日志15. 公开文章中的信息脱敏16. 当前目录结构示例最近做深度学习实验时需要 GPU 算力因此第一次在 AutoDL 租了一台 RTX 4090 服务器。这篇记录一下从租服务器、上传数据、配置 SSH到最后让本地 Codex 通过 SSH 控制远程服务器运行代码的完整过程。最终使用方式如下本地 Linux ├── Codex ├── Git ├── 项目源码 │ ├── SSH └── rsync ↓ AutoDL GPU服务器 ├── RTX 4090 ├── Python / PyTorch / CUDA ├── 数据集 ├── 代码运行副本 ├── checkpoints ├── logs └── results1. 租用 AutoDL GPU 服务器我的任务主要是普通深度学习和多模态模型训练因此租了一台单卡 RTX 4090。配置大致如下GPURTX 4090 24GB ×1 CPU十几核 内存百GB级 系统盘几十GB 数据盘几十GB Ubuntu 22.04 Python 3.10 PyTorch 2.1.x CUDA 12.1创建实例以后AutoDL 会提供 SSH 地址、端口和 root 密码。连接格式一般是ssh-pSSH_PORTrootSERVER_HOST第一次连接时会看到Are you sure you want to continue connecting (yes/no/[fingerprint])?确认服务器信息后输入yes再输入 root 密码即可进入服务器。2. 项目放到数据盘AutoDL 的高速数据盘一般位于/root/autodl-tmp我把项目放在/root/autodl-tmp/my_project目录结构类似/root/autodl-tmp/my_project/ ├── data/ ├── code/ ├── checkpoints/ ├── logs/ ├── results/ └── artifacts/数据、模型权重、训练日志和实验结果都放在这个目录下面。3. 检查 GPU 环境进入服务器后先执行nvidia-smi可以看到显卡型号、显存、驱动等信息。例如NVIDIA GeForce RTX 4090 24564 MiB检查 Python/root/miniconda3/bin/python--version检查 PyTorch 和 CUDA/root/miniconda3/bin/python-c import torch print(PyTorch:, torch.__version__) print(CUDA:, torch.version.cuda) print(CUDA available:, torch.cuda.is_available()) print(GPU:, torch.cuda.get_device_name(0)) 我的环境能够正常输出PyTorch: 2.1.xcu121 CUDA: 12.1 CUDA available: True GPU: NVIDIA GeForce RTX 4090后续运行 Python 时我统一显式使用/root/miniconda3/bin/python例如/root/miniconda3/bin/python train.py4. 配置 SSH 公钥为了让本地 Codex 能直接执行远程命令我给这台 GPU 服务器单独生成了一套 SSH Key。在本地 Linux 执行ssh-keygen-ted25519-f~/.ssh/gpu_server生成~/.ssh/gpu_server ~/.ssh/gpu_server.pub其中gpu_server是私钥gpu_server.pub是公钥。把公钥加入服务器cat~/.ssh/gpu_server.pub|\ssh-pSSH_PORTrootSERVER_HOST\mkdir -p ~/.ssh chmod 700 ~/.ssh cat ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys执行这一步时输入一次服务器密码。5. 配置 SSH Host编辑本机 SSH 配置nano~/.ssh/config添加Host gpu-server HostName SERVER_HOST User root Port SSH_PORT IdentityFile ~/.ssh/gpu_server IdentitiesOnly yes ServerAliveInterval 60修改权限chmod600~/.ssh/config以后可以直接登录sshgpu-server也可以直接执行远程命令sshgpu-serverhostname查看 GPUsshgpu-servernvidia-smi查看项目目录sshgpu-server\cd /root/autodl-tmp/my_project ls -lah6. 在本地使用 CodexCodex 安装和登录都放在本地 Linux。本地代码目录例如~/projects/my_project项目结构~/projects/my_project/ ├── src/ ├── tests/ ├── configs/ ├── train.py ├── evaluate.py └── README.md远程服务器中的代码运行目录为/root/autodl-tmp/my_project/code这样本地保存源码远程保存运行副本。7. 告诉 Codex 怎么使用 GPU 服务器在 Codex 新会话开头我会先发送一段服务器执行约定。你当前运行在我的本地Linux环境中。 我有一台远程GPU服务器已经配置SSH Host gpu-server 需要在远程服务器执行命令时使用 ssh gpu-server command 例如 ssh gpu-server hostname ssh gpu-server nvidia-smi ssh gpu-server \ cd /root/autodl-tmp/my_project ls -lah 远程项目目录 /root/autodl-tmp/my_project 远程数据目录 /root/autodl-tmp/my_project/data 远程Python /root/miniconda3/bin/python 本地项目代码目录 ~/projects/my_project 远程代码运行目录 /root/autodl-tmp/my_project/code 代码在本地修改通过rsync同步到远程服务器然后通过SSH执行测试和训练。 原始数据目录保持只读。之后就可以直接让 Codex 执行类似任务检查远程GPU、Python和PyTorch环境。Codex 会调用sshgpu-servernvidia-smi以及sshgpu-server\/root/miniconda3/bin/python -c import torch; print(torch.cuda.is_available())8. 先测试 Codex 能否调用服务器第一次使用时我先让 Codex 做了一次只读检查检查远程服务器连接。 执行 ssh gpu-server hostname ssh gpu-server \ nvidia-smi --query-gpuname,memory.total --formatcsv,noheader ssh gpu-server \ /root/miniconda3/bin/python --version ssh gpu-server \ cd /root/autodl-tmp/my_project pwd ls -lah 检查完成后报告结果。如果 Codex 能够返回服务器 hostname、GPU 型号和 Python 版本就说明本地 Codex 到 GPU 服务器的链路已经可用。9. 使用 rsync 同步代码本地代码修改完成后用rsync同步到服务器rsync-av\--exclude.git/\--exclude__pycache__/\--exclude*.pyc\~/projects/my_project/\gpu-server:/root/autodl-tmp/my_project/code/同步完成后服务器中的/root/autodl-tmp/my_project/code就是当前代码副本。本地继续使用 Git 管理gitstatusgitdiffgitadd.gitcommit10. 让 Codex 在服务器运行代码例如运行测试sshgpu-server\cd /root/autodl-tmp/my_project/code \ /root/miniconda3/bin/python test.py运行训练sshgpu-server\cd /root/autodl-tmp/my_project/code \ /root/miniconda3/bin/python train.py输出会直接返回本地终端。出现 Python Traceback 时Codex 可以读取报错然后继续修改本地代码。一次完整流程通常是Codex修改本地代码 ↓ rsync同步 ↓ SSH执行 ↓ 读取输出 ↓ 修改代码 ↓ 再次同步 ↓ 再次运行11. 使用 tmux 跑长时间实验训练时间较长时可以在服务器使用tmux。例如创建一个后台任务sshgpu-server\tmux new-session -d -s train_job \ cd /root/autodl-tmp/my_project/code \ /root/miniconda3/bin/python train.py \ /root/autodl-tmp/my_project/logs/train.log 21查看当前 tmuxsshgpu-servertmux ls查看日志sshgpu-server\tail -n 100 /root/autodl-tmp/my_project/logs/train.log持续查看sshgpu-server\tail -f /root/autodl-tmp/my_project/logs/train.log查看 GPUsshgpu-servernvidia-smi这样关闭本地终端以后服务器上的训练仍然继续运行。12. 下载实验结果如果需要把服务器上的结果拉回本地可以直接使用rsyncrsync-av\gpu-server:/root/autodl-tmp/my_project/results/\~/projects/my_project/remote_results/下载日志rsync-av\gpu-server:/root/autodl-tmp/my_project/logs/\~/projects/my_project/remote_logs/下载 checkpointrsync-av\gpu-server:/root/autodl-tmp/my_project/checkpoints/\~/projects/my_project/remote_checkpoints/checkpoint 比较大时可以只下载需要的模型文件。13. Codex 实际工作方式现在我的项目流程基本是本地 Codex ↓ 修改 Python ↓ 运行本地检查 ↓ rsync ↓ SSH 到 GPU 服务器 ↓ 运行测试 ↓ 运行训练 ↓ 读取 log / CSV ↓ 继续修改Codex 可以直接执行sshgpu-servernvidia-smi也可以执行sshgpu-server\cd /root/autodl-tmp/my_project/code \ /root/miniconda3/bin/python train.py需要长时间运行时则创建 tmux 任务。14. 一些常用命令登录服务器sshgpu-server查看 GPUsshgpu-servernvidia-smi查看 Pythonsshgpu-server\/root/miniconda3/bin/python --version查看 PyTorchsshgpu-server/root/miniconda3/bin/python -c import torch print(torch.__version__) print(torch.version.cuda) print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0)) 查看项目目录sshgpu-server\cd /root/autodl-tmp/my_project ls -lah同步代码rsync-av\--exclude.git/\--exclude__pycache__/\--exclude*.pyc\~/projects/my_project/\gpu-server:/root/autodl-tmp/my_project/code/运行训练sshgpu-server\cd /root/autodl-tmp/my_project/code \ /root/miniconda3/bin/python train.py查看 tmuxsshgpu-servertmux ls查看训练日志sshgpu-server\tail -n 100 /root/autodl-tmp/my_project/logs/train.log15. 公开文章中的信息脱敏文章和截图中统一使用SERVER_HOST SSH_PORT gpu-server my_project实际服务器地址、端口、用户名、实例 ID 等信息不放到文章里。SSH 相关文件示例只写文件名~/.ssh/gpu_server ~/.ssh/gpu_server.pub不展示具体 Key 内容。Token、API Key、OAuth URL、登录凭据等内容同样不放入截图和代码块。16. 当前目录结构示例本地~/projects/my_project/ ├── src/ │ ├── data/ │ ├── models/ │ └── utils/ ├── tests/ ├── configs/ ├── train.py ├── evaluate.py └── README.md远程/root/autodl-tmp/my_project/ ├── data/ ├── code/ ├── checkpoints/ ├── logs/ ├── results/ └── artifacts/开发代码保存在本地~/projects/my_project运行代码同步到/root/autodl-tmp/my_project/code训练数据读取/root/autodl-tmp/my_project/data训练输出分别保存到/root/autodl-tmp/my_project/checkpoints /root/autodl-tmp/my_project/logs /root/autodl-tmp/my_project/results
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

知识付费AI提示词模板:从课程大纲到实战案例的完整生产指南 2026/9/30 10:19:54

知识付费AI提示词模板:从课程大纲到实战案例的完整生产指南

简介:面向知识付费从业者的十六个提示词模板,系统覆盖课程大纲生成、课程内容规划、实战案例设计、销售页文案、社交媒体宣传、介绍视频脚本等全链路环节。每个模板均列明目标受众、内容结构、风格要求等细化指令,替换主题词即可直接用于产品…

阅读更多 →
奶牛体尺测量双目视觉实战:从标定到数据落地的全流程解析 2026/9/30 10:19:54

奶牛体尺测量双目视觉实战:从标定到数据落地的全流程解析

简介:这是一篇关于基于机器双目视觉的奶牛体尺参数测量应用的学术论文,面向畜牧养殖智能化研究人员、机器视觉技术应用者以及奶牛精细化养殖管理者。论文针对传统人工测量体尺步骤繁琐、人力投入大且容易引起奶牛应激反应等痛点,提出非接触式…

阅读更多 →
Jev编程智能体实操:从密钥申请到Codex接入全指南 2026/9/30 10:19:54

Jev编程智能体实操:从密钥申请到Codex接入全指南

最近全网都在刷“Jev”这个词,我后台私信里至少十几个朋友在问同一个问题:Jev到底是什么?是不是又一个智商税?能不能用来写代码?到底怎么申请、怎么接入Codex?我也花了两个晚上把官网、社区、GitHub翻了一遍…

阅读更多 →
大模型微调实践:数据构建、LoRA 调参与训练评估 2026/9/30 10:19:40

大模型微调实践:数据构建、LoRA 调参与训练评估

上一章讲了SFT、DPO、PPO、GRPO的原理,这里再讲讲数据怎样组织、参数怎样理解、效果怎样判断。 建议先用较小模型加 LoRA 验证数据与实验设置,再迁移到更大模型。 一、SFT (Supervised Fine-Tuning,监督微调) 做法…

阅读更多 →
AI+CAD从Demo到工程化:图纸解析、模型落地与工作流集成 2026/9/30 10:19:40

AI+CAD从Demo到工程化:图纸解析、模型落地与工作流集成

1. 从一堆"跑通了"的Demo说起:AICAD的真实落地困境过去一年多,我陆陆续续接触了不少做AICAD方向的团队和个人开发者,也自己动手折腾过几个原型。一个非常普遍的现象是:几乎每个人都能在两周内做出一个"看起来能用&…

阅读更多 →
AI应用实时搜索接入实战:Ace Data Cloud Search Engine API指南 2026/9/30 10:19:20

AI应用实时搜索接入实战:Ace Data Cloud Search Engine API指南

1. 为什么AI应用需要接入实时搜索:知识断层与RAG的短板 1.1 模型知识截止日期不是小事 做AI应用的人应该都有这种体验:你问大模型“今天市场上发生了什么”“某公司最新的产品发布了没有”,它要么一脸茫然,要么自信满满地给你编一…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉