Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Memulai denganSageMaker Edge Manager
penting
SageMakerEdge Manager dihentikan pada 26 April 2024. Untuk informasi selengkapnya tentang terus menerapkan model Anda ke perangkat edge, lihat SageMakerEdge Manager akhir masa pakai.
AmazonSageMaker Edge Manager adalah agen perangkat lunak yang berjalan pada perangkat edge. SageMakerEdge Manager menyediakan manajemen model untuk perangkat edge sehingga Anda dapat mengemas dan menggunakan model AmazonSageMaker NEO dikompilasi secara langsung pada perangkat inti Greengrass. Dengan menggunakanSageMaker Edge Manager, Anda juga dapat membuat sampel model input dan output data dari perangkat inti Anda, dan mengirim data keAWS Cloud untuk pemantauan dan analisis. Untuk informasi selengkapnya tentang cara kerjaSageMaker Edge Manager pada perangkat inti Greengrass, lihatGunakan AmazonSageMaker Edge Manager pada perangkat inti Greengrass.
Tutorial ini menunjukkan kepada Anda cara mulai menggunakanSageMaker Edge Manager dengan komponen sampel yangAWS disediakan oleh pada perangkat inti yang ada. Komponen sampel ini menggunakan komponenSageMaker Edge Manager sebagai dependensi untuk men-deploy agen Edge Manager, dan melakukan inferensi dengan menggunakanSageMaker Neo. Untuk informasi lebih lanjut tentang agenSageMaker Edge Manager, lihat SageMakerEdge Manager di PanduanSageMaker Developer Amazon.
Untuk mengatur dan menggunakan agenSageMaker Edge Manager pada perangkat inti Greengrass,AWS menyediakan contoh kode yang dapat Anda gunakan untuk membuat contoh inferensi dan komponen model.
-
Klasifikasi gambar
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Deteksi objek
-
com.greengrass.SageMakerEdgeManager.ObjectDetection
-
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
-
Tutorial ini menunjukkan kepada Anda cara men-deploy komponen sampel dan agenSageMaker Edge Manager.
Topik
Prasyarat
Untuk menyelesaikan tutorial ini, Anda harus memenuhi prasyarat berikut:
-
Perangkat inti Greengrass yang berjalan pada Amazon Linux 2, platform Linux berbasis Debian (x86_64 atau Armv8), atau Windows (x86_64). Jika Anda tidak memilikinya, lihat Tutorial: MemulaiAWS IoT Greengrass V2.
-
Python
3.6 atau yang lebih baru, termasuk pip
untuk versi Python Anda, diinstal pada perangkat inti anda. -
Waktu aktif OpenGL API GLX (
libgl1-mesa-glx
) yang terpasang pada perangkat inti Anda. -
Pengguna (IAM) AWS Identity and Access Management dengan izin administrator.
-
Komputer pengembangan seperti Windows, Mac, atau UNIX dengan internet aktif yang memenuhi persyaratan berikut:
-
Python
3.6 atau yang lebih baru telah terinstal. -
AWS CLI terinstal dan dikonfigurasi dengan kredensial pengguna administrator IAM Anda. Untuk informasi selengkapnya, lihat Menginstal AWS CLI dan Mengonfigurasi AWS CLI.
-
-
Bucket S3 berikut dibuat padaAkun AWS danWilayah AWS yang sama dengan perangkat inti Greengrass Anda:
-
Bucket S3 untuk menyimpan artefak yang disertakan dalam inferensi sampel dan komponen model. Tutorial ini menggunakan
DOC-EXAMPLE-BUCKET1
untuk mengacu pada bucket ini. -
Bucket S3 yang Anda kaitkan dengan armada perangkatSageMaker edge Anda. SageMakerEdge Manager memerlukan bucket S3 untuk membuat armada perangkat edge, dan untuk menyimpan data sampel agar tidak menjalankan inferensi pada perangkat Anda. Tutorial ini menggunakan
DOC-EXAMPLE-BUCKET2
untuk mengacu pada bucket ini.
Untuk informasi selengkapnya tentang pembuatan bucket S3, lihat Memulai Amazon S3.
-
-
Peran perangkat Greengrass yang dikonfigurasi dengan berikut ini:
-
Hubungan kepercayaan yang memungkinkan
credentials.iot.amazonaws.com
dansagemaker.amazonaws.com
untuk meneruskan peran, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Kebijakan yang dikelola AmazonSageMakerEdgeDeviceFleetPolicy
IAM. -
Kebijakan yang dikelola AmazonSageMakerFullAccess
IAM. -
Tindakan
s3:GetObject
untuk bucket S3 yang berisi artefak komponen Anda, seperti yang ditunjukkan dalam contoh kebijakan IAM berikut.{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET1
/*" ], "Effect": "Allow" } ] }
-
Atur perangkat inti Greengrass Anda diSageMaker Edge Manager
Armada perangkat edge diSageMaker Edge Manager adalah kumpulan perangkat yang dikelompokkan secara logis. Untuk menggunakanSageMaker Edge Manager denganAWS IoT Greengrass, Anda harus membuat armada perangkat edge yang menggunakan aliasAWS IoT peran yang sama seperti perangkat inti Greengrass yang padanya Anda deploy agenSageMaker Edge Manager. Kemudian, Anda harus mendaftarkan perangkat inti sebagai bagian dari armada itu.
Buat armada perangkat edge
Untuk membuat armada perangkat edge (konsol)
-
Di SageMakerkonsol Amazon
, pilih Edge Manager, lalu pilih armada perangkat Edge. -
Pada halaman Armada perangkat, pilih Buat armada perangkat.
-
Di bawah Properti armada perangkat, lakukan hal berikut:
-
Untuk Nama armada perangkat, masukkan nama untuk armada perangkat Anda.
-
Untuk IAM role, masukkan Amazon Resource Name (ARN) alias peran AWS IoT yang Anda tentukan saat menyiapkan perangkat inti Greengrass Anda.
-
Nonaktifkan toggle Buat alias IAM role.
-
-
Pilih Selanjutnya.
-
Di bawah Konfigurasi output, untuk URI bucket S3, masukkan URI bucket S3 yang ingin Anda kaitkan dengan armada perangkat tersebut.
-
Pilih Submit (Kirim).
Daftarkan perangkat inti Greengrass Anda
Untuk mendaftarkan perangkat inti Greengrass Anda sebagai perangkat edge (konsol)
-
Di SageMakerkonsol Amazon
, pilih Edge Manager, lalu pilih perangkat Edge. -
Pada halaman Perangkat, pilih Daftarkan perangkat.
-
Di bawah Properti perangkat, untuk Nama armada perangkat, masukkan nama armada perangkat yang Anda buat, lalu pilih Selanjutnya.
-
Pilih Selanjutnya.
-
Di bawah Sumber perangkat, untuk Nama perangkat, masukkan nama objek AWS IoT perangkat inti Greengrass Anda.
-
Pilih Submit (Kirim).
Buat komponen sampel
Untuk membantu Anda mulai menggunakan komponenSageMaker Edge Manager,AWS menyediakan sebuah skrip Python padaGitHub yang membuat contoh inferensi dan komponen model dan mengunggahnya keAWS Cloud untuk Anda. Selesaikan langkah-langkah berikut pada komputer pengembangan.
Untuk membuat komponen sampel
-
Unduh repositori contohAWS IoT Greengrass komponen
GitHub ke komputer pengembangan Anda. -
Arahkan ke unduhan folder
/machine-learning/sagemaker-edge-manager
.cd
download-directory
/machine-learning/sagemaker-edge-manager -
Jalankan perintah berikut untuk membuat dan meng-upload komponen sampel untuk AWS Cloud.
python3 create_components.py -r
region
-bDOC-EXAMPLE-BUCKET
Ganti
wilayah
dengan Wilayah AWS tempat Anda membuat perangkat inti Greengrass Anda, dan gantiDOC-EXAMPLE-BUCKET1
dengan nama bucket S3 untuk menyimpan artefak komponen Anda.catatan
Secara default, skrip tersebut membuat komponen sampel baik untuk klasifikasi gambar maupun inferensi deteksi objek. Untuk membuat komponen hanya untuk jenis inferensi tertentu, tentukan argumen
-i
.ImageClassification | ObjectDetection
Contoh inferensi dan komponen model yang akan digunakan denganSageMaker Edge Manager sekarang dibuat di AndaAkun AWS. Untuk melihat komponen sampel di Konsol AWS IoT Greengrass
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
com.greengrass.SageMakerEdgeManager.ObjectDetection
-
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
Jalankan contoh inferensi klasifikasi gambar
Untuk menjalankan inferensi klasifikasi gambar dengan menggunakan komponen sampel yangAWS disediakan oleh dan agenSageMaker Edge Manager, Anda harus men-deploy komponen ini ke perangkat inti Anda. Deployment komponen ini akan mengunduh modelSageMaker Resnet-50 yang telah dilatih sebelumnya dan menginstal agenSageMaker Edge Manager pada perangkat Anda. AgenSageMaker Edge Manager memuat model dan menerbitkan hasil inferensi padagg/sageMakerEdgeManager/image-classification
topik. Untuk melihat hasil inferensi ini, gunakan klien MQTT AWS IoT di konsol AWS IoT untuk berlangganan topik ini.
Berlangganan topik notifikasi
Pada langkah ini, Anda mengonfigurasi klien MQTT AWS IoT di konsol AWS IoT untuk melihat pesan MQTT diterbitkan oleh komponen inferensi sampel. Secara default, komponen tersebut menerbitkan hasil inferensi pada topik gg/sageMakerEdgeManager/image-classification
. Berlanggananlah topik ini sebelum Anda men-deploy komponen untuk perangkat inti Greengrass Anda untuk melihat hasil inferensi ketika komponen berjalan untuk pertama kalinya.
Untuk berlangganan topik notifikasi default
-
Di menu navigasi konsol AWS IoT
tersebut, pilih Uji, klien uji MQTT. -
Di bawah Berlangganan topik, di kotak Nama topik, masukkan
gg/sageMakerEdgeManager/image-classification
. -
Pilih Langganan.
Deploy komponen sampel tersebut
Pada langkah ini, Anda mengonfigurasi dan men-deploy komponen berikut ke perangkat inti Anda:
-
aws.greengrass.SageMakerEdgeManager
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
Di menu navigasi konsol AWS IoT Greengrass
tersebut, pilih Deployment, lalu pilih deployment untuk perangkat target yang ingin Anda revisi. -
Pada halaman deployment, pilih Revisi, lalu pilih Revisi deployment.
-
Pada halaman Tentukan target, pilih Selanjutnya.
-
Pada halaman Pilih komponen, lakukan hal berikut:
-
Di bawah Komponen saya, pilih komponen berikut:
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Di bawah Komponen publik, matikan toggle Tampilkan hanya komponen yang dipilih, dan kemudian pilih komponen
aws.greengrass.SageMakerEdgeManager
. -
Pilih Selanjutnya.
-
-
Pada halaman Konfigurasikan komponen, pilih komponen
aws.greengrass.SageMakerEdgeManager
dan lakukan hal berikut.-
Pilih Konfigurasi komponen.
-
Di bawah Pembaruan konfigurasi, di Konfigurasi untuk menggabungkan, masukkan konfigurasi berikut.
{ "DeviceFleetName": "
device-fleet-name
", "BucketName": "
" }DOC-EXAMPLE-BUCKET
Ganti
device-fleet-name
dengan nama armada perangkat edge yang Anda buat, dan ganti
dengan nama bucket S3 yang terkait dengan armada perangkat Anda.DOC-EXAMPLE-BUCKET
-
Pilih Konfirmasi dan kemudian pilih Selanjutnya.
-
-
Pada halaman Konfigurasikan pengaturan lanjutan, simpan pengaturan konfigurasi default tersebut, dan pilih Selanjutnya.
-
Di halaman Tinjau, pilih Deploy.
-
Di komputer pengembangan Anda, buat
deployment.json
file untuk menentukan konfigurasi deployment untuk komponenSageMaker Edge Manager Anda. File ini akan terlihat seperti contoh berikut.{ "targetArn":"
targetArn
", "components": { "aws.greengrass.SageMakerEdgeManager": { "componentVersion": "1.0.x
", "configurationUpdate": { "merge": "{\"DeviceFleetName\":\"device-fleet-name
\",\"BucketName\":\"
\"}" } }, "com.greengrass.SageMakerEdgeManager.ImageClassification": { "componentVersion": "DOC-EXAMPLE-BUCKET2
1.0.x
", "configurationUpdate": { } }, "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": { "componentVersion": "1.0.x
", "configurationUpdate": { } }, } }-
Di kolom
targetArn
, ganti
dengan Amazon Resource Name (ARN) dari grup objek atau objek yang ditargetkan untuk deployment tersebut, dalam format berikut:targetArn
-
Objek:
arn:aws:iot:
region
:account-id
:thing/thingName
-
Grup objek:
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
-
-
Di
merge
lapangan, gantidevice-fleet-name
dengan nama armada perangkat edge yang Anda buat. Kemudian, ganti
dengan nama bucket S3 yang terkait dengan armada perangkat Anda.DOC-EXAMPLE-BUCKET2
-
Ganti versi komponen untuk setiap komponen dengan versi terbaru yang tersedia.
-
-
Jalankan perintah berikut untuk men-deploy komponen pada perangkat:
aws greengrassv2 create-deployment \ --cli-input-json file://
path/to/
deployment.json
Deployment ini dapat memakan waktu beberapa menit hingga selesai. Pada langkah berikutnya, periksa log komponen untuk memverifikasi bahwa deployment tersebut berhasil diselesaikan dan untuk melihat hasil inferensi.
Lihat hasil inferensi
Setelah Anda men-deploy komponen tersebut, Anda dapat melihat hasil inferensi dalam log komponen pada perangkat inti Greengrass Anda dan di klien MQTT AWS IoT di konsol AWS IoT tersebut. Untuk berlangganan topik di mana komponen menerbitkan hasil inferensi, lihat Berlangganan topik notifikasi.
-
Klien MQTT AWS IoT—Untuk melihat hasil yang diterbitkan oleh komponen inferensi pada topik notifikasi default, selesaikan langkah-langkah berikut:
-
Di menu navigasi konsol AWS IoT
tersebut, pilih Uji, klien uji MQTT. -
Di bawah Langganan, pilih
gg/sageMakerEdgeManager/image-classification
.
-
-
Log komponen—Untuk melihat hasil inferensi dalam log komponen, jalankan perintah berikut pada perangkat inti Greengrass Anda.
sudo tail -f
/greengrass/v2
/logs/com.greengrass.SageMakerEdgeManager.ImageClassification.log
Jika Anda tidak dapat melihat hasil inferensi di log komponen atau di klien MQTT, deployment tersebut gagal atau tidak mencapai perangkat inti. Hal ini dapat terjadi jika perangkat inti Anda tidak tersambung ke internet atau tidak memiliki izin yang tepat untuk menjalankan komponen. Jalankan perintah berikut pada perangkat inti Anda untuk melihat berkas log perangkat inti AWS IoT Greengrass. File ini mencakup log dari layanan deployment perangkat inti Greengrass.
sudo tail -f
/greengrass/v2
/logs/greengrass.log
Untuk informasi selengkapnya, lihat Menyelesaikan masalah inferensi machine learning.