

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

# 编译模型（亚马逊 A SageMaker I 控制台）
编译模型：控制台

你可以在亚马逊 A SageMaker I 控制台中创建 Amazon SageMaker Neo 编译任务。

1. 在 **Amazon SageMaker AI** 控制台中，选择**编译任务**，然后选择**创建编译任务**。  
![\[创建编译作业。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/8-create-compilation-job.png)

1. 在**创建编译作业**页面的**作业名称**中，输入名称。然后选择 **IAM 角色**。  
![\[创建编译作业页面。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/9-create-compilation-job-config.png)

1. 如果您没有 IAM 角色，请选择 **Create a new role (创建新角色)**。  
![\[创建 IAM 角色位置。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/10a-create-iam-role.png)

1. 在 **Create an IAM role (创建 IAM 角色)** 页面上，选择 **Any S3 bucket (任意 S3 存储桶)**，然后选择 **Create role (创建角色)**。  
![\[创建 IAM 角色页面。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/10-create-iam-role.png)

1. 

------
#### [ Non PyTorch Frameworks ]

   在**输入配置**部分，在**模型构件的位置**中输入包含模型构件的 S3 存储桶 URI 的完整路径。模型构件必须使用压缩的 tarball 文件格式 (`.tar.gz`)。

   对于**数据输入配置**字段中，输入用于指定输入数据形状的 JSON 字符串。

   对于**机器学习框架**，选择您已选中的框架。

![\[输入配置页面。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/neo-create-compilation-job-input-config.png)


   要根据框架查找输入数据形状的 JSON 字符串示例，请参阅 [Neo 期望的输入数据形状](https://docs.amazonaws.cn/sagemaker/latest/dg/neo-troubleshooting.html#neo-troubleshooting-errors-preventing)。

------
#### [ PyTorch Framework ]

   类似的说明也适用于编译 PyTorch 模型。但是，如果您使用目标进行训练 PyTorch 并尝试编译模型`ml_*`（除外`ml_inf`），则可以选择指定所使用的版本。 PyTorch 

![\[示例输入配置部分显示了选择框架版本的位置。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/compile_console_pytorch.png)


   要根据框架查找输入数据形状的 JSON 字符串示例，请参阅 [Neo 期望的输入数据形状](https://docs.amazonaws.cn/sagemaker/latest/dg/neo-troubleshooting.html#neo-troubleshooting-errors-preventing)。

**注意**  
如果您使用 PyTorch 版本 2.0 或更高版本保存模型，则**数据输入配置字段**为可选字段。 SageMaker Neo 从您创建的模型定义文件中获取输入配置 PyTorch。有关如何创建定义文件的更多信息，请参阅为 * SageMaker AI Neo 保存模型*下的[PyTorch](neo-compilation-preparing-model.md#how-to-save-pytorch)部分。
使用 PyTorch 框架编**译`ml_*`实例时，请使用**输出配置**中的编译器选项**字段提供模型输入的正确数据类型 (`dtype`)。默认被设置为 `"float32"`。

![\[示例输出配置部分。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/neo_compilation_console_pytorch_compiler_options.png)


**警告**  
 如果您指定指向 `.pth` 文件的 Amazon S3 存储桶 URI 路径，开始编译后将收到以下错误：`ClientError: InputConfiguration: Unable to untar input model.Please confirm the model is a tar.gz file`

------

1.  转到**输出配置**部分。选择要部署模型的位置。您可以将模型部署到**目标设备**或者**目标平台**。目标设备包括云和边缘设备。目标平台是指您希望模型在其上运行的特定操作系统、架构和加速器。

    对于 **S3 输出位置**，请输入要在其中存储模型的 S3 存储桶的路径。您可以选择在**编译器选项**部分使用 JSON 格式添加编译器选项。  
![\[输出配置页面。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/neo-console-output-config.png)

1. 在启动时检查编译作业的状态。该作业状态可以在**编译作业**页面的顶部找到，如以下屏幕截图所示。您也可以在**状态**列中查看其状态。  
![\[编译作业状态。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/12-run-model-compilation.png)

1. 在完成时检查编译作业的状态。您可以在**状态**列中查看状态，如以下屏幕截图所示。  
![\[编译作业状态。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/neo/12a-completed-model-compilation.png)