云镜收藏

稍后阅读

清单保存在当前浏览器,方便下次回来继续阅读。

清单还是空的

在笔记卡片或正文页点击“加入稍后阅读”即可收藏。

卷0 · 基础篇

0.5 Git / Linux / 远程开发生存包

约 4 分钟阅读
全书目录

展开本章目录与同卷章节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. 远程开发三件套(按舒适度递增)

  1. SSH 直连:ssh -p <端口> root@<主机>(AutoDL 会给完整命令);密钥登录(ssh-keygen + 上传公钥)免密码;
  2. VS Code Remote-SSH(推荐):本地 VS Code 装插件 → 连远程 → 像本地一样编辑远程文件、开远程终端、断点调试——本地写码的舒适 + 远程算力的实惠一次拿到;
  3. JupyterLab(平台自带):交互探索/画图方便,长训练仍走 tmux。

租卡流程模板(AutoDL 为例):开机 → 进 ~/autodl-tmp(数据盘,不扣费空间大)→ 克隆代码 → 下数据(huggingface-cli download 或平台网盘)→ 装环境(优先用平台的镜像/pip install -r requirements.txt)→ 先跑 50 step 冒烟(0.4 §8 的算力估算)→ tmux 里挂长训练 → 关机前把 checkpoint 拷回数据盘/下载。磁盘会满、进程会残留、接口会记错端口——第 2 节的命令就是为这些准备的。

4. 自测题

  1. Git 铁律是什么?大文件的三个正确归宿?(数据权重不进库;HF/网盘/wandb)
  2. 为什么前台跑长训练是事故?(SSH 断=进程死;tmux 会话独立于连接)
  3. tmux 脱离和杀掉的区别?(detach 保留进程 / kill 终止)
  4. 磁盘告急的第一个动作?(du -sh * 定位大头 + 清 checkpoint/缓存)
  5. 远程开发推荐哪套?它解决了什么?(VS Code Remote——本地体验+远程算力)
  6. 租卡流程里”冒烟”指什么?为什么必做?(50 step 实测吞吐与显存——估算租期与预算,防”跑了一天才发现配置错”)

5. 动手作业(今天就能练,全部免费)

  1. 给你的笔记/代码 repo 建正式 Git 仓库:写好 .gitignore,完成”开分支→提交→合并”一轮;
  2. 本机装 tmux(Windows 用 WSL 或 Git Bash 的 screen),体验 detach/attach 三次;
  3. 试跑 VS Code Remote-SSH:连任意一台你能访问的机器(或本地 WSL);
  4. 挑战:在 Kaggle/魔搭的免费环境里完成”clone 你自己的 repo → 跑通 CIFAR 5 epoch → 把日志和权重取回本地”的完整闭环——这个闭环跑通,你就有了全世界的算力。

6. 延伸资源

  • 《Pro Git》前 2、3 章——免费官方书,够用终身
  • The Missing Semester(MIT)——Shell/Git/工具课,与本章互补的第一名
  • AutoDL 帮助文档——平台细节(端口/网盘/镜像)