翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Edge Manager をダウンロードしてセットアップする
Edge Manager エージェントはエッジデバイス用の推論エンジンです。エージェントを使用して、エッジデバイスにロードされたモデルで予測を行います。エージェントはモデルのメトリクスを収集し、特定の間隔でデータをキャプチャします。
このセクションでは、エージェントを使用してデバイスを設定します。これを行うには、最初に、リリースバケットからリリースアーティファクトと署名ルート証明書をローカルマシンにコピーします。リリースアーティファクトを解凍したら、それを Amazon S3 にアップロードします。次に、エージェントの設定ファイルを定義し、保存します。コピーアンドペーストできるテンプレートが用意されています。最後に、デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーします。
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/
-
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}/
-
デバイスにリリースアーティファクト、設定ファイル、認証情報をコピーする。
次の手順は、エッジデバイスで実行します。
注記
まず、 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