머신 러닝 구성 요소 사용자 지정 - AWS IoT Greengrass

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

머신 러닝 구성 요소 사용자 지정

에서는 샘플 기계 학습 구성 요소를 구성하여 추론AWS IoT Greengrass, 모델 및 런타임 구성 요소를 구성 요소로 사용하여 장치에서 기계 학습 추론을 수행하는 방법을 사용자 지정할 수 있습니다. AWS IoT Greengrass또한 샘플 구성 요소를 템플릿으로 사용하고 필요에 따라 사용자 지정 구성 요소를 만들 수 있는 유연성을 제공합니다. 이 모듈식 접근 방식을 조합하여 다음과 같은 방식으로 기계 학습 추론 구성 요소를 사용자 지정할 수 있습니다.

샘플 추론 구성 요소 사용
  • 추론 구성 요소를 배포할 때 구성을 수정하십시오.

  • 샘플 모델 스토어 구성 요소를 사용자 지정 모델 구성 요소로 대체하여 샘플 추론 구성 요소와 함께 사용자 지정 모델을 사용하십시오. 사용자 지정 모델은 샘플 모델과 동일한 런타임을 사용하여 학습해야 합니다.

사용자 지정 추론 구성 요소 사용
  • 공개 모델 구성 요소 및 런타임 구성 요소를 사용자 지정 추론 구성 요소의 종속 항목으로 추가하여 샘플 모델 및 런타임에 사용자 지정 추론 코드를 사용할 수 있습니다.

  • 사용자 지정 모델 구성 요소 또는 런타임 구성 요소를 만들고 사용자 지정 추론 구성 요소의 종속 항목으로 추가합니다. 사용자 지정 추론 코드를 사용하거나 샘플 구성 요소를 제공하지 AWS IoT Greengrass 않는 런타임을 사용하려면 사용자 지정 구성 요소를 사용해야 합니다.

공개 추론 구성 요소의 구성 수정

AWS IoT Greengrass콘솔의 구성 요소 페이지에는 해당 구성 요소의 기본 구성이 표시됩니다. 예를 들어, TensorFlow Lite 이미지 분류 구성 요소의 기본 구성은 다음과 같습니다.

{ "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/image-classification" ] } } }, "PublishResultsOnTopic": "ml/tflite/image-classification", "ImageName": "cat.jpeg", "InferenceInterval": 3600, "ModelResourceKey": { "model": "TensorFlowLite-Mobilenet" } }

공개 추론 구성 요소를 배포할 때 기본 구성을 수정하여 배포를 사용자 지정할 수 있습니다. 각 공용 추론 구성 요소에 사용할 수 있는 구성 매개 변수에 대한 자세한 내용은 의 구성 요소 항목을 참조하십시오. AWS-머신 러닝 컴포넌트 제공

이 섹션에서는 AWS IoT Greengrass 콘솔에서 수정된 구성 요소를 배포하는 방법을 설명합니다. 를 사용하여 구성 요소를 배포하는 방법에 대한 자세한 내용은 을 AWS CLI 참조하십시오배포 만들기.

수정된 공개 추론 구성 요소를 배포하려면 (콘솔)
  1. AWS IoT Greengrass 콘솔에 로그인합니다.

  2. 탐색 메뉴에서 구성 요소를 선택합니다.

  3. 구성 요소 페이지의 공용 구성 요소 탭에서 배포하려는 구성 요소를 선택합니다.

  4. 구성 요소 페이지에서 배포를 선택합니다.

  5. 배포에 추가에서 다음 중 하나를 선택합니다.

    1. 이 구성 요소를 대상 디바이스의 기존 배포에 병합하려면 기존 배포에 추가를 선택한 다음 수정하려는 배포를 선택합니다.

    2. 대상 디바이스에서 새 배포를 생성하려면 새 배포 생성을 선택합니다. 디바이스에 기존 배포가 있는 경우 이 단계를 선택하면 기존 배포가 대체됩니다.

  6. 대상 지정 페이지에서 다음 작업을 수행합니다.

    1. 배포 정보 아래에서 친숙한 배포 이름을 입력하거나 수정합니다.

    2. 배포 대상 아래에서 배포 대상을 선택하고 다음을 선택합니다. 기존 배포 수정 시 배포 대상을 변경할 수 없습니다.

  7. 구성 요소 선택 페이지의 공용 구성 요소에서 구성이 수정된 추론 구성 요소가 선택되었는지 확인하고 다음을 선택합니다.

  8. 구성 요소 구성 페이지에서 다음을 수행하십시오.

    1. 추론 구성 요소를 선택하고 구성 요소 구성을 선택합니다.

    2. 구성 업데이트에서 업데이트하려는 구성 값을 입력합니다. 예를 들어 병합할 구성 상자에 다음 구성 업데이트를 입력하여 추론 간격을 15초로 변경하고 구성 요소가 custom.jpg 폴더에서 이름이 지정된 이미지를 찾도록 지시합니다. /custom-ml-inference/images/

      { "InferenceInterval": "15", "ImageName": "custom.jpg", "ImageDirectory": "/custom-ml-inference/images/" }

      구성 요소의 전체 구성을 기본값으로 재설정하려면 경로 재설정 상자에 빈 문자열 "" 하나를 지정하십시오.

    3. 확인을 선택하고 다음을 선택합니다.

  9. 고급 설정 구성 페이지에서 기본 구성 설정을 유지하고 다음을 선택합니다.

  10. 검토 페이지에서 [Deploy] 를 선택합니다.

