Unduh dan Atur Agen Edge Manager Secara Manual - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Unduh dan Atur Agen Edge Manager Secara Manual

Unduh agen Edge Manager berdasarkan sistem operasi, arsitektur, dan AWS Wilayah Anda. Agen diperbarui secara berkala, sehingga Anda memiliki opsi untuk memilih agen Anda berdasarkan tanggal dan versi rilis. Setelah Anda memiliki agen, buat file JSON konfigurasi. Tentukan nama benda IoT perangkat, nama armada, kredenal perangkat, dan pasangan nilai kunci lainnya. Lihat Menjalankan agen Edge Manager untuk lengkap daftar kunci yang harus Anda tentukan dalam file konfigurasi. Anda dapat menjalankan agen sebagai biner yang dapat dieksekusi atau menautkannya sebagai objek bersama dinamis ()DSO.

Bagaimana agen bekerja

Agen berjalan di CPU perangkat Anda. Agen menjalankan inferensi pada kerangka kerja dan perangkat keras perangkat target yang Anda tentukan selama pekerjaan kompilasi. Misalnya, jika Anda mengkompilasi model untuk Jetson Nano, agen mendukung Deep Learning Runtime () yang disediakan. GPU DLR

Agen dirilis dalam format biner untuk sistem operasi yang didukung. Periksa apakah sistem operasi Anda didukung dan memenuhi persyaratan OS minimum dalam tabel berikut:

Linux

Versi: Ubuntu 18.04

Format Biner yang Didukung: x86-64 bit (ELFbiner) dan ARMv8 64 bit (biner) ELF

Windows

Versi: Windows 10 versi 1909

Format Biner yang Didukung: x86-32 bit (DLL) dan x86-64 bit () DLL

Menginstal agen Edge Manager

Untuk menggunakan agen Edge Manager, Anda harus terlebih dahulu mendapatkan artefak rilis dan sertifikat root. Artefak rilis disimpan dalam ember Amazon S3 di us-west-2 Wilayah. Untuk mengunduh artefak, tentukan sistem operasi Anda (<OS>) dan file. <VERSION>

Berdasarkan sistem operasi Anda, ganti <OS> dengan salah satu dari berikut ini:

Windows 32-bit Windows 64-bit Linux x86-64 Linux ARMv8
jendela-x86 jendela-x64 linux-x64 linux-armv8

VERSIONIni dipecah menjadi tiga komponen:<MAJOR_VERSION>.<YYYY-MM-DD>-<SHA-7>, di mana:

  • <MAJOR_VERSION>: Versi rilis. Versi rilis saat ini diatur ke1.

  • <YYYY-MM-DD>: Cap waktu pelepasan artefak.

  • <SHA-7>: ID komit repositori tempat rilis dibuat.

Anda harus memberikan <MAJOR_VERSION> dan cap waktu dalam YYYY-MM-DD format. Kami menyarankan Anda menggunakan stempel waktu rilis artefak terbaru.

Jalankan yang berikut ini di baris perintah Anda untuk mendapatkan stempel waktu terbaru. Ganti <OS> dengan sistem operasi Anda:

aws s3 ls s3://sagemaker-edge-release-store-us-west-2-<OS>/Releases/ | sort -r

Misalnya, jika Anda memiliki OS Windows 32-bit, jalankan:

aws s3 ls s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/ | sort -r

Ini mengembalikan:

2020-12-01 23:33:36 0 PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/

Output kembali dalam contoh ini menunjukkan dua artefak rilis. File artefak rilis pertama mencatat bahwa versi rilis memiliki versi rilis utama1, cap waktu 20201218 (dalam YYYY-MM-DD format), dan ID komit 81f481f SHA -7.

catatan

Perintah sebelumnya mengasumsikan Anda telah mengonfigurasi file. AWS Command Line Interface Untuk informasi selengkapnya, tentang cara mengonfigurasi setelan yang AWS CLI digunakan untuk berinteraksi AWS, lihat Mengonfigurasi pengaturan. AWS CLI

Berdasarkan sistem operasi Anda, gunakan perintah berikut untuk menginstal artefak:

Windows 32-bit
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/<VERSION>/<VERSION>.zip . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/<VERSION>/sha256_hex.shasum .
Windows 64-bit
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x64/Releases/<VERSION>/<VERSION>.zip . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x64/Releases/<VERSION>/sha256_hex.shasum .
Linux x86-64
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/<VERSION>/<VERSION>.tgz . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/<VERSION>/sha256_hex.shasum .
Linux ARMv8
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/<VERSION>/<VERSION>.tgz . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/<VERSION>/sha256_hex.shasum .

