Edge Manager をダウンロードしてセットアップする - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Edge Manager をダウンロードしてセットアップする

Edge Manager エージェントはエッジデバイス用の推論エンジンです。エージェントを使用して、エッジデバイスにロードされたモデルで予測を行います。エージェントはモデルのメトリクスを収集し、特定の間隔でデータをキャプチャします。

このセクションでは、エージェントを使用してデバイスを設定します。これを行うには、最初に、リリースバケットからリリースアーティファクトと署名ルート証明書をローカルマシンにコピーします。リリースアーティファクトを解凍したら、それを Amazon S3 にアップロードします。次に、エージェントの設定ファイルを定義し、保存します。コピーアンドペーストできるテンプレートが用意されています。最後に、デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーします。

  1. SageMaker Edge Manager エージェントをダウンロードします。

    エージェントは、サポート対象のオペレーティングシステム向けに、バイナリ形式でリリースされます。この例では、Linux オペレーティングシステムを使用し、ARM64アーキテクチャを持つ Jetson Nano で推論を実行します。サポート対象のデバイスが使用するオペレーティングシステムとアーキテクチャの詳細については、「サポートされているデバイス、チップアーキテクチャ、システム」を参照してください。

    us-west-2 リージョンから SageMaker Edge Manager リリースバケットから最新バージョンのバイナリを取得します。

    !aws s3 ls s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/ | sort -r

    これにより、バージョン別に並べ替えられたリリースアーティファクトが返されます。

    PRE 1.20210512.96da6cc/ PRE 1.20210305.a4bc999/ PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/

    バージョンの形式は <MAJOR_VERSION>.<YYYY-MM-DD>.<SHA-7> のようになっています。これは、3 つのコンポーネントから構成されています。

    • <MAJOR_VERSION>: リリースのバージョン。現在、リリースバージョンは 1 に設定されています。

    • <YYYY-MM-DD>: リリースアーティファクトのタイムスタンプ。

    • <SHA-7>: リリースの構築元のリポジトリコミット ID。

    圧縮TARファイルをローカルまたはデバイスに直接コピーします。次の例は、このドキュメントを公開した時点で最新のリリースアーティファクトをコピーする方法を示しています。

    !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/1.20201218.81f481f/1.20201218.81f481f.tgz ./

    アーティファクトを取得したら、圧縮TARファイルを解凍します。以下では、TARファイルを解凍し、 というディレクトリに保存しますagent_demo

    !mkdir agent_demo !tar -xvzf 1.20201218.81f481f.tgz -C ./agent_demo

    Amazon S3 バケットにエージェントのリリースアーティファクトをアップロードします。次のサンプルコードは、agent_demo 内のコンテンツをコピーし、Amazon S3 バケットの agent_demo ディレクトリにアップロードします。

    !aws s3 cp --recursive ./agent_demo s3://{bucket}/agent_demo

    リリースバケットの署名ルート証明書も必要です。

    !aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Certificates/us-west-2/us-west-2.pem ./

    この署名ルート証明書を Amazon S3 バケットにアップロードします。

    !aws s3 cp us-west-2.pem s3://{bucket}/authorization-files/
  2. SageMaker Edge Manager エージェント設定ファイルを定義します。

    まず、エージェントの設定ファイルを次のように定義します。

    sagemaker_edge_config = { "sagemaker_edge_core_device_name": "device_name", "sagemaker_edge_core_device_fleet_name": "device_fleet_name", "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_push_period_seconds": 4, "sagemaker_edge_core_folder_prefix": "demo_capture", "sagemaker_edge_core_region": "us-west-2", "sagemaker_edge_core_root_certs_path": "/agent_demo/certificates", "sagemaker_edge_provider_aws_ca_cert_file": "/agent_demo/iot-credentials/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "/agent_demo/iot-credentials/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "/agent_demo/iot-credentials/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint": "endpoint", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_s3_bucket_name": bucket, "sagemaker_edge_core_capture_data_destination": "Cloud" }

    以下に置き換えます:

    • "device_name" - デバイスの名前 (この文字列は、前のステップで device_name という名前の変数に保存されました)。

    • "device_fleet_name" - デバイスフリートの名前 (この文字列は、前のステップで device_fleet_name という名前の変数に保存されました)。

    • "endpoint" 認証情報プロバイダーの AWS アカウント固有のエンドポイント (この文字列は、 という名前の変数の前のステップに保存されましたendpoint)。

    次に、JSONファイルとして保存します。

    edge_config_file = open("sagemaker_edge_config.json", "w") json.dump(sagemaker_edge_config, edge_config_file, indent = 6) edge_config_file.close()

    Amazon S3 バケットに設定ファイルをアップロードします。

    !aws s3 cp sagemaker_edge_config.json s3://{bucket}/
  3. デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーする。

    次の手順は、エッジデバイスで実行します。

    注記

    まず、 AWS CLI エッジデバイスに Python AWS SDK for Python (Boto3)、、 をインストールする必要があります。

    デバイスのターミナルを開きます。リリースアーティファクト、認証情報、設定ファイルを保存するフォルダを作成します。

    mkdir agent_demo cd agent_demo

    デバイスに、Amazon S3 バケットに保存したリリースアーティファクトの内容をコピーします。

    # Copy release artifacts aws s3 cp s3://<bucket-name>/agent_demo/ ./ --recursive

    (リリースアーティファクトの内容は、前のステップでディレクトリ agent_demo に保存されました)。<bucket-name>agent_demo を、Amazon S3 バケットの名前とリリースアーティファクトへのファイルパスに置換します。

    /bin ディレクトリに移動し、バイナリファイルに実行権限を付与します。

    cd bin chmod +x sagemaker_edge_agent_binary chmod +x sagemaker_edge_agent_client_example cd agent_demo

    AWS IoT 認証情報を保存するディレクトリを作成し、Amazon S3 バケットからエッジデバイスに認証情報をコピーします ( 変数 で定義した と同じ を使用しますbucket

    mkdir iot-credentials cd iot-credentials aws s3 cp s3://<bucket-name>/authorization-files/AmazonRootCA1.pem ./ aws s3 cp s3://<bucket-name>/authorization-files/device.pem.crt ./ aws s3 cp s3://<bucket-name>/authorization-files/private.pem.key ./ cd ../

    モデルの署名ルート証明書を保存するディレクトリを作成します。

    mkdir certificates cd certificates aws s3 cp s3://<bucket-name>/authorization-files/us-west-2.pem ./ cd agent_demo

    デバイスに設定ファイルをコピーします。

    #Download config file from S3 aws s3 cp s3://<bucket-name>/sagemaker_edge_config.json ./ cd agent_demo

    エッジデバイスの agent_demo ディレクトリは次のようなものになります。

    ├──agent_demo | ├── bin | ├── sagemaker_edge_agent_binary | └── sagemaker_edge_agent_client_example | ├── sagemaker_edge_config.json | ├── certificates | └──us-west-2.pem | ├── iot-credentials | ├── AmazonRootCA1.pem | ├── device.pem.crt | └── private.pem.key | ├── docs | ├── api | └── examples | ├── ATTRIBUTIONS.txt | ├── LICENSE.txt | └── RELEASE_NOTES.md