封裝您的模型 (SDK) - Amazon Lookout for Vision

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

封裝您的模型 (SDK)

您可以透過建立模型封裝工作將模型封裝為模型元件。若要建立模型封裝工作,請呼叫 StartModelPackagingJobAPI。工作可能需要一段時間才能完成。要了解當前狀態,請調用DescribeModelPackagingJob並檢查響應中的Status字段。

如需有關套件設定的資訊,請參閱Package 設定

下列程序說明如何使用 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_key1 和貼附tag_key2至模型元件之標籤的關鍵字。

    • (可選) tag_value2tag_value1及貼附至模型元件之標籤的關鍵值。

    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_key1 和貼附tag_key2至模型元件之標籤的關鍵字。

    • (可選) tag_value2tag_value1及貼附至模型元件之標籤的關鍵值。

    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。如需詳細資訊,請參閱將元件部署到裝置