Anda juga harus mengunduh sertifikat root. Sertifikat ini memvalidasi artefak model yang ditandatangani AWS sebelum memuatnya ke perangkat edge Anda.

Ganti <OS> yang sesuai dengan platform Anda dari daftar sistem operasi yang didukung dan ganti <REGION> dengan AWS Wilayah Anda.

aws s3 cp s3://sagemaker-edge-release-store-us-west-2-<OS>/Certificates/<REGION>/<REGION>.pem .

Menjalankan agen Edge Manager

Anda dapat menjalankan agen SageMaker Edge Manager sebagai proses mandiri dalam bentuk biner yang dapat dieksekusi Executable dan Linkable Format (ELF) atau Anda dapat menautkannya sebagai objek bersama dinamis (.dll). Linux mendukung menjalankannya sebagai biner yang dapat dieksekusi mandiri dan merupakan mode yang disukai. Windows mendukung menjalankannya sebagai objek bersama (.dll).

Di Linux, kami menyarankan Anda menjalankan biner melalui layanan yang merupakan bagian dari sistem inisialisasi (init) Anda. Jika Anda ingin menjalankan biner secara langsung, Anda dapat melakukannya di terminal seperti yang ditunjukkan pada contoh berikut. Jika Anda memiliki OS modern, tidak ada instalasi lain yang diperlukan sebelum menjalankan agen, karena semua persyaratan dibangun secara statis ke dalam executable. Ini memberi Anda fleksibilitas untuk menjalankan agen di terminal, sebagai layanan, atau di dalam wadah.

Untuk menjalankan agen, pertama buat file JSON konfigurasi. Tentukan pasangan kunci-nilai berikut:

  • sagemaker_edge_core_device_name: Nama perangkat. Nama perangkat ini harus didaftarkan bersama dengan armada perangkat di konsol SageMaker Edge Manager.

  • sagemaker_edge_core_device_fleet_name: Nama armada tempat perangkat tersebut berada.

  • sagemaker_edge_core_region: AWS Wilayah yang terkait dengan perangkat, armada, dan ember Amazon S3. Ini sesuai dengan Wilayah tempat perangkat terdaftar dan tempat bucket Amazon S3 dibuat (diharapkan sama). Model itu sendiri dapat dikompilasi dengan SageMaker Neo di Wilayah yang berbeda, konfigurasi ini tidak terkait dengan kompilasi model Region.

  • sagemaker_edge_core_root_certs_path: Jalur folder absolut ke root certificate. Ini digunakan untuk memvalidasi perangkat dengan AWS akun yang relevan.

  • sagemaker_edge_provider_aws_ca_cert_file: Jalur absolut ke sertifikat Amazon Root CA (AmazonRootCA1.pem). Ini digunakan untuk memvalidasi perangkat dengan AWS akun yang relevan. AmazonCAadalah sertifikat yang dimiliki oleh AWS.

  • sagemaker_edge_provider_aws_cert_file: Jalur absolut untuk AWS IoT menandatangani root certificate (*.pem.crt).

  • sagemaker_edge_provider_aws_cert_pk_file: Jalur absolut ke kunci AWS IoT pribadi. (*.pem.key).

  • sagemaker_edge_provider_aws_iot_cred_endpoint: Titik akhir AWS IoT kredensial (identifier.iot.region.amazonaws.com). Endpoint ini digunakan untuk validasi kredensi. Lihat Menghubungkan perangkat AWS IoT untuk informasi selengkapnya.

  • sagemaker_edge_provider_provider: Ini menunjukkan implementasi antarmuka penyedia yang digunakan. Antarmuka penyedia berkomunikasi dengan layanan jaringan akhir untuk unggahan, detak jantung, dan validasi pendaftaran. Secara default ini diatur ke"Aws". Kami mengizinkan implementasi khusus dari antarmuka penyedia. Ini dapat diatur ke None tanpa penyedia atau Custom untuk implementasi khusus dengan jalur objek bersama yang relevan yang disediakan.

  • sagemaker_edge_provider_provider_path: Menyediakan jalur absolut ke objek bersama implementasi penyedia. (.so atau berkas .dll). File .dll atau .so "Aws" penyedia disediakan dengan rilis agen. Bidang ini wajib.

  • sagemaker_edge_provider_s3_bucket_name: Nama ember Amazon S3 Anda (bukan ember Amazon URI S3). Bucket harus memiliki sagemaker string dalam namanya.

  • sagemaker_edge_log_verbose(Boolean.): Opsional. Ini menetapkan log debug. Pilih salah satu True atauFalse.

  • sagemaker_edge_telemetry_libsystemd_path: Hanya untuk Linux, systemd mengimplementasikan metrik penghitung kerusakan agen. Setel jalur absolut libsystemd untuk mengaktifkan metrik penghitung kerusakan. Anda dapat menemukan jalur libsystemd default dapat ditemukan dengan menjalankan whereis libsystemd di terminal perangkat.

  • sagemaker_edge_core_capture_data_destination: Tujuan untuk mengunggah data pengambilan. Pilih salah satu "Cloud" atau"Disk". Default diatur ke "Disk". Mengaturnya untuk "Disk" menulis tensor input dan output dan data tambahan ke sistem file lokal di lokasi pilihan Anda. Saat menulis untuk "Cloud" menggunakan nama bucket Amazon S3 yang disediakan dalam konfigurasi. sagemaker_edge_provider_s3_bucket_name

  • sagemaker_edge_core_capture_data_disk_path: Atur jalur absolut dalam sistem file lokal, di mana file data pengambilan "Disk" ditulis kapan tujuannya. Bidang ini tidak digunakan ketika "Cloud" ditentukan sebagai tujuan.

  • sagemaker_edge_core_folder_prefix: Awalan induk di Amazon S3 tempat data yang diambil disimpan saat Anda "Cloud" menentukan sebagai tujuan data pengambilan (. sagemaker_edge_core_capture_data_disk_path) Data yang diambil disimpan dalam sub-folder di bawah sagemaker_edge_core_capture_data_disk_path if "Disk" ditetapkan sebagai tujuan data.

  • sagemaker_edge_core_capture_data_buffer_size(Nilai integer): Ukuran buffer melingkar data tangkapan. Ini menunjukkan jumlah maksimum permintaan yang disimpan dalam buffer.

  • sagemaker_edge_core_capture_data_batch_size(Nilai integer): Ukuran batch data pengambilan. Ini menunjukkan ukuran batch permintaan yang ditangani dari buffer. Nilai ini harus kurang darisagemaker_edge_core_capture_data_buffer_size. Maksimal setengah ukuran buffer direkomendasikan untuk ukuran batch.

  • sagemaker_edge_core_capture_data_push_period_seconds(Nilai integer): Periode push data capture dalam hitungan detik. Sejumlah permintaan dalam buffer ditangani ketika ada permintaan ukuran batch di buffer, atau ketika periode waktu ini telah selesai (mana yang lebih dulu). Konfigurasi ini menetapkan periode waktu tersebut.

  • sagemaker_edge_core_capture_data_base64_embed_limit: Batas untuk mengunggah data tangkapan dalam byte. Nilai integer.

