You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停止AWS EC2 p3.2xlarge实例前,导出代码数据并实现环境重建的标准方法

标准一键式迁移AWS EC2 TensorFlow训练环境的方案

Hey there! 针对你在AWS EC2 p3.2xlarge上运行TensorFlow Object Detection API训练的场景,我整理了一套标准化、接近一键式的迁移方案,既能完整备份所有代码、数据和运行环境,又能快速在新实例中重建——比手动scp或者Jupyter下载高效得多:

一、先在原EC2实例上完成环境与数据的快照打包

这一步是把所有需要的内容打包成一个压缩包,方便一次性传输。

1. 导出Python虚拟环境依赖(可选,但保险)

因为你用了virtualenvwrapper,先激活你的训练环境(假设环境名是tf-od-env),导出所有pip安装的包:

workon tf-od-env
pip freeze > ~/tf-od-requirements.txt

2. 导出系统APT软件包列表

把通过sudo apt-get安装的所有软件包记录下来,方便新实例一键恢复:

sudo dpkg --get-selections > ~/apt-packages-list.txt

3. 打包所有核心内容

用tar把虚拟环境、克隆的仓库、自定义文件、依赖列表全部打包成一个压缩包。替换下面的路径为你实际的目录:

cd ~
tar -czvf ec2-tf-od-backup.tar.gz \
  .virtualenvs/tf-od-env \  # 你的虚拟环境目录
  my-github-repos \          # 克隆的GitHub仓库所在目录
  my-training-files \        # 你自己创建的.ipynb/.py/.jpg等文件目录
  tf-od-requirements.txt \
  apt-packages-list.txt

二、把备份包下载到本地

用scp一次性把压缩包拉到本地,比逐个文件传输高效太多:

scp -i /path/to/your-aws-key.pem ubuntu@<原EC2实例公网IP>:~/ec2-tf-od-backup.tar.gz /path/to/local/folder/

记得替换成你自己的密钥路径、EC2实例IP和本地保存路径。

三、在新Ubuntu 20.04实例上一键重建环境

启动新的p3.2xlarge实例(同样用Ubuntu 20.04 AMI),然后执行以下步骤:

1. 上传备份包到新实例

scp -i /path/to/your-aws-key.pem /path/to/local/ec2-tf-od-backup.tar.gz ubuntu@<新EC2实例公网IP>:~/

2. 恢复系统软件包和基础配置

登录新实例后,先恢复APT软件包:

sudo dpkg --set-selections < ~/apt-packages-list.txt
sudo apt-get dselect-upgrade -y
# 确保virtualenvwrapper配置好(如果原实例的配置没包含在备份里,手动加一下)
echo "export WORKON_HOME=~/.virtualenvs" >> ~/.bashrc
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

3. 解压备份包恢复所有内容

cd ~
tar -xzvf ec2-tf-od-backup.tar.gz

这会直接把虚拟环境、代码、数据恢复到原路径,不需要重新创建虚拟环境——因为我们打包了整个环境目录,所有依赖都已经在里面了。

4. 验证环境正常

激活虚拟环境,检查TensorFlow和Object Detection API是否能正常运行:

workon tf-od-env
python -c "import tensorflow; print(tensorflow.__version__)"
# 测试Object Detection API
cd ~/my-github-repos/tensorflow/models/research
python object_detection/builders/model_builder_tf2_test.py

终极一键方案:创建自定义AWS AMI

如果之后你需要频繁创建相同的训练实例,创建自定义AMI才是真正的一键式解决方案:

  1. 在原EC2实例上,先清理临时文件减少镜像大小:
    sudo apt-get clean
    rm -rf ~/.cache/pip/*
    rm -rf /tmp/*
    
  2. 停止原实例(必须停止才能创建AMI),在AWS控制台右键实例 → 选择「创建镜像」,填写名称和描述,等待镜像创建完成。
  3. 之后创建新实例时,直接选择你自己的自定义AMI,启动后所有环境、软件、文件和原实例完全一致,不需要任何额外配置,真正一键启动。

这个方法的优势是彻底省去了备份、传输、重建的步骤,适合需要重复部署的场景,唯一的小成本是镜像会占用AWS的EBS存储(价格很低)。

内容的提问来源于stack exchange,提问作者Tarun Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 06:56:00