샘플 추론 구성 요소가 포함된 사용자 지정 모델을 사용하십시오.

샘플 런타임 구성 요소를 AWS IoT Greengrass 제공하는 런타임용 자체 기계 학습 모델과 함께 샘플 추론 구성 요소를 사용하려면 해당 모델을 아티팩트로 사용하는 구성 요소로 공개 모델 구성 요소를 재정의해야 합니다. 상위 수준에서 다음 단계를 완료하여 샘플 추론 구성 요소와 함께 사용자 지정 모델을 사용하십시오.

  1. S3 버킷의 사용자 지정 모델을 아티팩트로 사용하는 모델 구성 요소를 생성합니다. 교체하려는 모델과 동일한 런타임을 사용하여 사용자 지정 모델을 학습해야 합니다.

  2. 사용자 지정 모델을 사용하도록 추론 구성 요소의 구성 파라미터를 수정하십시오. ModelResourceKey 추론 구성 요소의 구성 업데이트에 대한 자세한 내용은 을 참조하십시오. 공개 추론 구성 요소의 구성 수정

추론 구성 요소를 배포할 때 구성 요소 종속성의 최신 버전을 AWS IoT Greengrass 찾습니다. 구성 요소의 최신 사용자 지정 버전이 동일한 및 에 있는 경우 종속 공개 모델 구성 요소를 재정의합니다. AWS 계정 AWS 리전

  1. 모델을 S3 버킷에 업로드합니다. 모델을 S3 버킷으로 업로드하는 방법에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 Amazon S3 버킷 사용을 참조하십시오.

    참고

    아티팩트는 구성 AWS 계정 요소와 AWS 리전 동일한 S3 버킷에 저장해야 합니다. 이러한 아티팩트에 액세스할 수 AWS IoT Greengrass 있으려면 Greengrass 장치 역할이 작업을 s3:GetObject 허용해야 합니다. 장치 역할에 대한 자세한 내용은 을 참조하십시오. 핵심 장치가 서비스와 상호 작용할 AWS 수 있도록 권한 부여

  2. AWS IoT Greengrass콘솔 탐색 메뉴에서 구성 요소를 선택합니다.

  3. 퍼블릭 모델 스토어 컴포넌트의 컴포넌트 레시피를 검색합니다.

    1. 구성 요소 페이지의 공개 구성 요소 탭에서 새 버전을 만들려는 공개 모델 구성 요소를 찾아 선택합니다. 예: variant.DLR.ImageClassification.ModelStore.

    2. 구성 요소 페이지에서 레시피 보기를 선택하고 표시된 JSON 레시피를 복사합니다.

  4. 구성 요소 페이지의 내 구성 요소 탭에서 구성 요소 생성을 선택합니다.

  5. 구성 요소 생성 페이지의 구성 요소 정보에서 구성 요소 소스로 레시피를 JSON으로 입력을 선택합니다.

  6. 레시피 상자에 이전에 복사한 구성 요소 레시피를 붙여넣습니다.

  7. 레시피에서 다음 값을 업데이트하십시오.

    • ComponentVersion: 컴포넌트의 마이너 버전을 증가시킵니다.

      공개 모델 구성 요소를 재정의하는 사용자 지정 구성 요소를 만들 때는 기존 구성 요소 버전의 부 버전만 업데이트해야 합니다. 예를 들어, 공개 구성 요소 버전이 인 2.1.0 경우 버전을 사용하여 사용자 지정 구성 요소를 만들 수 있습니다. 2.1.1

    • Manifests.Artifacts.Uri: 각 URI 값을 사용하려는 모델의 Amazon S3 URI로 업데이트합니다.

    참고

    구성 요소 이름을 변경하지 마십시오.

  8. 구성 요소 생성을 선택합니다.

  1. 모델을 S3 버킷에 업로드합니다. 모델을 S3 버킷으로 업로드하는 방법에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 Amazon S3 버킷 사용을 참조하십시오.

    참고

    아티팩트는 구성 AWS 계정 요소와 AWS 리전 동일한 S3 버킷에 저장해야 합니다. 이러한 아티팩트에 액세스할 수 AWS IoT Greengrass 있으려면 Greengrass 장치 역할이 작업을 s3:GetObject 허용해야 합니다. 장치 역할에 대한 자세한 내용은 을 참조하십시오. 핵심 장치가 서비스와 상호 작용할 AWS 수 있도록 권한 부여

  2. 다음 명령을 실행하여 공용 구성 요소의 구성 요소 레시피를 검색합니다. 이 명령은 명령에서 제공하는 출력 파일에 구성 요소 레시피를 기록합니다. 검색된 base64로 인코딩된 문자열을 필요에 따라 JSON 또는 YAML로 변환합니다.

    Linux, macOS, or Unix
    aws greengrassv2 get-component \ --arn <arn> \ --recipe-output-format <recipe-format> \ --query recipe \ --output text | base64 --decode > <recipe-file>
    Windows Command Prompt (CMD)
    aws greengrassv2 get-component ^ --arn <arn> ^ --recipe-output-format <recipe-format> ^ --query recipe ^ --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>
    PowerShell
    aws greengrassv2 get-component ` --arn <arn> ` --recipe-output-format <recipe-format> ` --query recipe ` --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>
  3. 레시피 파일 이름을 로 업데이트합니다. 여기서 구성 요소 버전은 새 구성 요소의 대상 버전입니다. <component-name>-<component-version> 예: variant.DLR.ImageClassification.ModelStore-2.1.1.yaml.

  4. 레시피에서 다음 값을 업데이트하십시오.

    • ComponentVersion: 컴포넌트의 마이너 버전을 증가시킵니다.

      공개 모델 구성 요소를 재정의하는 사용자 지정 구성 요소를 만들 때는 기존 구성 요소 버전의 부 버전만 업데이트해야 합니다. 예를 들어, 공개 구성 요소 버전이 인 2.1.0 경우 버전을 사용하여 사용자 지정 구성 요소를 만들 수 있습니다. 2.1.1

    • Manifests.Artifacts.Uri: 각 URI 값을 사용하려는 모델의 Amazon S3 URI로 업데이트합니다.

    참고

    구성 요소 이름을 변경하지 마십시오.

  5. 다음 명령을 실행하여 검색하고 수정한 레시피를 사용하여 새 구성 요소를 생성합니다.

    aws greengrassv2 create-component-version \ --inline-recipe fileb://path/to/component/recipe
    참고

    이 단계는 AWS IoT Greengrass 서비스의 구성 요소를 생성합니다. AWS 클라우드 Greengrass CLI를 사용하여 구성 요소를 클라우드에 업로드하기 전에 로컬에서 개발, 테스트 및 배포할 수 있습니다. 자세한 설명은 AWS IoT Greengrass구성 요소 개발 섹션을 참조하세요.

