在 AWS DeepRacer 控制台中导入和导出模型 - AWS DeepRacer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS DeepRacer 控制台中导入和导出模型

在某些情况下,您可能需要导入或导出 AWS DeepRacer 模型。参加雇主赞助赛事的选手可以导出模型,以免失去对模型的访问权限,比赛管理员可以提供预先训练的模型,供选手在赛事期间导入和使用。使用您的模型页面在控制台中导入和导出 AWS DeepRacer 模型。

将您的 AWS DeepRacer 模型复制到亚马逊 S3

将 AWS DeepRacer 模型复制到亚马逊 S3
  1. 登录 A WS DeepRacer 控制台

  2. 在导航窗格上的强化学习中,选择您的模型

  3. 选中模型名称旁边的复选框,以选择要导入的模型。一次只能从控制台将一个模型复制到 Amazon S3。

  4. 选择操作按钮下拉列表,然后选择复制到 S3

    此时将打开一个新的复制到 Amazon S3 页面。

  5. 在“复制到 Amazon S3”页面上,使用 Amazon S3 存储桶下拉选择器选择要将模型导出到其中的 Amazon S3 存储桶。AWS DeepRacer S3 存储桶的名称中必须包含 deepacer。

    1. 如果没有有效的 Amazon S3 存储桶,请选择创建新存储桶创建一个。下拉选择器将使用以下格式填充存储桶名称:aws-deepracer-assets-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  6. 在 S3 对象前缀字段中为 Amazon S3 对象添加可选的文件夹前缀。

  7. 设置 S3 存储桶后,选择要包含的资产。必须至少选择一种资产类型才能继续。

    • 模型:模型文件夹包含模型导入所需的所有文件。

    • 日志:复制模型的训练和评估日志。此选项包括 logs/metrics/sim-trace/ 文件夹。

    • 视频:此选项可将视频文件夹复制到 Amazon S3 存储桶。视频文件夹包含 evaluation/training/ 文件夹。这些文件夹包括俯视图、45 度角视图和带控制台覆盖的 45 度角视图的视频,显示了赛车在赛道上的位置。

  8. 按下复制后,会出现一个弹出窗口,告知您需要支付 Amazon S3 数据存储费用。如果同意这些条款,请按弹出窗口上的复制按钮。

  9. 复制过程开始后,您将返回控制台中的您的模型页面。页面顶部的横幅将显示当前状态。导出过程完成后,横幅将确认导出成功。

模型导入所需的文件

要上传在控制台之外训练的模型的模型文件夹,请按照 Amazon S3 文档上传对象页面上的步骤操作。下表包含模型导入所需的文件列表。如果缺少任何所需文件,模型导入将会失败。

在 AWS DeepRacer 控制台中训练的模型采用文件夹名称格式DAY/MONTH/YEAR/TIME GMT。我们的示例模型于 2023 年 11 月 30 日导出,文件夹名称为 Thu, 30 Nov 2023 19:01:24 GMT。在本例中,我们将此文件夹称为 root

模型导入所需的文件
文件名 文件夹路径 说明
.coach_checkpoint root/model/ coach checkpoint 文件包含导入中使用的模型检查点的密钥。
ckpt 文件 root/model/ checkpoint 文件是训练期间在不同阶段获取的模型权重的快照。其中包括 ckpt.indexckpt.datackpt.meta 文件。
model_metadata.json root/ 模型元数据文件包含的设置包括操作空间定义、传感器配置和训练算法选择。
reward_function.py root/ 一个 python 文件,其中包含用于训练模型的奖励函数。

导入模型时不需要指标文件。如果不包括这些文件,则模型的训练指标和奖励图将无法在控制台上显示。

模型导入的可选文件
文件名 文件夹路径 说明
training_params.yaml root/ training_params 文件包含训练作业数据,其中包括赛道和车辆信息、选手和模型名称以及训练构件的文件夹路径。
hyperparameters.json root/ip/ 包含模型的超参数信息,例如批次大小、损失类型、学习率和周期数。
training-*.json root/metrics/training/ 用于在 AWS DeepRacer 控制台中可视化模型的训练指标。

将您的 AWS DeepRacer 模型导入控制台

本部分将引导您完成将 AWS DeepRacer 模型导入控制台的过程。在导入模型之前,需要复制模型文件夹的 Amazon S3 URL。

复制 AWS DeepRacer 亚马逊 S3 存储桶网址
  1. 登录 Amazon S3 控制台,转到存储桶页面。

  2. 点击存储桶名称上的链接,选择您为 AWS DeepRacer 模型创建的 Amazon S3 存储桶。在 AWS DeepRacer 控制台中创建的 S3 存储桶的格式为aws-deepracer-assets-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  3. 在 AWS DeepRacer 存储桶的 “对象” 选项卡中:

    1. 单击名称字段中模型对象的名称链接,选择要导入的模型。

      此时将显示子文件夹列表。

    2. 选中文件夹名称旁边的复选框,以选择模型文件夹的根目录。在 AWS DeepRacer 控制台中训练的模型采用文件夹名称格式DAY/MONTH/YEAR/TIME GMT

  4. 导航到模型文件夹的根目录后,选择复制 S3 URL 按钮。在您选中模型名称旁边的复选框之前,“复制 s3 URL”、“复制 URL”、“打开”和“删除”按钮将灰显。

    注意

    如果您在 “复制到 S3” 过程中添加了前缀(例如)my_model/version_2,则模型文件夹的路径为deep_racer_bucket/model_name/my_model/version_2/root/

