本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
下載並設定 Edge Manager
Edge Manager 代理程式是 Edge 裝置的推論引擎。使用代理程式對載入 Edge 裝置的模型進行預測。代理程式也會收集模型指標,並以特定間隔擷取資料。
在本節中,您將使用代理程式設定您的裝置。若要這麼做,請先將發行成品複製並從本機發行儲存貯體簽署根憑證到您的機器。解壓縮版本成品後,將其上傳至 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>
。它由三個元件組成:<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}/
-
將發行成品,組態檔案和憑證複製到您的裝置。
在 Edge 裝置本身上執行以下指示。
注意
您必須先在 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
的目錄中)。分別使用 Amazon S3 儲存貯體的名稱和發行成品的檔案路徑來取代<bucket-name>
和agent_demo
。前往
/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您在 Edge 裝置上的
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