구성 요소 생성에 대한 자세한 내용은 을 참조하십시오. AWS IoT Greengrass구성 요소 개발

사용자 지정 기계 학습 구성 요소 만들기

사용자 지정 추론 코드 또는 샘플 구성 요소를 제공하지 AWS IoT Greengrass 않는 런타임을 사용하려면 사용자 지정 구성 요소를 만들어야 합니다. AWS제공된 샘플 기계 학습 모델 및 런타임과 함께 사용자 지정 추론 코드를 사용하거나 자체 모델 및 런타임으로 완전히 사용자 지정된 기계 학습 추론 솔루션을 개발할 수 있습니다. 모델에서 샘플 런타임 구성 요소를 AWS IoT Greengrass 제공하는 런타임을 사용하는 경우 해당 런타임 구성 요소를 사용할 수 있으며, 추론 코드와 사용하려는 모델에 대한 사용자 지정 구성 요소만 만들면 됩니다.

퍼블릭 컴포넌트의 레시피를 검색하세요.

기존 공개 기계 학습 구성 요소의 레시피를 템플릿으로 사용하여 사용자 지정 구성 요소를 만들 수 있습니다. 최신 버전의 공용 구성 요소에 대한 구성 요소 레시피를 보려면 콘솔을 사용하거나 다음과 AWS CLI 같이 사용하십시오.

  • 콘솔 사용

    1. 구성 요소 페이지의 공용 구성 요소 탭에서 공용 구성 요소를 찾아 선택합니다.

    2. 구성 요소 페이지에서 레시피 보기를 선택합니다.

  • AWS CLI 사용

    다음 명령을 실행하여 공개 변형 구성 요소의 구성 요소 레시피를 검색합니다. 이 명령은 명령에서 제공하는 JSON 또는 YAML 레시피 파일에 구성 요소 레시피를 기록합니다.

    Linux, macOS, or Unix
    aws greengrassv2 get-component \ --arn <arn> \ --recipe-output-format <recipe-format> \ --query recipe \ --output text | base64 --decode > <recipe-file>
    Windows Command Prompt (CMD)
    aws greengrassv2 get-component ^ --arn <arn> ^ --recipe-output-format <recipe-format> ^ --query recipe ^ --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>
    PowerShell
    aws greengrassv2 get-component ` --arn <arn> ` --recipe-output-format <recipe-format> ` --query recipe ` --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>

    명령의 값을 다음과 같이 바꿉니다.

    • <arn>. 퍼블릭 구성 요소의 Amazon 리소스 이름 (ARN).

    • <recipe-format>. 레시피 파일을 생성하려는 형식. 지원되는 값은 JSONYAML입니다.

    • <recipe-file>. 해당 형식의 레시피 이름<component-name>-<component-version>.