将您的模型导入到 AWS DeepRacer 控制台
  1. AWS DeepRacer 控制台上,前往您的模型页面。

  2. 选择模型容器上的导入模型按钮。

    此时将显示导入模型页面。

  3. 在“导入”部分:

    1. 输入要导入的模型文件夹的 Amazon S3 URL。Amazon S3 URL 的格式为 s3://deep_racer_bucket/model_name/prefix/root

  4. 在“详细信息”部分:

    1. 输入模型名称。

    2. 为模型添加可选描述。

    3. 如果使用多用户模式的管理员账户,请从下拉选择器中选择要导入模型的用户。

  5. 选择屏幕底部的导入按钮。

  6. 导入过程开始后,您将返回控制台中的您的模型页面。页面顶部的横幅将显示当前状态,模型将显示在模型列表中,状态为正在导入...。导入过程完成后,横幅将确认导入成功,并且模型的状态将从正在导入...变为准备就绪

问题排查

尽管进行了多次尝试,但还是无法复制您的模型。如果模型仍在 S3 存储桶中,请从模型错误表中选择模型,再选择更新,然后选择导入,来重试模型导入。或者,如果您有模型的本地副本,则可以按照 Amazon S3 文档上传对象页面上的步骤手动导入模型。

无法复制模型,因为存储此模型的 S3 存储桶已被删除。如果您有模型的副本,请将其放入一个名称中包含 deepracer 的 S3 存储桶中,然后按照第 将您的 AWS DeepRacer 模型导入控制台 节中的步骤再次尝试导入。

存储此模型的 Amazon S3 存储桶权限已更改,因此无法复制模型。发生这种情况可能有两个原因,即您直接编辑了 AWS DeepRacer S3 或 AWS DeepRacer 服务角色策略的权限。如果您直接编辑了 AWS DeepRacer S3 存储桶的权限,请使用以下策略按照使用 Amazon S3 控制台添加存储桶策略中的步骤恢复存储桶权限:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Stmt1586917903457", "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }

要在恢复存储桶权限后导入模型,请从模型错误表中选择模型,然后选择更新。当模型导入页面出现时,选择导入

无法复制模型,因为其已从 Amazon S3 存储桶中删除。如果您还有该文件,请尝试将其恢复到您的 AWS DeepRacer 存储桶,然后从模型错误表中选择模型并选择更新。当模型导入页面出现时,选择导入。如果您有模型的本地副本,则可以按照 Amazon S3 文档上传对象页面上的步骤手动导入文件。

无法复制模型,因为 coach checkpoint 元数据已从 Amazon S3 存储桶中删除。如果您还有该文件,请尝试将其恢复到您的 AWS DeepRacer 存储桶,然后从模型错误表中选择模型并选择更新。当模型导入页面出现时,选择导入。如果您有模型的本地副本,则可以按照 Amazon S3 文档上传对象页面上的步骤手动导入文件。

无法复制模型,因为 checkpoint 文件已从 Amazon S3 存储桶中删除。如果您还有这些文件,请尝试将它们恢复到您的 AWS DeepRacer 存储桶,然后从 “模型错误” 表中选择模型并选择 “更新”。当模型导入页面出现时,选择导入。如果您有文件的本地副本,则可以按照 Amazon S3 文档上传对象页面上的步骤手动导入。

您的模型文件超过了服务可以创建的 1 GB 文件大小限制,因此您的文件已被编辑。该模型将不会导入。要删除此消息,请从模型错误表中选择模型,然后选择删除

您的 checkpoint 文件超过了服务可以创建的 1 GB 文件大小限制,因此您的文件已被编辑。该模型将不会导入。要删除此消息,请从模型错误表中选择模型,然后选择删除

您的 YAML 文件超过了服务可以创建的 10 GB 文件大小限制,因此您的文件已被编辑。该模型将不会导入。要删除此消息,请从模型错误表中选择模型,然后选择删除

无法验证您的模型,因为其已被编辑。如果您有模型的副本,请尝试在 AWS DeepRacer S3 存储桶中将其替换,然后从模型错误表中选择模型并选择更新。当模型导入页面出现时,选择导入

我们无法复制模型,因为在您训练模型 DeepRacer 时 AWS 可用的权限已被删除。要授权 AWS DeepRacer 重新创建所需权限,请从模型错误表中选择模型,然后选择更新。当模型导入页面出现时,选择导入。AWS DeepRacer 将重新创建权限,然后复制模型。