将您的模型打包 (SDK) - Amazon Lookout for Vision

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

将您的模型打包 (SDK)

您应通过创建模型打包作业,将模型打包为模型组件。要创建模型打包作业,您应调用 StartModelPackagingJob API。该作业可能需要一段时间才能完成。要查看当前的状态,请调用 DescribeModelPackagingJob 并检查其响应中的 Status 字段。

有关包设置的信息,请参阅包设置

以下过程展示了如何使用 AWS CLI 启动打包作业。您可以将模型打包以用于目标平台或目标设备。有关 Java 示例代码,请参阅 StartModelPackagingJob

将您的模型打包 (SDK)
  1. 安装并配置 AWS CLI 和 AWS SDK(如果尚未如此)。有关更多信息,请参阅 第 4 步:设置 AWS CLI 以及 AWS SDKs

  2. 确保您拥有启动模型打包作业所需的正确权限。有关更多信息,请参阅 StartModelPackagingJob

  3. 使用以下 CLI 命令,将您的模型打包以用于目标设备或目标平台。

    Target platform

    以下 CLI 命令展示了如何将模型打包,以用于采用 NVIDIA 加速器的目标平台。

    更改以下值:

    • project_name 更改为包含要打包的模型的项目的名称。

    • model_version 更改为要打包的模型版本。

    • (可选)description 更改为对模型打包作业的描述。

    • architecture 更改为运行模型组件的 AWS IoT Greengrass Version 2 核心设备的架构(ARM64X86_64)。

    • gpu_code 更改为运行模型组件的核心设备的 GPU 代码。

    • trt_ver 更改为在核心设备上安装的 TensorRT 版本。

    • cuda_ver 更改为在核心设备上安装的 CUDA 版本。

    • component_name 更改为要在 AWS IoT Greengrass V2 上创建的模型组件的名称。

    • (可选)component_version 更改为打包作业创建的模型组件的版本。采用格式 major.minor.patch。例如,1.0.0 表示组件的第一个主要版本。

    • bucket 更改为打包作业用来存储模型组件构件的 Amazon S3 桶。

    • prefix 更改为 Amazon S3 桶中供打包作业用来存储模型组件构件的位置。

    • (可选)component_description 更改为对模型组件的描述。

    • (可选)tag_key1tag_key2 更改为附加到模型组件的标签的键。

    • (可选)tag_value1tag_value2 更改为附加到模型组件的标签的键值。

    aws lookoutvision start-model-packaging-job \ --project-name project_name \ --model-version model_version \ --description="description" \ --configuration "Greengrass={TargetPlatform={Os='LINUX',Arch='architecture',Accelerator='NVIDIA'},CompilerOptions='{\"gpu-code\": \"gpu_code\", \"trt-ver\": \"trt_ver\", \"cuda-ver\": \"cuda_ver\"}',S3OutputLocation={Bucket='bucket',Prefix='prefix'},ComponentName='Component_name',ComponentVersion='component_version',ComponentDescription='component_description',Tags=[{Key='tag_key1',Value='tag_value1'}, {Key='tag_key2',Value='tag_value2'}]}" \ --profile lookoutvision-access

    例如:

    aws lookoutvision start-model-packaging-job \ --project-name test-project-01 \ --model-version 1 \ --description="Model Packaging Job for G4 Instance using TargetPlatform Option" \ --configuration "Greengrass={TargetPlatform={Os='LINUX',Arch='X86_64',Accelerator='NVIDIA'},CompilerOptions='{\"gpu-code\": \"sm_75\", \"trt-ver\": \"7.1.3\", \"cuda-ver\": \"10.2\"}',S3OutputLocation={Bucket='bucket',Prefix='test-project-01/folder'},ComponentName='SampleComponentNameX86TargetPlatform',ComponentVersion='0.1.0',ComponentDescription='This is my component',Tags=[{Key='modelKey0',Value='modelValue'}, {Key='modelKey1',Value='modelValue'}]}" \ --profile lookoutvision-access
    Target Device

    使用以下 CLI 命令,将模型打包以用于目标设备。

    更改以下值:

    • project_name 更改为包含要打包的模型的项目的名称。

    • model_version 更改为要打包的模型版本。

    • (可选)description 更改为对模型打包作业的描述。

    • component_name 更改为要在 AWS IoT Greengrass V2 上创建的模型组件的名称。

    • (可选)component_version 更改为打包作业创建的模型组件的版本。采用格式 major.minor.patch。例如,1.0.0 表示组件的第一个主要版本。

    • bucket 更改为打包作业用来存储模型组件构件的 Amazon S3 桶。

    • prefix 更改为 Amazon S3 桶中供打包作业用来存储模型组件构件的位置。

    • (可选)component_description 更改为对模型组件的描述。

    • (可选)tag_key1tag_key2 更改为附加到模型组件的标签的键。

    • (可选)tag_value1tag_value2 更改为附加到模型组件的标签的键值。

    aws lookoutvision start-model-packaging-job \ --project-name project_name \ --model-version model_version \ --description="description" \ --configuration "Greengrass={TargetDevice='jetson_xavier',S3OutputLocation={Bucket='bucket',Prefix='prefix'},ComponentName='component_name',ComponentVersion='component_version',ComponentDescription='component_description',Tags=[{Key='tag_key1',Value='tag_value1'}, {Key='tag_key2',Value='tag_value2'}]}" \ --profile lookoutvision-access

    例如:

    aws lookoutvision start-model-packaging-job \ --project-name project_01 \ --model-version 1 \ --description="description" \ --configuration "Greengrass={TargetDevice='jetson_xavier',S3OutputLocation={Bucket='bucket',Prefix='component_folder'},ComponentName='jetson_component',ComponentVersion='2.0.0',ComponentDescription='jetson model component',Tags=[{Key='tag_key1',Value='tag_value1'}, {Key='tag_key2',Value='tag_value2'}]}" \ --profile lookoutvision-access
  4. 记下响应中的 JobName 值。您在下一个步骤中需要用到它。例如:

    { "JobName": "6bcfd0ff-90c3-4463-9a89-6b4be3daf972" }
  5. 使用 DescribeModelPackagingJob 获取作业的当前状态。更改以下项:

    • project_name 更改为要使用的项目的名称。

    • job_name 更改为您在上一步中记录的作业名称。

    aws lookoutvision describe-model-packaging-job \ --project-name project_name \ --job-name job_name \ --profile lookoutvision-access

    如果 Status 的值为 SUCCEEDED,表示模型打包作业已完成。如果是其他值,请稍等片刻,然后重试。

  6. 继续使用 AWS IoT Greengrass V2 进行部署。有关更多信息,请参阅 将您的组件部署到设备