샘플 구성 요소 아티팩트를 검색하십시오.

공용 기계 학습 구성 요소에서 사용하는 아티팩트를 템플릿으로 사용하여 추론 코드나 런타임 설치 스크립트와 같은 사용자 지정 구성 요소 아티팩트를 만들 수 있습니다.

공개 기계 학습 구성 요소에 포함된 샘플 아티팩트를 보려면 공용 추론 구성 요소를 배포한 다음 장치의 폴더에서 아티팩트를 확인하십시오. /greengrass/v2/packages/artifacts-unarchived/component-name/component-version/

구성 요소 아티팩트를 S3 버킷에 업로드합니다.

사용자 지정 구성 요소를 생성하려면 먼저 구성 요소 아티팩트를 S3 버킷에 업로드하고 구성 요소 레시피에 S3 URI를 사용해야 합니다. 예를 들어, 추론 구성 요소에서 사용자 지정 추론 코드를 사용하려면 코드를 S3 버킷에 업로드하십시오. 그런 다음 추론 코드의 Amazon S3 URI를 구성 요소의 아티팩트로 사용할 수 있습니다.

S3 버킷으로 콘텐츠를 업로드하는 방법에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 Amazon S3 버킷 사용을 참조하십시오.

참고

아티팩트는 구성 AWS 계정 요소와 AWS 리전 동일한 S3 버킷에 저장해야 합니다. 이러한 아티팩트에 액세스할 수 AWS IoT Greengrass 있으려면 Greengrass 장치 역할이 작업을 s3:GetObject 허용해야 합니다. 장치 역할에 대한 자세한 내용은 을 참조하십시오. 핵심 장치가 서비스와 상호 작용할 AWS 수 있도록 권한 부여

사용자 지정 구성 요소 만들기

검색한 아티팩트와 레시피를 사용하여 사용자 지정 기계 학습 구성 요소를 만들 수 있습니다. 예시는 사용자 지정 추론 구성 요소 만들기 단원을 참조하세요.

구성 요소를 만들고 Greengrass 장치에 배포하는 방법에 대한 자세한 내용은 및 을 참조하십시오. AWS IoT Greengrass구성 요소 개발 디바이스에 AWS IoT Greengrass 구성 요소 배포

사용자 지정 추론 구성 요소 만들기

이 섹션에서는 DLR 이미지 분류 구성 요소를 템플릿으로 사용하여 사용자 지정 추론 구성 요소를 만드는 방법을 보여줍니다.

Amazon S3 버킷에 추론 코드를 업로드합니다.

추론 코드를 생성한 다음 S3 버킷에 업로드합니다. S3 버킷으로 콘텐츠를 업로드하는 방법에 대한 자세한 내용은 Amazon 심플 스토리지 서비스 사용 설명서의 Amazon S3 버킷 사용을 참조하십시오.

