Files
2025-12-16 09:23:53 +08:00

153 lines
5.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "b0c43609",
"metadata": {
"origin_pos": 0
},
"source": [
"# 使用Amazon SageMaker\n",
":label:`sec_sagemaker`\n",
"\n",
"深度学习程序可能需要很多计算资源,这很容易超出你的本地计算机所能提供的范围。云计算服务允许你使用功能更强大的计算机更轻松地运行本书的GPU密集型代码。本节将介绍如何使用Amazon SageMaker运行本书的代码。\n",
"\n",
"## 注册\n",
"\n",
"首先,我们需要在注册一个帐户https://aws.amazon.com/。 为了增加安全性,鼓励使用双因素身份验证。设置详细的计费和支出警报也是一个好主意,以避免任何意外,例如,当忘记停止运行实例时。登录AWS帐户后,转到[console](http://console.aws.amazon.com/)并搜索“Amazon SageMaker”(参见 :numref:`fig_sagemaker`),然后单击它打开SageMaker面板。\n",
"\n",
"![搜索并打开SageMaker面板](../img/sagemaker.png)\n",
":width:`300px`\n",
":label:`fig_sagemaker`\n",
"\n",
"## 创建SageMaker实例\n",
"\n",
"接下来,让我们创建一个notebook实例,如 :numref:`fig_sagemaker-create`所示。\n",
"\n",
"![创建一个SageMaker实例](../img/sagemaker-create.png)\n",
":width:`400px`\n",
":label:`fig_sagemaker-create`\n",
"\n",
"SageMaker提供多个具有不同计算能力和价格的[实例类型](https://aws.amazon.com/sagemaker/pricing/instance-types/)。创建notebook实例时,可以指定其名称和类型。在 :numref:`fig_sagemaker-create-2`中,我们选择`ml.p3.2xlarge`:使用一个Tesla V100 GPU和一个8核CPU,这个实例的性能足够本书的大部分内容使用。\n",
"\n",
"![选择实例类型](../img/sagemaker-create-2.png)\n",
":width:`400px`\n",
":label:`fig_sagemaker-create-2`\n"
]
},
{
"cell_type": "markdown",
"id": "87a915ca",
"metadata": {
"origin_pos": 2,
"tab": [
"pytorch"
]
},
"source": [
"用于与SageMaker一起运行的ipynb格式的整本书可从https://github.com/d2l-ai/d2l-pytorch-sagemaker获得。\n",
"我们可以指定此GitHub存储库URL :numref:`fig_sagemaker-create-3`),以允许SageMaker在创建实例时克隆它。\n"
]
},
{
"cell_type": "markdown",
"id": "061d3b04",
"metadata": {
"origin_pos": 4
},
"source": [
"![指定GitHub存储库](../img/sagemaker-create-3.png)\n",
":width:`400px`\n",
":label:`fig_sagemaker-create-3`\n",
"\n",
"## 运行和停止实例\n",
"\n",
"创建实例可能需要几分钟的时间。当实例准备就绪时,单击它旁边的“Open Jupyter”链接( :numref:`fig_sagemaker-open`),以便你可以在此实例上编辑并运行本书的所有Jupyter Notebook(类似于 :numref:`sec_jupyter`中的步骤)。\n",
"\n",
"![在创建的SageMaker实例上打开Jupyter](../img/sagemaker-open.png)\n",
":width:`400px`\n",
":label:`fig_sagemaker-open`\n",
"\n",
"完成工作后,不要忘记停止实例以避免进一步收费( :numref:`fig_sagemaker-stop`)。\n",
"\n",
"![停止SageMaker实例](../img/sagemaker-stop.png)\n",
":width:`300px`\n",
":label:`fig_sagemaker-stop`\n",
"\n",
"## 更新Notebook\n"
]
},
{
"cell_type": "markdown",
"id": "f55e7f4e",
"metadata": {
"origin_pos": 6,
"tab": [
"pytorch"
]
},
"source": [
"这本开源书的notebook将定期在GitHub上的[d2l-ai/d2l-pytorch-sagemaker](https://github.com/d2l-ai/d2l-pytorch-sagemaker)存储库中更新。要更新至最新版本,你可以在SageMaker实例( :numref:`fig_sagemaker-terminal`)上打开终端。\n"
]
},
{
"cell_type": "markdown",
"id": "f2b7db7b",
"metadata": {
"origin_pos": 8
},
"source": [
"![在SageMaker实例上打开终端](../img/sagemaker-terminal.png)\n",
":width:`300px`\n",
":label:`fig_sagemaker-terminal`\n",
"\n",
"你可能希望在从远程存储库提取更新之前提交本地更改。否则,只需在终端中使用以下命令放弃所有本地更改:\n"
]
},
{
"cell_type": "markdown",
"id": "b1900934",
"metadata": {
"origin_pos": 10,
"tab": [
"pytorch"
]
},
"source": [
"```bash\n",
"cd SageMaker/d2l-pytorch-sagemaker/\n",
"git reset --hard\n",
"git pull\n",
"```\n"
]
},
{
"cell_type": "markdown",
"id": "5060f222",
"metadata": {
"origin_pos": 12
},
"source": [
"## 小结\n",
"\n",
"* 我们可以使用Amazon SageMaker创建一个GPU的notebook实例来运行本书的密集型代码。\n",
"* 我们可以通过Amazon SageMaker实例上的终端更新notebooks。\n",
"\n",
"## 练习\n",
"\n",
"1. 使用Amazon SageMaker编辑并运行任何需要GPU的部分。\n",
"1. 打开终端以访问保存本书所有notebooks的本地目录。\n",
"\n",
"[Discussions](https://discuss.d2l.ai/t/5732)\n"
]
}
],
"metadata": {
"language_info": {
"name": "python"
},
"required_libs": []
},
"nbformat": 4,
"nbformat_minor": 5
}