卷0 · 基础篇
0.5 Git / Linux / 远程开发生存包
展开本章目录与同卷章节
1. Git:五个动作 + 一条铁律2. Linux 生存二十条(租卡环境的全部日常)3. 远程开发三件套(按舒适度递增)4. 自测题5. 动手作业(今天就能练,全部免费)6. 延伸资源同卷章节0.1 数学基础:线性代数 · 概率 · 优化(深度学习视角三合一)0.2 Python 与 PyTorch 实战:从装环境到手写训练循环0.3 神经网络与反向传播:从零实现(micrograd 路线)0.4 训练工程常识:混合精度、断点续训、调试与监控0.5 Git / Linux / 远程开发生存包本章目标:把”租了卡连不上、跑了实验找不到、改了代码乱了版”这三类新手事故一次性免疫——Git 工作流、Linux 命令生存集、远程开发环境三件套。学完标准:能独立在 AutoDL 上开机 → 拉代码 → 后台训练 → 断线恢复 → 取回结果。
1. Git:五个动作 + 一条铁律
日常 95% 的场景只需要:
git clone <url> # 取
git checkout -b feat/xxx # 开分支(实验与主线隔离)
git add -p && git commit -m "..." # 小步提交(-p 逐块审,防误提交大文件)
git push origin feat/xxx # 推
git log --oneline / git diff # 查
铁律:数据、权重、大文件不进 Git(.gitignore 里写死 data/ checkpoints/ *.pth *.gguf)——Git 是管代码的,二进制让它的一半历史都会爆。大文件的正确归宿:HuggingFace/ModelScope(模型)、网盘/对象存储(数据)、wandb(实验记录)。
与实验管理的接线(0.4 §5):每次实验记录 git commit hash——三个月后”这个结果对应哪版代码”永远有答案。
2. Linux 生存二十条(租卡环境的全部日常)
# 看:系统在干什么
nvidia-smi # GPU 占用(watch -n1 nvidia-smi 持续看)
htop # CPU/内存;df -h 磁盘;free -h 内存
# 找:文件与文本
find . -name "*.pth" # 按名找;du -sh * 看各目录体积(磁盘爆前的第一动作)
grep -rn "OOM" logs/ # 文本内搜(-r 递归 -n 行号)
# 管:进程
ps aux | grep python # 找进程;kill -9 <pid> 清僵尸(7.1 的第一步)
# 传:本地 ↔ 服务器
scp local.zip user@host:/root/ # 上传;反向即下载
# 解压/环境
tar -xzf file.tar.gz ; unzip file.zip
强制纪律:长训练必须挂后台——SSH 断线 = 前台进程死光 = 白训一夜(新手最痛的一课):
tmux new -s train # 新建会话,在其中跑 python train.py
# Ctrl+B 再按 D 脱离(进程继续);tmux attach -t train 随时回来
tmux ls # 查看所有会话
tmux/screen 二选一学会即可,这 30 分钟的学习换来你所有长训练的安全。
3. 远程开发三件套(按舒适度递增)
- SSH 直连:
ssh -p <端口> root@<主机>(AutoDL 会给完整命令);密钥登录(ssh-keygen+ 上传公钥)免密码; - VS Code Remote-SSH(推荐):本地 VS Code 装插件 → 连远程 → 像本地一样编辑远程文件、开远程终端、断点调试——本地写码的舒适 + 远程算力的实惠一次拿到;
- JupyterLab(平台自带):交互探索/画图方便,长训练仍走 tmux。
租卡流程模板(AutoDL 为例):开机 → 进 ~/autodl-tmp(数据盘,不扣费空间大)→ 克隆代码 → 下数据(huggingface-cli download 或平台网盘)→ 装环境(优先用平台的镜像/pip install -r requirements.txt)→ 先跑 50 step 冒烟(0.4 §8 的算力估算)→ tmux 里挂长训练 → 关机前把 checkpoint 拷回数据盘/下载。磁盘会满、进程会残留、接口会记错端口——第 2 节的命令就是为这些准备的。
4. 自测题
- Git 铁律是什么?大文件的三个正确归宿?(数据权重不进库;HF/网盘/wandb)
- 为什么前台跑长训练是事故?(SSH 断=进程死;tmux 会话独立于连接)
- tmux 脱离和杀掉的区别?(detach 保留进程 / kill 终止)
- 磁盘告急的第一个动作?(
du -sh *定位大头 + 清 checkpoint/缓存) - 远程开发推荐哪套?它解决了什么?(VS Code Remote——本地体验+远程算力)
- 租卡流程里”冒烟”指什么?为什么必做?(50 step 实测吞吐与显存——估算租期与预算,防”跑了一天才发现配置错”)
5. 动手作业(今天就能练,全部免费)
- 给你的笔记/代码 repo 建正式 Git 仓库:写好
.gitignore,完成”开分支→提交→合并”一轮; - 本机装 tmux(Windows 用 WSL 或 Git Bash 的 screen),体验 detach/attach 三次;
- 试跑 VS Code Remote-SSH:连任意一台你能访问的机器(或本地 WSL);
- 挑战:在 Kaggle/魔搭的免费环境里完成”clone 你自己的 repo → 跑通 CIFAR 5 epoch → 把日志和权重取回本地”的完整闭环——这个闭环跑通,你就有了全世界的算力。
6. 延伸资源
- 《Pro Git》前 2、3 章——免费官方书,够用终身
- The Missing Semester(MIT)——Shell/Git/工具课,与本章互补的第一名
- AutoDL 帮助文档——平台细节(端口/网盘/镜像)