참고

아티팩트는 구성 AWS 계정 요소와 AWS 리전 동일한 S3 버킷에 저장해야 합니다. 이러한 아티팩트에 액세스할 수 AWS IoT Greengrass 있으려면 Greengrass 장치 역할이 작업을 s3:GetObject 허용해야 합니다. 장치 역할에 대한 자세한 내용은 을 참조하십시오. 핵심 장치가 서비스와 상호 작용할 AWS 수 있도록 권한 부여

추론 구성 요소의 레시피를 만드세요.

  1. 다음 명령을 실행하여 DLR 이미지 분류 구성 요소의 구성 요소 레시피를 검색합니다. 이 명령은 명령에서 제공하는 JSON 또는 YAML 레시피 파일에 구성 요소 레시피를 기록합니다.

    Linux, macOS, or Unix
    aws greengrassv2 get-component \ --arn arn:aws:greengrass:region:aws:components:aws.greengrass.DLRImageClassification:versions:version \ --recipe-output-format JSON | YAML \ --query recipe \ --output text | base64 --decode > <recipe-file>
    Windows Command Prompt (CMD)
    aws greengrassv2 get-component ^ --arn arn:aws:greengrass:region:aws:components:aws.greengrass.DLRImageClassification:versions:version ^ --recipe-output-format JSON | YAML ^ --query recipe ^ --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>
    PowerShell
    aws greengrassv2 get-component ` --arn arn:aws:greengrass:region:aws:components:aws.greengrass.DLRImageClassification:versions:version ` --recipe-output-format JSON | YAML ` --query recipe ` --output text > <recipe-file>.base64 certutil -decode <recipe-file>.base64 <recipe-file>

    <recipe-file>형식의 레시피 이름으로 바꾸십시오. <component-name>-<component-version>

  2. 레시피의 ComponentDependencies 객체에서 사용하려는 모델 및 런타임 구성 요소에 따라 다음 중 하나 이상을 수행하십시오.

    • DLR로 컴파일된 모델을 사용하려면 DLR 구성 요소 종속성을 유지하세요. 다음 예제와 같이 사용자 지정 런타임 구성 요소에 대한 종속 항목으로 대체할 수도 있습니다.

      런타임 구성 요소

      JSON
      { "<runtime-component>": { "VersionRequirement": "<version>", "DependencyType": "HARD" } }
      YAML
      <runtime-component>: VersionRequirement: "<version>" DependencyType: HARD
    • DLR 이미지 분류 모델 스토어 종속성을 유지하여 AWS 제공하는 사전 학습된 ResNet -50 모델을 사용하거나 사용자 지정 모델 구성 요소를 사용하도록 수정하십시오. 공개 모델 구성 요소에 대한 종속성을 포함하는 경우 구성 요소의 이후 사용자 지정 버전이 동일한 AWS 계정 버전에 존재하면 추론 구성 요소는 해당 사용자 지정 구성 요소를 사용합니다. AWS 리전 다음 예제와 같이 모델 구성 요소 종속성을 지정합니다.

      공개 모델 구성 요소

      JSON
      { "variant.DLR.ImageClassification.ModelStore": { "VersionRequirement": "<version>", "DependencyType": "HARD" } }
      YAML
      variant.DLR.ImageClassification.ModelStore: VersionRequirement: "<version>" DependencyType: HARD

      커스텀 모델 컴포넌트

      JSON
      { "<custom-model-component>": { "VersionRequirement": "<version>", "DependencyType": "HARD" } }
      YAML
      <custom-model-component>: VersionRequirement: "<version>" DependencyType: HARD
  3. ComponentConfiguration개체에 이 구성 요소의 기본 구성을 추가합니다. 나중에 구성 요소를 배포할 때 이 구성을 수정할 수 있습니다. 다음 발췌문은 DLR 이미지 분류 구성 요소의 구성 요소 구성을 보여줍니다.

    예를 들어 사용자 지정 모델 구성 요소를 사용자 지정 추론 구성 요소의 종속 항목으로 사용하는 경우 사용 중인 모델의 이름을 ModelResourceKey 제공하도록 수정하십시오.

    JSON
    { "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.ImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/dlr/image-classification" ] } } }, "PublishResultsOnTopic": "ml/dlr/image-classification", "ImageName": "cat.jpeg", "InferenceInterval": 3600, "ModelResourceKey": { "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification", "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification", "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification" } }
    YAML
    accessControl: aws.greengrass.ipc.mqttproxy: 'aws.greengrass.ImageClassification:mqttproxy:1': policyDescription: 'Allows access to publish via topic ml/dlr/image-classification.' operations: - 'aws.greengrass#PublishToIoTCore' resources: - ml/dlr/image-classification PublishResultsOnTopic: ml/dlr/image-classification ImageName: cat.jpeg InferenceInterval: 3600 ModelResourceKey: armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification" x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification" aarch64: "DLR-resnet50-aarch64-cpu-ImageClassification"
  4. Manifests개체에 구성 요소를 다른 플랫폼에 배포할 때 사용되는 이 구성 요소의 구성 및 아티팩트에 대한 정보와 구성 요소를 성공적으로 실행하는 데 필요한 기타 정보를 제공하십시오. 다음 발췌문은 DLR 이미지 분류 구성 요소의 Linux 플랫폼용 Manifests 개체 구성을 보여줍니다.

    JSON
    { "Manifests": [ { "Platform": { "os": "linux", "architecture": "arm" }, "Name": "32-bit armv7l - Linux (raspberry pi)", "Artifacts": [ { "URI": "s3://SAMPLE-BUCKET/sample-artifacts-directory/image_classification.zip", "Unarchive": "ZIP" } ], "Lifecycle": { "Setenv": { "DLR_IC_MODEL_DIR": "{variant.DLR.ImageClassification.ModelStore:artifacts:decompressedPath}/{configuration:/ModelResourceKey/armv7l}", "DEFAULT_DLR_IC_IMAGE_DIR": "{artifacts:decompressedPath}/image_classification/sample_images/" }, "run": { "RequiresPrivilege": true, "script": ". {variant.DLR:configuration:/MLRootPath}/greengrass_ml_dlr_venv/bin/activate\npython3 {artifacts:decompressedPath}/image_classification/inference.py" } } } ] }
    YAML
    Manifests: - Platform: os: linux architecture: arm Name: 32-bit armv7l - Linux (raspberry pi) Artifacts: - URI: s3://SAMPLE-BUCKET/sample-artifacts-directory/image_classification.zip Unarchive: ZIP Lifecycle: Setenv: DLR_IC_MODEL_DIR: "{variant.DLR.ImageClassification.ModelStore:artifacts:decompressedPath}/{configuration:/ModelResourceKey/armv7l}" DEFAULT_DLR_IC_IMAGE_DIR: "{artifacts:decompressedPath}/image_classification/sample_images/" run: RequiresPrivilege: true script: |- . {variant.DLR:configuration:/MLRootPath}/greengrass_ml_dlr_venv/bin/activate python3 {artifacts:decompressedPath}/image_classification/inference.py

