一、AutoDL算力云介绍
AutoDL是一个提供高性能GPU算力租用的云计算平台,专注于为人工智能(AI)、机器学习(ML)和深度学习(DL)项目提供服务,帮助用户以较低的成本获取强大的计算资源,加速模型训练和开发过程。
算力云特点
高性能GPU资源:提供多种高性能GPU配置,如RTX 3090、RTX 4090、NVIDIA A100等,满足不同深度学习任务的需求。
极致性价比:通过技术优化,如显卡虚拟化切割、共享调度等,AutoDL能够提供比传统公有云更低价格的GPU实例,帮助用户节省成本。
环境开箱即用:预置了主流的深度学习框架(如PyTorch、TensorFlow、JupyterLab)和常用库的镜像,用户无需从零开始配置复杂的环境,创建实例后即可直接开始编码和训练。
按需计费,弹性灵活:完全按使用时长付费,用多久付多久。支持随时开机、关机,数据可以保留一段时间,非常适合做实验、跑代码和参加竞赛。
用户友好:针对AI开发者设计了非常直观的控制台,提供了SSH远程登录、JupyterLab在线编程、无卡模式开机等多种便捷功能。
二、GitHub 介绍
GitHub 是全球最大的代码托管与协作平台,底层依托 Git 进行版本控制。它不仅可以帮助开发者保存和管理代码,还提供了 版本追踪、分支管理、多人协作 等功能。除此之外,GitHub 还拥有 Issue 追踪、Pull Request 代码审查、GitHub Actions 自动化 等丰富生态,是开源社区和个人开发者最常用的工具。
对于研究生、开发者甚至科研人员来说,GitHub 也常常作为 技术能力展示的平台。一个维护良好的 GitHub 仓库,不仅能记录项目的成长过程,还能成为求职或科研申请中的“作品集”。
三、为什么要备份到 GitHub?
在 AutoDL 等算力云平台中,实例往往是临时性的,一旦重置或到期,文件很可能会丢失。为了避免辛苦训练的代码和数据意外丢失,把文件同步到 GitHub 是一个非常稳妥的做法。
具体好处包括:
防止数据丢失:云端实例可能随时被清理,推送到 GitHub 可以保证代码长期保存。
随时随地访问:只要有网络,就可以在任意设备上拉取代码,不依赖单一服务器。
版本管理:借助 Git 的强大功能,可以方便地回溯历史版本,避免误操作导致的代码损坏。
团队协作:如果项目需要多人参与,GitHub 的协作机制能让团队更高效地开发。
展示与积累:公开的仓库不仅是备份,更是个人技术积累的展示,对未来求职或科研都有价值。
四、备份全过程
1. 准备工作:Git 与 GitHub 仓库创建
在正式将 AutoDL 实例里的文件推送到 GitHub 之前,我们需要完成一些基础准备工作。主要分为两个步骤:安装与配置 Git、创建 GitHub 仓库。
1) 安装与配置 Git
AutoDL 实例大多数情况下已经预装了 Git,可以通过以下命令检查:
git --version
如果能正常输出版本号(例如 git version 2.34.1
),说明 Git 已经安装好。
接下来,需要配置 Git 的用户名和邮箱(这会写入提交记录中):
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub邮箱"
完成后可以通过以下命令检查配置:
git config --list
2) 创建 GitHub 仓库
登录 GitHub 官网,点击右上角 New repository 创建新仓库:
Repository name:填写仓库名称,例如
AutoDL_Backup
。Description(可选):简要描述仓库用途。
Visibility:选择 Public(公开)或 Private(私有)。
其他选项保持默认即可。
创建完成后,GitHub 会生成一个远程仓库地址:
HTTPS 方式(适合新手):
https://github.com/你的用户名/AutoDL_Backup.git
SSH 方式(推荐,免密推送):
git@github.com:你的用户名/AutoDL_Backup.git
可以先记下这个地址,后面会用来和 AutoDL 实例里的 Git 进行绑定。
2. 在 AutoDL 实例中配置 Git
完成 GitHub 仓库创建后,我们需要在 AutoDL 实例里配置好 Git,以便顺利推送文件到远程仓库。常见的配置方式有两种:HTTPS 模式和SSH 模式。
1) 使用 HTTPS 模式(简单但每次需要输入 Token)
在本地 Git 配置好后,可以直接添加远程仓库:
git remote add origin https://github.com/你的用户名/AutoDL_Backup.git
此时如果执行 git push
,Git 会提示输入账号密码。由于 GitHub 已经弃用明文密码登录,这里需要使用 Personal Access Token:
进入 GitHub → 头像 → Settings → Developer settings → Personal access tokens。
生成一个 Token(选择
repo
权限即可)。在 AutoDL 推送时,将用户名填写为 GitHub 用户名,密码填写为刚生成的 Token。
这种方式比较直观,但每次推送可能需要重复输入。
2) 使用 SSH 模式(推荐,免密推送)
如果你不想每次都输入 Token,可以配置 SSH Key:
在 AutoDL 实例中生成 SSH Key:
ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱"
一路回车即可,生成的 key 会保存在
~/.ssh/id_rsa
(私钥)和~/.ssh/id_rsa.pub
(公钥)。查看公钥内容并复制:
cat ~/.ssh/id_rsa.pub
登录 GitHub → Settings → SSH and GPG keys → New SSH key,粘贴公钥并保存。
在 AutoDL 上测试是否成功:
ssh -T git@github.com
如果显示 “Hi xxx! You've successfully authenticated”,说明配置成功。
绑定远程仓库(SSH 方式):
git remote add origin git@github.com:你的用户名/AutoDL_Backup.git
之后每次推送都无需输入密码,非常适合长期使用。
3. 上传文件到 GitHub 仓库
当 AutoDL 实例中的 Git 已经完成配置,就可以正式将代码或文件推送到 GitHub 仓库了。整个流程主要分为 初始化仓库 → 添加文件 → 提交 → 推送 四个步骤。
1) 初始化本地仓库
在需要备份的目录下执行:
cd /root/autodl-tmp # 进入你的项目目录
git init # 初始化本地仓库
这会在当前目录生成一个 .git
文件夹,用于保存 Git 的版本信息。
2) 添加远程仓库
如果之前没有绑定过远程仓库,可以手动添加:
git remote add origin git@github.com:你的用户名/AutoDL_Backup.git
如果是 HTTPS 方式,则:
git remote add origin https://github.com/你的用户名/AutoDL_Backup.git
3) 添加并提交文件
将目录中的文件纳入版本管理:
git add . # 添加所有文件
git commit -m "backup: initial commit" # 提交并写下提交说明
4) 推送到 GitHub
首次推送需要指定分支:
git branch -M main # 将当前分支改为 main
git push -u origin main # 推送到远程仓库
如果配置的是 SSH 模式,推送会直接成功;如果是 HTTPS 模式,可能需要输入 GitHub 用户名和 Token。
5. 验证是否成功
登录 GitHub,进入你的仓库页面,刷新后应该能看到刚刚上传的文件。
五、总结与注意事项
在 AutoDL 实例中将文件备份到 GitHub 的过程中,除了基本的 git init
、git add
、git commit
和 git push
,往往还会遇到一些实际问题,需要提前注意:
大文件限制:GitHub 普通仓库单文件限制 100MB,超过会推送失败。对于模型文件、压缩包等大文件,可以考虑使用 Git LFS 或直接上传到 GitHub Releases/外部存储,并在仓库里提供下载方式。
子模块问题:如果目录里本身包含
.git
,提交时会被当作子模块,导致在 GitHub 页面上无法正常展开。需要清理内部的.git
并重新提交为普通文件夹。目录结构调整:为了管理方便,可以将所有文件统一放在一个目录下,例如
2025_9_11/
,保持仓库根目录整洁清晰。HTTPS 与 SSH 的区别:HTTPS 推送每次需要输入用户名和 Token,配置 SSH key 后能实现免密推送,更适合长期使用。
强制推送的风险:在清理历史、删除大文件或重建快照时可能需要使用
git push --force
。这种操作会覆盖远程历史,应谨慎使用,并确保团队成员知情。.gitignore 的必要性:建议在仓库中配置
.gitignore
,避免无关的中间文件、日志文件、大文件误入版本控制,减少后续清理的麻烦。