Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai Neo di Perangkat Edge
Panduan untuk memulai Amazon SageMaker Neo ini menunjukkan cara mengompilasi model, menyiapkan perangkat, dan membuat kesimpulan di perangkat Anda. Sebagian besar contoh kode menggunakan Boto3. Kami menyediakan perintah menggunakan AWS CLI jika berlaku, serta instruksi tentang cara memenuhi prasyarat untuk Neo.
catatan
Anda dapat menjalankan cuplikan kode berikut di komputer lokal Anda, di dalam SageMaker buku catatan, di dalam SageMaker Studio, atau (tergantung pada perangkat edge Anda) di perangkat edge Anda. Penyiapannya serupa; namun, ada dua pengecualian utama jika Anda menjalankan panduan ini dalam instance SageMaker notebook atau sesi SageMaker Studio:
-
Anda tidak perlu menginstal Boto3.
-
Anda tidak perlu menambahkan kebijakan
‘AmazonSageMakerFullAccess’
IAM
Panduan ini mengasumsikan Anda menjalankan instruksi berikut di perangkat edge Anda.
Prasyarat
-
Instal Boto3
Jika Anda menjalankan perintah ini di perangkat edge Anda, Anda harus menginstal AWS SDK for Python (Boto3). Dalam lingkungan Python (sebaiknya lingkungan virtual), jalankan yang berikut ini secara lokal di terminal perangkat edge Anda atau dalam instance notebook Jupyter:
-
Mengatur AWS Kredensil
Anda perlu menyiapkan kredensi Amazon Web Services di perangkat Anda untuk menjalankan SDK for Python (Boto3). Secara default, AWS kredensil harus disimpan dalam file
~/.aws/credentials
di perangkat edge Anda. Dalam file kredensial, Anda akan melihat dua variabel lingkungan:aws_access_key_id
dan.aws_secret_access_key
Di terminal Anda, jalankan:
$ more ~/.aws/credentials [default] aws_access_key_id =
YOUR_ACCESS_KEY
aws_secret_access_key =YOUR_SECRET_KEY
Panduan Referensi AWS Umum memiliki instruksi tentang cara mendapatkan yang diperlukan
aws_access_key_id
danaws_secret_access_key
. Untuk informasi selengkapnya tentang cara mengatur kredensional di perangkat Anda, lihat dokumentasi Boto3. -
Siapkan Peran IAM dan lampirkan kebijakan.
Neo membutuhkan akses ke URI bucket S3 Anda. Buat peran IAM yang dapat dijalankan SageMaker dan memiliki izin untuk mengakses URI S3. Anda dapat membuat peran IAM baik dengan menggunakan SDK for Python (Boto3), konsol, atau. AWS CLI Contoh berikut menggambarkan cara membuat peran IAM menggunakan SDK for Python (Boto3):
import boto3 AWS_REGION =
'aws-region'
# Create an IAM client to interact with IAM iam_client = boto3.client('iam', region_name=AWS_REGION) role_name ='role-name'
Untuk informasi selengkapnya tentang cara membuat peran IAM dengan konsol AWS CLI, atau melalui AWS API, lihat Membuat pengguna IAM di akun Anda AWS.
Buat kamus yang menjelaskan kebijakan IAM yang Anda lampirkan. Kebijakan ini digunakan untuk membuat peran IAM baru.
policy = { 'Statement': [ { 'Action': 'sts:AssumeRole', 'Effect': 'Allow', 'Principal': {'Service': 'sagemaker.amazonaws.com'}, }], 'Version': '2012-10-17' }
Buat peran IAM baru menggunakan kebijakan yang Anda tentukan di atas:
import json new_role = iam_client.create_role( AssumeRolePolicyDocument=json.dumps(policy), Path='/', RoleName=role_name )
Anda perlu tahu apa Nama Sumber Daya Amazon (ARN) Anda saat membuat pekerjaan kompilasi di langkah selanjutnya, jadi simpan juga dalam variabel.
role_arn = new_role['Role']['Arn']
Sekarang setelah Anda membuat peran baru, lampirkan izin yang diperlukan untuk berinteraksi dengan Amazon SageMaker dan Amazon S3:
iam_client.attach_role_policy( RoleName=role_name, PolicyArn='arn:aws:iam::aws:policy/AmazonSageMakerFullAccess' ) iam_client.attach_role_policy( RoleName=role_name, PolicyArn='arn:aws:iam::aws:policy/AmazonS3FullAccess' );
-
Buat bucket Amazon S3 untuk menyimpan artefak model Anda
SageMaker Neo akan mengakses artefak model Anda dari Amazon S3
-
Latih model pembelajaran mesin
Lihat Melatih Model dengan Amazon SageMaker untuk informasi lebih lanjut tentang cara melatih model pembelajaran mesin menggunakan Amazon SageMaker. Anda dapat mengunggah model yang dilatih secara lokal secara opsional langsung ke bucket Amazon S3 URI.
catatan
Pastikan model diformat dengan benar tergantung pada kerangka kerja yang Anda gunakan. Lihat Bentuk data input apa yang diharapkan SageMaker Neo?
Jika Anda belum memiliki model, gunakan
curl
perintah untuk mendapatkan salinan lokalcoco_ssd_mobilenet
model dari situs TensorFlow web. Model yang baru saja Anda salin adalah model deteksi objek yang dilatih dari dataset COCO. Ketik berikut ini ke notebook Jupyter Anda: model_zip_filename = './coco_ssd_mobilenet_v1_1.0.zip' !curl http://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip \ --output {model_zip_filename}
Perhatikan bahwa contoh khusus ini dikemas dalam file.zip. Buka zip file ini dan kemas ulang sebagai tarfile terkompresi (
.tar.gz
) sebelum menggunakannya di langkah selanjutnya. Ketik berikut ini ke notebook Jupyter Anda:# Extract model from zip file !unzip -u {model_zip_filename} model_filename = 'detect.tflite' model_name = model_filename.split('.')[0] # Compress model into .tar.gz so SageMaker Neo can use it model_tar = model_name + '.tar.gz' !tar -czf {model_tar} {model_filename}
-
Unggah model terlatih ke bucket S3
Setelah Anda melatih mode pembelajaran mesin Anda, simpan dalam ember S3.