구성 요소 레시피 만들기에 대한 자세한 내용은 을 참조하십시오. AWS IoT Greengrass 컴포넌트 레시피 참조

추론 구성 요소 만들기

AWS IoT Greengrass콘솔이나 AWS CLI 를 사용하여 방금 정의한 레시피를 사용하여 구성 요소를 생성합니다. 구성 요소를 만든 후 이를 배포하여 디바이스에서 추론을 수행할 수 있습니다. 추론 구성 요소를 배포하는 방법에 대한 예는 을 참조하십시오. 자습서: Lite를 사용하여 TensorFlow 샘플 이미지 분류 추론 수행

  1. AWS IoT Greengrass 콘솔에 로그인합니다.

  2. 탐색 메뉴에서 구성 요소를 선택합니다.

  3. 구성 요소 페이지의 내 구성 요소 탭에서 구성 요소 생성을 선택합니다.

  4. 구성 요소 생성 페이지의 구성 요소 정보에서 레시피를 JSON으로 입력 또는 레시피를 구성 요소 소스로 YAML로 입력을 선택합니다.

  5. 레시피 상자에 생성한 사용자 지정 레시피를 입력합니다.

  6. 구성 요소 생성을 클릭합니다.

다음 명령을 실행하여 생성한 레시피를 사용하여 새 사용자 지정 구성 요소를 생성합니다.

aws greengrassv2 create-component-version \ --inline-recipe fileb://path/to/recipe/file
참고

이 단계는 AWS IoT Greengrass 서비스의 구성 요소를 생성합니다AWS 클라우드. Greengrass CLI를 사용하여 구성 요소를 클라우드에 업로드하기 전에 로컬에서 개발, 테스트 및 배포할 수 있습니다. 자세한 내용은 AWS IoT Greengrass구성 요소 개발을(를) 참조하세요.