File konfigurasi Anda akan terlihat mirip dengan contoh berikut (dengan nilai spesifik Anda ditentukan). Contoh ini menggunakan AWS penyedia default ("Aws") dan tidak menentukan unggahan berkala.

{ "sagemaker_edge_core_device_name": "device-name", "sagemaker_edge_core_device_fleet_name": "fleet-name", "sagemaker_edge_core_region": "region", "sagemaker_edge_core_root_certs_path": "<Absolute path to root certificates>", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_provider_path" : "/path/to/libprovider_aws.so", "sagemaker_edge_provider_aws_ca_cert_file": "<Absolute path to Amazon Root CA certificate>/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "<Absolute path to AWS IoT signing root certificate>/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "<Absolute path to AWS IoT private key.>/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint": "https://<AWS IoT Endpoint Address>", "sagemaker_edge_core_capture_data_destination": "Cloud", "sagemaker_edge_provider_s3_bucket_name": "sagemaker-bucket-name", "sagemaker_edge_core_folder_prefix": "Amazon S3 folder prefix", "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_batch_size": 10, "sagemaker_edge_core_capture_data_push_period_seconds": 4000, "sagemaker_edge_core_capture_data_base64_embed_limit": 2, "sagemaker_edge_log_verbose": false }

Artefak rilis mencakup executable biner yang disebut sagemaker_edge_agent_binary dalam direktori. /bin Untuk menjalankan biner, gunakan -a bendera untuk membuat deskriptor file soket (.sock) di direktori yang Anda pilih dan tentukan jalur file JSON konfigurasi agen yang Anda buat dengan bendera. -c

./sagemaker_edge_agent_binary -a <ADDRESS_TO_SOCKET> -c <PATH_TO_CONFIG_FILE>

Contoh berikut menunjukkan cuplikan kode dengan direktori dan jalur file yang ditentukan:

./sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json

Dalam contoh ini, deskriptor file soket bernama sagemaker_edge_agent_example.sock dibuat di /tmp direktori dan menunjuk ke file konfigurasi yang ada di direktori kerja yang sama dengan agen yang dipanggilsagemaker_edge_config.json.