想要加速机器学习模型的部署,但又不想花费大量时间在环境配置上?AWS深度学习容器(DL Containers)提供了一个完美的解决方案。这些容器已经预装了主流的深度学习框架,无需从头开始构建和调优环境,便能快速启动项目。在Amazon EKS、Kubernetes、Amazon ECS和EC2上都可以将机器学习功能集成到容器化应用中。在本教程中将通过Amazon EC2实例使用深度学习容器,训练TensorFlow机器学习模型。
一、注册AWS账户
AWS官网地址:点击访问(免费使用12个月Amazon EC2)
在开始本教程之前,需要一个AWS账户。在本教程中将使用AWS Deep Learning Containers,本身不需要额外付费。只需要为所使用的Amazon c5.large实例付费。执行完教程中的终止步骤后,费用预计不会超过1美元。
注册步骤:《亚马逊云科技账号注册流程图解》
二、为Amazon ECR配置访问权限AWS Deep Learning Containers镜像存储在Amazon Elastic Container Registry (ECR) 中,这是一个托管的Docker容器注册表,旨在帮助开发者轻松存储、管理和部署Docker镜像。本步骤将为IAM用户赋予对Amazon ECR的访问权限(通过使用AmazonECS_FullAccess策略)。
步骤如下:
1、前往IAM控制台
打开AWS管理控制台,并在搜索框中输入 “IAM”,点击打开IAM控制台。
2、选择用户
在控制台左侧的导航栏中选择Users(用户)。
3、为用户添加权限
在用户详情页面中,点击Add Permissions(添加权限)。
4、附加ECS完全访问策略
选择Attach existing policies directly(直接附加现有策略),在搜索框中输入 “ECS_FullAccess”,勾选该策略,然后点击 Review(查看) 和 Add Permissions(添加权限)。
5、添加内联策略
在IAM用户摘要页面,点击Add inline policy(添加内联策略)。
6、粘贴JSON策略
切换到JSON页签,粘贴以下策略内容:
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Action”: “ecr:*”,
“Effect”: “Allow”,
“Resource”: “*”
}
]
}
然后点击Create Policy(创建策略) 并为策略命名。
三、启动AWS Deep Learning Base AMI实例在本教程中,AWS将使用AWS Deep Learning Base AMI 上的 AWS Deep Learning Containers,这些容器已预装了所需的依赖项(例如 Nvidia 驱动程序、docker 和 nvidia-docker)。可以在任何AMI上使用这些容器。
1、前往Amazon EC2控制台
打开AWS管理控制台,搜索并选择Amazon EC2,进入EC2服务控制台。
2、启动EC2实例
在Amazon EC2控制台,点击Launch Instance(启动实例) 按钮。
3、选择AWS Deep Learning Base AMI
在左侧的 AWS Marketplace 页签中,搜索 “deep learning base ubuntu”,并选择 Deep Learning Base AMI (Ubuntu),还可以选择 Deep Learning Base AMI (Amazon Linux)。
4、选择实例类型
选择一个Amazon EC2实例类型。在本教程中,建议使用 c5.large 实例,但也可以根据需求选择其他实例类型,包括 GPU 实例(如 G4、G5、P3 和 P4)。
点击 Review and Launch(查看并启动)。
5、启动实例
查看实例详细信息后,点击 Launch(启动)。
6、创建并下载密钥对
在页面中,选择创建一个新的密钥对,命名并下载该密钥对。请确保将密钥存放在安全的位置,因为丢失后无法访问实例。
如果已有可用的密钥对,也可以选择 Choose an existing key pair(选择现有密钥对)。
7、查看实例详情
在Amazon EC2控制台中,选择实例 ID,查看新创建实例的详细信息。
在这一步骤中,AWS将使用 SSH 连接到新启动的实例。以下说明适用于 Mac/Linux 环境。如果你使用的是 Windows,可以参照教程的步骤 4 进行操作。
1、查找并复制实例的公共 DNS
在实例的描述页面下,复制Amazon EC2实例的公共 DNS(IPv4 地址)。
2、打开命令行终端
在终端中,切换到存放安全密钥的目录,然后使用 SSH 命令连接到实例:
cd /Users/<your_username>/Downloads/
chmod 0400 <your .pem filename>
ssh -L localhost:8888:localhost:8888 -i <your .pem filename> ubuntu@<your instance DNS>
3、安装Docker
在继续之前,停止任何正在进行的系统更新,确保AWS可以顺利安装 Docker:
五、登录Amazon ECRsudo pkill -f “apt.systemd.daily”
sudo apt install docker.io
AWS Deep Learning Container 镜像托管在 Amazon Elastic Container Registry (ECR),这是一个全托管的 Docker 容器注册表,让开发者更便捷地存储、管理和部署容器镜像。此步骤将帮助你登录 ECR,并验证服务访问权限。
1、配置AWS凭据
你需要提供AWS访问密钥 ID 和私有访问密钥。如果还没有相关信息,可以通过 AWS 控制台创建它们。
2、登录Amazon ECR
通过以下命令登录 Amazon ECR:
sudo su –
$(aws ecr get-login –region us-east-1 –no-include-email –registry-ids 763104351884)
注意:命令中的“$”和圆括号非常重要。执行成功后,你会看到“Login Succeeded”(登录成功)的提示。
六、使用Deep Learning Containers运行TensorFlow训练接下来,AWS将使用 AWS Deep Learning Container 镜像和 Python 3.6,在 CPU 实例上进行 TensorFlow 训练。
1、运行AWS Deep Learning Containers
使用以下命令在Amazon EC2实例上启动 AWS Deep Learning Container 镜像。如果镜像尚未下载,该命令会自动拉取镜像。
若使用 CPU 实例:
docker run -it 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:2.8.0-cpu-py39-ubuntu20.04-e3
注意:镜像可能需要几分钟时间来拉取,具体取决于镜像大小。如果你使用的是 GPU 实例,可以用“nvidia-docker”代替“docker”。该步骤完成后,你将进入容器的 bash 提示符。
2、拉取示例模型进行训练
AWS将克隆 Keras 仓库,里面有示例的 Python 脚本用于训练模型:
git clone https://github.com/gilinachum/keras
3、开始训练
执行以下命令,开始训练经典的 MNIST CNN 模型:
python keras/mnist.py
此时,AWS Deep Learning Container 已经开始进行训练。
七、终止资源完成教程后,为了节省成本,终止未使用的资源是非常重要的。以下是如何终止你在本教程中创建的 EC2 实例。
1、选择运行中的实例
在 Amazon EC2 控制台中,选择“Running Instances”(运行中的实例)。
2、终止EC2实例
选择你创建的Amazon EC2实例,然后依次选择“Actions” > “Instance State” > “Terminate”(操作 > 实例状态 > 终止)。
3、确认终止
系统会要求你确认是否终止实例。点击“Yes, Terminate”(是,终止)确认。
注意:此过程可能需要几秒钟时间才能完成,实例终止后,你会看到实例状态变为“terminated”(已终止)。
相关推荐:
《亚马逊免费云服务器Amazon EC2启动Linux实例教程》
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

微信扫码加好友进群
主机优惠码及时掌握

QQ群号:938255063
主机优惠发布与交流