

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

# Perangkat Edge
<a name="neo-edge-devices"></a>

Amazon SageMaker Neo menyediakan dukungan kompilasi untuk kerangka kerja pembelajaran mesin yang populer. Anda dapat menggunakan perangkat edge yang dikompilasi NEO seperti Raspberry Pi 3, Sitara Texas Instruments, Jetson, dan banyak lagi. TX1 Untuk daftar lengkap kerangka kerja dan perangkat edge yang didukung, lihat [Kerangka Kerja, Perangkat, Sistem, dan Arsitektur yang Didukung](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge.html). 

Anda harus mengkonfigurasi perangkat edge Anda sehingga dapat menggunakan AWS layanan. Salah satu cara untuk melakukannya adalah dengan menginstal DLR dan Boto3 ke perangkat Anda. Untuk melakukan ini, Anda harus mengatur kredensi otentikasi. Lihat [AWS Konfigurasi Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration) untuk informasi selengkapnya. Setelah model Anda dikompilasi dan perangkat edge Anda dikonfigurasi, Anda dapat mengunduh model dari Amazon S3 ke perangkat edge Anda. Dari sana, Anda dapat menggunakan [Deep Learning Runtime (DLR)](https://neo-ai-dlr.readthedocs.io/en/latest/index.html) untuk membaca model yang dikompilasi dan membuat kesimpulan. 

Untuk pengguna pertama kali, kami sarankan Anda memeriksa panduan [Memulai](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-getting-started-edge.html). Panduan ini memandu Anda melalui cara mengatur kredensil Anda, mengkompilasi model, menyebarkan model Anda ke Raspberry Pi 3, dan membuat kesimpulan pada gambar. 

**Topics**
+ [Kerangka Kerja, Perangkat, Sistem, dan Arsitektur yang Didukung](neo-supported-devices-edge.md)
+ [Menyebarkan Model](neo-deployment-edge.md)
+ [Mengatur Neo di Perangkat Edge](neo-getting-started-edge.md)

# Kerangka Kerja, Perangkat, Sistem, dan Arsitektur yang Didukung
<a name="neo-supported-devices-edge"></a>

Amazon SageMaker Neo mendukung kerangka kerja pembelajaran mesin umum, perangkat edge, sistem operasi, dan arsitektur chip. Cari tahu apakah Neo mendukung kerangka kerja, perangkat tepi, OS, dan arsitektur chip Anda dengan memilih salah satu topik di bawah ini.

Anda dapat menemukan daftar model yang telah diuji oleh Tim Amazon SageMaker Neo di [Model yang Diuji](neo-supported-edge-tested-models.md) bagian tersebut.

**catatan**  
Perangkat Ambarella memerlukan file tambahan untuk dimasukkan dalam file TAR terkompresi sebelum dikirim untuk kompilasi. Untuk informasi selengkapnya, lihat [Memecahkan Masalah Kesalahan Ambarella](neo-troubleshooting-target-devices-ambarella.md).
TIM-VX (libtim-vx.so) diperlukan untuk i.MX 8M Plus. [Untuk informasi tentang cara membangun TIM-VX, lihat repositori TIM-VX. GitHub ](https://github.com/VeriSilicon/TIM-VX)

**Topics**
+ [Kerangka Kerja yang Didukung](neo-supported-devices-edge-frameworks.md)
+ [Perangkat, Arsitektur Chip, dan Sistem yang Didukung](neo-supported-devices-edge-devices.md)
+ [Model yang Diuji](neo-supported-edge-tested-models.md)

# Kerangka Kerja yang Didukung
<a name="neo-supported-devices-edge-frameworks"></a>

Amazon SageMaker Neo mendukung kerangka kerja berikut. 


| Kerangka Kerja | Versi Kerangka | Versi Model | Model | Format Model (dikemas dalam\$1.tar.gz) | Toolkit | 
| --- | --- | --- | --- | --- | --- | 
| MXNet | 1.8 | Mendukung 1,8 atau sebelumnya | Klasifikasi Gambar, Deteksi Objek, Segmentasi Semantik, Estimasi Pose, Pengenalan Aktivitas | Satu file simbol (.json) dan satu file parameter (.params) | GluonCV v0.8.0 | 
| ONNX | 1.7 | Mendukung 1.7 atau sebelumnya | Klasifikasi Gambar, SVM | Satu file model (.onnx) |  | 
| Keras | 2.2 | Mendukung 2.2 atau sebelumnya | Klasifikasi Gambar | Satu file definisi model (.h5) |  | 
| PyTorch | 1.7, 1.8 | Mendukung 1.7, 1.8 atau sebelumnya | Klasifikasi Gambar, Deteksi Objek | Satu file definisi model (.pth) |  | 
| TensorFlow | 1.15, 2.4, 2.5 (hanya untuk instance ml.inf1.\$1) | Mendukung 1.15, 2.4, 2.5 (hanya untuk instance ml.inf1.\$1) atau sebelumnya | Klasifikasi Gambar, Deteksi Objek | \$1Untuk model yang disimpan, satu file.pb atau satu file.pbtxt dan direktori variabel yang berisi variabel\$1Untuk model beku, hanya satu file.pb atau .pbtxt |  | 
| TensorFlow-Ringan | 1.15 | Mendukung 1,15 atau sebelumnya | Klasifikasi Gambar, Deteksi Objek | File flatbuffer definisi satu model (.tflite) |  | 
| XGBoost | 1.3 | Mendukung 1.3 atau sebelumnya | Pohon Keputusan | Satu file XGBoost model (.model) di mana jumlah node dalam pohon kurang dari 2 ^ 31 |  | 
| DARKNET |  |  | Klasifikasi Gambar, Deteksi Objek (model Yolo tidak didukung) | Satu file konfigurasi (.cfg) dan satu file bobot (.weights) |  | 

# Perangkat, Arsitektur Chip, dan Sistem yang Didukung
<a name="neo-supported-devices-edge-devices"></a>

Amazon SageMaker Neo mendukung perangkat, arsitektur chip, dan sistem operasi berikut.

## Perangkat
<a name="neo-supported-edge-devices"></a>

Anda dapat memilih perangkat menggunakan daftar tarik-turun di [konsol Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker) atau dengan menentukan `TargetDevice` konfigurasi output API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html)

Anda dapat memilih dari salah satu perangkat edge berikut: 


| Daftar Perangkat | Sistem pada Chip (SoC) | Sistem Operasi | Arsitektur | Akselerator | Contoh Opsi Kompiler | 
| --- | --- | --- | --- | --- | --- | 
| lorong | Tidak ada | Linux | ARM64 | Mali | Tidak ada | 
| amba\$1cv2 | CV2 | Arch Linux | ARM64 | cvflow | Tidak ada | 
| amba\$1cv22 | CV22 | Arch Linux | ARM64 | cvflow | Tidak ada | 
| amba\$1cv25 | CV25 | Arch Linux | ARM64 | cvflow | Tidak ada | 
| corel | Tidak ada | iOS, macOS | Tidak ada | Tidak ada | \$1"class\$1labels": "imagenet\$1labels\$11000.txt"\$1 | 
| imx8qm | NXP imx8 | Linux | ARM64 | Tidak ada | Tidak ada | 
| imx8mplus | i.MX 8M Plus | Linux | ARM64 | NPU | Tidak ada | 
| jacinto\$1tda4vm | TDA4VM | Linux | LENGAN | TDA4VM | Tidak ada | 
| jetson\$1nano | Tidak ada | Linux | ARM64 | NVIDIA | \$1'gpu-code': 'sm\$153', 'trt-ver': '5.0.6', 'cuda-ver': '10.0'\$1Untuk`TensorFlow2`, `{'JETPACK_VERSION': '4.6', 'gpu_code': 'sm_72'}` | 
| jetson\$1tx1 | Tidak ada | Linux | ARM64 | NVIDIA | \$1'gpu-code': 'sm\$153', 'trt-ver': '6.0.1', 'cuda-ver': '10.0'\$1 | 
| jetson\$1tx2 | Tidak ada | Linux | ARM64 | NVIDIA | \$1'gpu-code': 'sm\$162', 'trt-ver': '6.0.1', 'cuda-ver': '10.0'\$1 | 
| jetson\$1xavier | Tidak ada | Linux | ARM64 | NVIDIA | \$1'gpu-code': 'sm\$172', 'trt-ver': '5.1.6', 'cuda-ver': '10.0'\$1 | 
| qcs605 | Tidak ada | Android | ARM64 | Mali | \$1'ANDROID\$1PLATFORM': 27\$1 | 
| qcs603 | Tidak ada | Android | ARM64 | Mali | \$1'ANDROID\$1PLATFORM': 27\$1 | 
| rasp3b | LENGAN A56 | Linux | ARM\$1EABIHF | Tidak ada | \$1'mattr': ['\$1neon']\$1 | 
| rasp4b | LENGAN A72 | Tidak ada | Tidak ada | Tidak ada | Tidak ada | 
| rk3288 | Tidak ada | Linux | ARM\$1EABIHF | Mali | Tidak ada | 
| rk3399 | Tidak ada | Linux | ARM64 | Mali | Tidak ada | 
| sbe\$1c | Tidak ada | Linux | x86\$164 | Tidak ada | \$1'mcpu': 'core-avx2'\$1 | 
| sitara\$1am57x | AM57X | Linux | ARM64 | EVE dan/atau C66x DSP | Tidak ada | 
| x86\$1win32 | Tidak ada | Windows 10 | X86\$132 | Tidak ada | Tidak ada | 
| x86\$1win64 | Tidak ada | Windows 10 | X86\$132 | Tidak ada | Tidak ada | 

[Untuk informasi selengkapnya tentang opsi kompiler nilai kunci JSON untuk setiap perangkat target, lihat `CompilerOptions` bidang dalam tipe data API. `OutputConfig`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html)

## Sistem dan Arsitektur Chip
<a name="neo-supported-edge-granular"></a>

Tabel pencarian berikut memberikan informasi mengenai sistem operasi dan arsitektur yang tersedia untuk pekerjaan kompilasi model Neo. 

------
#### [ Linux ]


| Akselerator | X86\$164 | X86 | ARM64 | ARM\$1EABIHF | ARM\$1EABI | 
| --- | --- | --- | --- | --- | --- | 
| Tidak ada akselerator (CPU) | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | 
| GPU Nvidia | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | 
| Intel\$1Grafis | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | 
| ARM Mali | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | 

------
#### [ Android ]


| Akselerator | X86\$164 | X86 | ARM64 | ARM\$1EABIHF | ARM\$1EABI | 
| --- | --- | --- | --- | --- | --- | 
| Tidak ada akselerator (CPU) | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | 
| GPU Nvidia | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | 
| Intel\$1Grafis | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | 
| ARM Mali | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | 

------
#### [ Windows ]


| Akselerator | X86\$164 | X86 | ARM64 | ARM\$1EABIHF | ARM\$1EABI | 
| --- | --- | --- | --- | --- | --- | 
| Tidak ada akselerator (CPU) | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/negative_icon.svg) Tidak | 

------

# Model yang Diuji
<a name="neo-supported-edge-tested-models"></a>

Bagian yang dapat dilipat berikut memberikan informasi tentang model pembelajaran mesin yang diuji oleh tim Amazon SageMaker Neo. Perluas bagian yang dapat dilipat berdasarkan kerangka kerja Anda untuk memeriksa apakah model telah diuji.

**catatan**  
Ini bukan daftar lengkap model yang dapat dikompilasi dengan Neo.

Lihat [Kerangka Kerja yang Didukung](neo-supported-devices-edge-frameworks.md) dan [Operator yang Didukung SageMaker AI Neo](https://aws.amazon.com/releasenotes/sagemaker-neo-supported-frameworks-and-operators/) untuk mengetahui apakah Anda dapat mengkompilasi model Anda dengan SageMaker Neo.

## DarkNet
<a name="collapsible-section-01"></a>


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| Alexnet |  |  |  |  |  |  |  |  |  | 
| Resnet50 | X | X |  | X | X | X |  | X | X | 
| YOLOv2 |  |  |  | X | X | X |  | X | X | 
| YOLOv2\$1kecil | X | X |  | X | X | X |  | X | X | 
| YOLOv3\$1416 |  |  |  | X | X | X |  | X | X | 
| YOLOv3\$1kecil | X | X |  | X | X | X |  | X | X | 

## MXNet
<a name="collapsible-section-02"></a>


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| Alexnet |  |  | X |  |  |  |  |  |  | 
| Densenet121 |  |  | X |  |  |  |  |  |  | 
| DenseNet201 | X | X | X | X | X | X |  | X | X | 
| GoogLeNet | X | X |  | X | X | X |  | X | X | 
| InceptionV3 |  |  |  | X | X | X |  | X | X | 
| MobileNet0,75 | X | X |  | X | X | X |  |  | X | 
| MobileNet1.0 | X | X | X | X | X | X |  |  | X | 
| MobileNetV2\$10.5 | X | X |  | X | X | X |  |  | X | 
| MobileNetV2\$11.0 | X | X | X | X | X | X | X | X | X | 
| MobileNetV3\$1Besar | X | X | X | X | X | X | X | X | X | 
| MobileNetV3\$1Kecil | X | X | X | X | X | X | X | X | X | 
| ResNeSt50 |  |  |  | X | X |  |  | X | X | 
| ResNet18\$1v1 | X | X | X | X | X | X |  |  | X | 
| ResNet18\$1v2 | X | X |  | X | X | X |  |  | X | 
| ResNet50\$1v1 | X | X | X | X | X | X |  | X | X | 
| ResNet50\$1v2 | X | X | X | X | X | X |  | X | X | 
| ResNext101\$132x4d |  |  |  |  |  |  |  |  |  | 
| ResNext50\$132x4d | X |  | X | X | X |  |  | X | X | 
| SENet\$1154 |  |  |  | X | X | X |  | X | X | 
| SE\$1 50\$132x4d ResNext | X | X |  | X | X | X |  | X | X | 
| SqueezeNet1.0 | X | X | X | X | X | X |  |  | X | 
| SqueezeNet1.1 | X | X | X | X | X | X |  | X | X | 
| VGG11 | X | X | X | X | X |  |  | X | X | 
| Xception | X | X | X | X | X | X |  | X | X | 
| darknet53 | X | X |  | X | X | X |  | X | X | 
| resnet18\$1v1b\$10.89 | X | X |  | X | X | X |  |  | X | 
| resnet50\$1v1d\$10.11 | X | X |  | X | X | X |  |  | X | 
| resnet50\$1v1d\$10.86 | X | X | X | X | X | X |  | X | X | 
| ssd\$1512\$1mobilenet1.0\$1coco | X |  | X | X | X | X |  | X | X | 
| ssd\$1512\$1mobilenet1.0\$1voc | X |  | X | X | X | X |  | X | X | 
| ssd\$1resnet50\$1v1 | X |  | X | X | X |  |  | X | X | 
| yolo3\$1darknet53\$1coco | X |  |  | X | X |  |  | X | X | 
| yolo3\$1mobilenet1.0\$1coco | X | X |  | X | X | X |  | X | X | 
| deeplab\$1resnet50 |  |  | X |  |  |  |  |  |  | 

## Keras
<a name="collapsible-section-03"></a>


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| densenet121 | X | X | X | X | X | X |  | X | X | 
| densenet201 | X | X | X | X | X | X |  |  | X | 
| inception\$1v3 | X | X |  | X | X | X |  | X | X | 
| mobilenet\$1v1 | X | X | X | X | X | X |  | X | X | 
| mobilenet\$1v2 | X | X | X | X | X | X |  | X | X | 
| resnet152\$1v1 |  |  |  | X | X |  |  |  | X | 
| resnet152\$1v2 |  |  |  | X | X |  |  |  | X | 
| resnet50\$1v1 | X | X | X | X | X |  |  | X | X | 
| resnet50\$1v2 | X | X | X | X | X | X |  | X | X | 
| vgg16 |  |  | X | X | X |  |  | X | X | 

## ONNX
<a name="collapsible-section-04"></a>


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| alexnet |  |  | X |  |  |  |  |  |  | 
| mobilenetv2-1.0 | X | X | X | X | X | X |  | X | X | 
| resnet18v1 | X |  |  | X | X |  |  |  | X | 
| resnet18v2 | X |  |  | X | X |  |  |  | X | 
| resnet50v1 | X |  | X | X | X |  |  | X | X | 
| resnet50v2 | X |  | X | X | X |  |  | X | X | 
| resnet152v1 |  |  |  | X | X | X |  |  | X | 
| resnet152v2 |  |  |  | X | X | X |  |  | X | 
| squeezenet1.1 | X |  | X | X | X | X |  | X | X | 
| vgg19 |  |  | X |  |  |  |  |  | X | 

## PyTorch (FP32)
<a name="collapsible-section-05"></a>


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Ambarella CV25 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| densenet121 | X | X | X | X | X | X | X |  | X | X | 
| inception\$1v3 |  | X |  |  | X | X | X |  | X | X | 
| resnet152 |  |  |  |  | X | X | X |  |  | X | 
| resnet18 | X | X |  |  | X | X | X |  |  | X | 
| resnet50 | X | X | X | X | X | X |  |  | X | X | 
| squeezenet1.0 | X | X |  |  | X | X | X |  |  | X | 
| squeezenet1.1 | X | X | X | X | X | X | X |  | X | X | 
| yolov4 |  |  |  |  | X | X |  |  |  |  | 
| yolov5 |  |  |  | X | X | X |  |  |  |  | 
| fasterrcnn\$1resnet50\$1fpn |  |  |  |  | X | X |  |  |  |  | 
| maskrcnn\$1resnet50\$1fpn |  |  |  |  | X | X |  |  |  |  | 

## TensorFlow
<a name="collapsible-section-06"></a>

------
#### [ TensorFlow ]


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Ambarella CV25 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| densenet201 | X | X | X | X | X | X | X |  | X | X | 
| inception\$1v3 | X | X | X |  | X | X | X |  | X | X | 
| mobilenet100\$1v1 | X | X | X |  | X | X | X |  |  | X | 
| mobilenet100\$1v2.0 | X | X | X |  | X | X | X |  | X | X | 
| mobilenet130\$1v2 | X | X |  |  | X | X | X |  |  | X | 
| mobilenet140\$1v2 | X | X | X |  | X | X | X |  | X | X | 
| resnet50\$1v1.5 | X | X |  |  | X | X | X |  | X | X | 
| resnet50\$1v2 | X | X | X | X | X | X | X |  | X | X | 
| meremas | X | X | X | X | X | X | X |  | X | X | 
| topeng\$1rcnn\$1inception\$1resnet\$1v2 |  |  |  |  | X |  |  |  |  |  | 
| ssd\$1mobilenet\$1v2 |  |  |  |  | X | X |  |  |  |  | 
| lebih cepat\$1rcnn\$1resnet50\$1lowproposal |  |  |  |  | X |  |  |  |  |  | 
| rfcn\$1resnet101 |  |  |  |  | X |  |  |  |  |  | 

------
#### [ TensorFlow.Keras ]


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| DenseNet121  | X | X |  | X | X | X |  | X | X | 
| DenseNet201 | X | X |  | X | X | X |  |  | X | 
| InceptionV3 | X | X |  | X | X | X |  | X | X | 
| MobileNet | X | X |  | X | X | X |  | X | X | 
| MobileNetv2 | X | X |  | X | X | X |  | X | X | 
| NASNetBesar |  |  |  | X | X |  |  | X | X | 
| NASNetPonsel | X | X |  | X | X | X |  | X | X | 
| ResNet101 |  |  |  | X | X | X |  |  | X | 
| ResNet101V2 |  |  |  | X | X | X |  |  | X | 
| ResNet152 |  |  |  | X | X |  |  |  | X | 
| ResNet152v2 |  |  |  | X | X |  |  |  | X | 
| ResNet50 | X | X |  | X | X |  |  | X | X | 
| ResNet50V2 | X | X |  | X | X | X |  | X | X | 
| VGG16 |  |  |  | X | X |  |  | X | X | 
| Xception | X | X |  | X | X | X |  | X | X | 

------

## TensorFlow-Ringan
<a name="collapsible-section-07"></a>

------
#### [ TensorFlow-Lite (FP32) ]


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | i.MX 8M Plus | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| densenet\$12018\$104\$127 | X |  |  | X | X | X |  |  | X |  | 
| inception\$1resnet\$1v2\$12018\$104\$127 |  |  |  | X | X | X |  |  | X |  | 
| inception\$1v3\$12018\$104\$127 |  |  |  | X | X | X |  |  | X | X | 
| inception\$1v4\$12018\$104\$127 |  |  |  | X | X | X |  |  | X | X | 
| mnasnet\$10.5\$1224\$109\$107\$12018 | X |  |  | X | X | X |  |  | X |  | 
| mnasnet\$11.0\$1224\$109\$107\$12018 | X |  |  | X | X | X |  |  | X |  | 
| mnasnet\$11.3\$1224\$109\$107\$12018 | X |  |  | X | X | X |  |  | X |  | 
| mobilenet\$1v1\$10.25\$1128 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$10.25\$1224 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$10.5\$1128 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$10.5\$1224 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$10.75\$1128 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$10.75\$1224 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$11.0\$1128 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v1\$11.0\$1192 | X |  |  | X | X | X |  |  | X | X | 
| mobilenet\$1v2\$11.0\$1224 | X |  |  | X | X | X |  |  | X | X | 
| resnet\$1v2\$1101 |  |  |  | X | X | X |  |  | X |  | 
| squeezenet\$12018\$104\$127 | X |  |  | X | X | X |  |  | X |  | 

------
#### [ TensorFlow-Lite (INT8) ]


| Model | LENGAN V8 | ARM Mali | Ambarella CV22 | Nvidia | Panorama | TI TDA4 VM | Qualcomm 03 QCS6 | X86\$1Linux | X86\$1Windows | i.MX 8M Plus | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| inception\$1v1 |  |  |  |  |  |  | X |  |  | X | 
| inception\$1v2 |  |  |  |  |  |  | X |  |  | X | 
| inception\$1v3 | X |  |  |  |  | X | X |  | X | X | 
| inception\$1v4\$1299 | X |  |  |  |  | X | X |  | X | X | 
| mobilenet\$1v1\$10.25\$1128 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$10.25\$1224 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$10.5\$1128 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$10.5\$1224 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$10.75\$1128 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$10.75\$1224 | X |  |  |  |  | X | X |  | X | X | 
| mobilenet\$1v1\$11.0\$1128 | X |  |  |  |  | X |  |  | X | X | 
| mobilenet\$1v1\$11.0\$1224 | X |  |  |  |  | X | X |  | X | X | 
| mobilenet\$1v2\$11.0\$1224 | X |  |  |  |  | X | X |  | X | X | 
| deeplab-v3\$1513 |  |  |  |  |  |  | X |  |  |  | 

------

# Menyebarkan Model
<a name="neo-deployment-edge"></a>

[https://github.com/neo-ai/neo-ai-dlr](https://github.com/neo-ai/neo-ai-dlr)

Sebelum melanjutkan, pastikan perangkat edge Anda harus didukung oleh SageMaker Neo. Lihat, [Kerangka Kerja, Perangkat, Sistem, dan Arsitektur yang Didukung](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge.html) untuk mengetahui perangkat edge yang didukung. Pastikan Anda menentukan perangkat edge target saat mengirimkan tugas kompilasi, lihat [Menggunakan Neo untuk Mengompilasi Model](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation.html).

## Menerapkan Model Terkompilasi (DLR)
<a name="neo-deployment-dlr"></a>

[DLR](https://github.com/neo-ai/neo-ai-dlr) adalah runtime yang ringkas dan umum untuk model pembelajaran mendalam dan model pohon keputusan. DLR menggunakan runtime [TVM, runtime [Treelite](https://treelite.readthedocs.io/en/latest/install.html)](https://github.com/neo-ai/tvm), NVIDIA TensorRT™, dan dapat menyertakan runtime khusus perangkat keras lainnya. DLR menyediakan Python/C\$1\$1 terpadu APIs untuk memuat dan menjalankan model yang dikompilasi pada berbagai perangkat.

Anda dapat menginstal rilis terbaru paket DLR menggunakan perintah pip berikut:

```
pip install dlr
```

Untuk pemasangan DLR pada target GPU atau perangkat tepi non-x86, silakan merujuk ke [Rilis](https://github.com/neo-ai/neo-ai-dlr/releases) untuk binari bawaan, atau [Menginstal](https://neo-ai-dlr.readthedocs.io/en/latest/install.html) DLR untuk membangun DLR dari sumber. Misalnya, untuk menginstal DLR untuk Raspberry Pi 3, Anda dapat menggunakan: 

```
pip install https://neo-ai-dlr-release.s3-us-west-2.amazonaws.com/v1.3.0/pi-armv7l-raspbian4.14.71-glibc2_24-libstdcpp3_4/dlr-1.3.0-py3-none-any.whl
```

## Menyebarkan Model (AWS IoT Greengrass)
<a name="neo-deployment-greengrass"></a>

[AWS IoT Greengrass memperluas kemampuan cloud ke perangkat](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) lokal. Ini memungkinkan perangkat untuk mengumpulkan dan menganalisis data lebih dekat ke sumber informasi, bereaksi secara mandiri terhadap peristiwa lokal, dan berkomunikasi dengan aman satu sama lain di jaringan lokal. Dengan AWS IoT Greengrass, Anda dapat melakukan inferensi pembelajaran mesin di tepi data yang dihasilkan secara lokal menggunakan model yang dilatih cloud. Saat ini, Anda dapat menerapkan model ke semua perangkat AWS IoT Greengrass berdasarkan ARM Cortex-A, Intel Atom, dan prosesor seri Nvidia Jetson. [Untuk informasi selengkapnya tentang penerapan aplikasi inferensi Lambda untuk melakukan inferensi pembelajaran mesin dengan Greengrass AWS IoT, lihat Cara mengonfigurasi inferensi pembelajaran mesin yang dioptimalkan menggunakan Konsol Manajemen. AWS](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-dlc-console.html)

# Mengatur Neo di Perangkat Edge
<a name="neo-getting-started-edge"></a>

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, di dalam SageMaker buku catatan, di Amazon SageMaker Studio, atau (tergantung pada perangkat edge) 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
<a name="neo-getting-started-edge-step0"></a>

SageMaker Neo adalah kemampuan yang memungkinkan Anda untuk melatih model pembelajaran mesin sekali dan menjalankannya di mana saja di cloud dan di tepi. Sebelum Anda dapat mengkompilasi dan mengoptimalkan model Anda dengan Neo, ada beberapa prasyarat yang perlu Anda atur. Anda harus menginstal pustaka Python yang diperlukan, mengonfigurasi AWS kredensialnya, membuat peran IAM dengan izin yang diperlukan, dan menyiapkan bucket S3 untuk menyimpan artefak model. Anda juga harus memiliki model pembelajaran mesin terlatih yang siap. Langkah-langkah berikut memandu Anda melalui pengaturan:

1. **Instal Boto3**

   Jika Anda menjalankan perintah ini di perangkat edge Anda, Anda harus menginstal AWS SDK untuk Python (Boto3). Dalam lingkungan Python (sebaiknya lingkungan virtual), jalankan yang berikut ini secara lokal di terminal perangkat edge Anda atau dalam instance notebook Jupyter: 

------
#### [ Terminal ]

   ```
   pip install boto3
   ```

------
#### [ Jupyter Notebook ]

   ```
   !pip install boto3
   ```

------

1.  **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](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) memiliki instruksi tentang cara mendapatkan yang diperlukan `aws_access_key_id` dan`aws_secret_access_key`. Untuk informasi selengkapnya tentang cara mengatur kredensional di perangkat Anda, lihat dokumentasi [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration). 

1.  **Siapkan Peran IAM dan lampirkan kebijakan.** 

   Neo membutuhkan akses ke URI bucket S3 Anda. Buat peran IAM yang dapat menjalankan SageMaker AI 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_api).

    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 AI 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'
   );
   ```

1. **Buat bucket Amazon S3 untuk menyimpan artefak model Anda**

   SageMaker Neo akan mengakses artefak model Anda dari Amazon S3

------
#### [ Boto3 ]

   ```
   # Create an S3 client
   s3_client = boto3.client('s3', region_name=AWS_REGION)
   
   # Name buckets
   bucket='name-of-your-bucket'
   
   # Check if bucket exists
   if boto3.resource('s3').Bucket(bucket) not in boto3.resource('s3').buckets.all():
       s3_client.create_bucket(
           Bucket=bucket,
           CreateBucketConfiguration={
               'LocationConstraint': AWS_REGION
           }
       )
   else:
       print(f'Bucket {bucket} already exists. No action needed.')
   ```

------
#### [ CLI ]

   ```
   aws s3 mb s3://'name-of-your-bucket' --region specify-your-region 
   
   # Check your bucket exists
   aws s3 ls s3://'name-of-your-bucket'/
   ```

------

1. **Latih model pembelajaran mesin**

   Lihat [Train a Model with Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-training.html) untuk informasi lebih lanjut tentang cara melatih model pembelajaran mesin menggunakan Amazon SageMaker AI. 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?](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation.html#neo-job-compilation-expected-inputs) 

   Jika Anda belum memiliki model, gunakan `curl` perintah untuk mendapatkan salinan lokal `coco_ssd_mobilenet` model dari situs TensorFlow web. Model yang baru saja Anda salin adalah model deteksi objek yang dilatih dari dataset [COCO](https://cocodataset.org/#home). 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}
   ```

1. **Unggah model terlatih ke bucket S3**

   Setelah Anda melatih mode pembelajaran mesin Anda, simpan dalam ember S3. 

------
#### [ Boto3 ]

   ```
   # Upload model        
   s3_client.upload_file(Filename=model_filename, Bucket=bucket, Key=model_filename)
   ```

------
#### [ CLI ]

   Ganti `your-model-filename` dan `amzn-s3-demo-bucket` dengan nama bucket S3 Anda. 

   ```
   aws s3 cp your-model-filename s3://amzn-s3-demo-bucket
   ```

------

# Kompilasi Model
<a name="neo-getting-started-edge-step1"></a>

Setelah Anda memenuhi [Prasyarat](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-getting-started-edge.html#neo-getting-started-edge-step0), Anda dapat mengkompilasi model Anda dengan Amazon AI Neo. SageMaker [Anda dapat mengompilasi model menggunakan konsol AWS CLI, atau [Amazon Web Services SDK for Python (Boto3), lihat Menggunakan Neo untuk](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) Mengompilasi Model.](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation.html) Dalam contoh ini, Anda akan mengkompilasi model Anda dengan Boto3.

Untuk mengkompilasi model, SageMaker Neo memerlukan informasi berikut:

1.  **URI bucket Amazon S3 tempat Anda menyimpan model terlatih.** 

   Jika Anda mengikuti prasyarat, nama bucket Anda disimpan dalam variabel bernama. `bucket` Cuplikan kode berikut menunjukkan cara membuat daftar semua bucket Anda menggunakan: AWS CLI

   ```
   aws s3 ls
   ```

   Contoh: 

   ```
   $ aws s3 ls
   2020-11-02 17:08:50 bucket
   ```

1.  **URI bucket Amazon S3 tempat Anda ingin menyimpan model yang dikompilasi.** 

   Cuplikan kode di bawah ini menggabungkan URI bucket Amazon S3 Anda dengan nama direktori keluaran yang disebut: `output` 

   ```
   s3_output_location = f's3://{bucket}/output'
   ```

1.  **Kerangka pembelajaran mesin yang Anda gunakan untuk melatih model Anda.** 

   Tentukan kerangka kerja yang Anda gunakan untuk melatih model Anda.

   ```
   framework = 'framework-name'
   ```

   Misalnya, jika Anda ingin mengkompilasi model yang dilatih menggunakan TensorFlow, Anda dapat menggunakan `tflite` atau`tensorflow`. Gunakan `tflite` jika Anda ingin menggunakan versi yang lebih ringan TensorFlow yang menggunakan lebih sedikit memori penyimpanan. 

   ```
   framework = 'tflite'
   ```

   Untuk daftar lengkap kerangka kerja yang didukung NEO, lihat Kerangka Kerja, [Perangkat, Sistem, dan Arsitektur yang Didukung](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge.html). 

1.  **Bentuk input model Anda.** 

    Neo membutuhkan nama dan bentuk tensor input Anda. Nama dan bentuk diteruskan sebagai pasangan kunci-nilai. `value`adalah daftar dimensi integer dari tensor input dan `key` merupakan nama yang tepat dari tensor input dalam model. 

   ```
   data_shape = '{"name": [tensor-shape]}'
   ```

   Contoh:

   ```
   data_shape = '{"normalized_input_image_tensor":[1, 300, 300, 3]}'
   ```
**catatan**  
Pastikan model diformat dengan benar tergantung pada kerangka kerja yang Anda gunakan. Lihat [Bentuk data input apa yang diharapkan SageMaker Neo?](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation.html#neo-job-compilation-expected-inputs) Kunci dalam kamus ini harus diubah menjadi nama tensor input baru.

1.  **Baik nama perangkat target untuk dikompilasi atau rincian umum platform perangkat keras** 

   ```
   target_device = 'target-device-name'
   ```

   Misalnya, jika Anda ingin menyebarkan ke Raspberry Pi 3, gunakan: 

   ```
   target_device = 'rasp3b'
   ```

   Anda dapat menemukan seluruh daftar perangkat edge yang [didukung di Kerangka Kerja, Perangkat, Sistem, dan Arsitektur](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge.html) yang Didukung.

 Sekarang setelah Anda menyelesaikan langkah-langkah sebelumnya, Anda dapat mengirimkan pekerjaan kompilasi ke Neo. 

```
# Create a SageMaker client so you can submit a compilation job
sagemaker_client = boto3.client('sagemaker', region_name=AWS_REGION)

# Give your compilation job a name
compilation_job_name = 'getting-started-demo'
print(f'Compilation job for {compilation_job_name} started')

response = sagemaker_client.create_compilation_job(
    CompilationJobName=compilation_job_name,
    RoleArn=role_arn,
    InputConfig={
        'S3Uri': s3_input_location,
        'DataInputConfig': data_shape,
        'Framework': framework.upper()
    },
    OutputConfig={
        'S3OutputLocation': s3_output_location,
        'TargetDevice': target_device 
    },
    StoppingCondition={
        'MaxRuntimeInSeconds': 900
    }
)

# Optional - Poll every 30 sec to check completion status
import time

while True:
    response = sagemaker_client.describe_compilation_job(CompilationJobName=compilation_job_name)
    if response['CompilationJobStatus'] == 'COMPLETED':
        break
    elif response['CompilationJobStatus'] == 'FAILED':
        raise RuntimeError('Compilation failed')
    print('Compiling ...')
    time.sleep(30)
print('Done!')
```

Jika Anda menginginkan informasi tambahan untuk debugging, sertakan pernyataan cetak berikut:

```
print(response)
```

Jika pekerjaan kompilasi berhasil, model yang dikompilasi akan disimpan di bucket Amazon S3 keluaran yang Anda tentukan sebelumnya `s3_output_location` (). Unduh model kompilasi Anda secara lokal: 

```
object_path = f'output/{model}-{target_device}.tar.gz'
neo_compiled_model = f'compiled-{model}.tar.gz'
s3_client.download_file(bucket, object_path, neo_compiled_model)
```

# Mengatur Perangkat Anda
<a name="neo-getting-started-edge-step2"></a>

Anda perlu menginstal paket di perangkat edge Anda sehingga perangkat Anda dapat membuat kesimpulan. [Anda juga perlu menginstal inti [AWS Greengrass IoT atau Deep Learning Runtime (DLR](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html)).](https://github.com/neo-ai/neo-ai-dlr) Dalam contoh ini, Anda akan menginstal paket yang diperlukan untuk membuat kesimpulan untuk algoritma deteksi `coco_ssd_mobilenet` objek dan Anda akan menggunakan DLR.

1. **Instal paket tambahan**

   Selain Boto3, Anda harus menginstal pustaka tertentu di perangkat edge Anda. Pustaka apa yang Anda instal tergantung pada kasus penggunaan Anda. 

   Misalnya, untuk algoritma deteksi `coco_ssd_mobilenet` objek yang Anda unduh sebelumnya, Anda perlu menginstal [NumPy](https://numpy.org/)untuk manipulasi data dan statistik, [PIL](https://pillow.readthedocs.io/en/stable/) untuk memuat gambar, dan [Matplotlib](https://matplotlib.org/) untuk menghasilkan plot. Anda juga memerlukan salinan TensorFlow jika Anda ingin mengukur dampak kompilasi dengan Neo versus baseline. 

   ```
   !pip3 install numpy pillow tensorflow matplotlib 
   ```

1. **Instal mesin inferensi di perangkat Anda**

   Untuk menjalankan model yang dikompilasi NEO, instal [Deep Learning Runtime (DLR](https://github.com/neo-ai/neo-ai-dlr)) di perangkat Anda. DLR adalah runtime yang ringkas dan umum untuk model pembelajaran mendalam dan model pohon keputusan. Pada target CPU x86\$164 yang menjalankan Linux, Anda dapat menginstal rilis terbaru paket DLR menggunakan perintah berikut: `pip`

   ```
   !pip install dlr
   ```

   Untuk pemasangan DLR pada target GPU atau perangkat tepi non-x86, lihat [Rilis](https://github.com/neo-ai/neo-ai-dlr/releases) untuk binari bawaan, atau [Menginstal](https://neo-ai-dlr.readthedocs.io/en/latest/install.html) DLR untuk membangun DLR dari sumber. Misalnya, untuk menginstal DLR untuk Raspberry Pi 3, Anda dapat menggunakan: 

   ```
   !pip install https://neo-ai-dlr-release.s3-us-west-2.amazonaws.com/v1.3.0/pi-armv7l-raspbian4.14.71-glibc2_24-libstdcpp3_4/dlr-1.3.0-py3-none-any.whl
   ```

# Buat Inferensi di Perangkat Anda
<a name="neo-getting-started-edge-step3"></a>

Dalam contoh ini, Anda akan menggunakan Boto3 untuk mengunduh output pekerjaan kompilasi Anda ke perangkat edge Anda. Anda kemudian akan mengimpor DLR, mengunduh contoh gambar dari kumpulan data, mengubah ukuran gambar ini agar sesuai dengan input asli model, dan kemudian Anda akan membuat prediksi.

1. **Unduh model kompilasi Anda dari Amazon S3 ke perangkat Anda dan ekstrak dari tarfile terkompresi.** 

   ```
   # Download compiled model locally to edge device
   object_path = f'output/{model_name}-{target_device}.tar.gz'
   neo_compiled_model = f'compiled-{model_name}.tar.gz'
   s3_client.download_file(bucket_name, object_path, neo_compiled_model)
   
   # Extract model from .tar.gz so DLR can use it
   !mkdir ./dlr_model # make a directory to store your model (optional)
   !tar -xzvf ./compiled-detect.tar.gz --directory ./dlr_model
   ```

1. **Impor DLR dan objek yang diinisialisasi`DLRModel`.**

   ```
   import dlr
   
   device = 'cpu'
   model = dlr.DLRModel('./dlr_model', device)
   ```

1. **Unduh gambar untuk inferensi dan format berdasarkan bagaimana model Anda dilatih**.

   `coco_ssd_mobilenet`Misalnya, Anda dapat mengunduh gambar dari [dataset COCO](https://cocodataset.org/#home) dan kemudian mereformasi gambar menjadi: `300x300` 

   ```
   from PIL import Image
   
   # Download an image for model to make a prediction
   input_image_filename = './input_image.jpg'
   !curl https://farm9.staticflickr.com/8325/8077197378_79efb4805e_z.jpg --output {input_image_filename}
   
   # Format image so model can make predictions
   resized_image = image.resize((300, 300))
   
   # Model is quantized, so convert the image to uint8
   x = np.array(resized_image).astype('uint8')
   ```

1. **Gunakan DLR untuk membuat kesimpulan**.

   Terakhir, Anda dapat menggunakan DLR untuk membuat prediksi pada gambar yang baru saja Anda unduh: 

   ```
   out = model.run(x)
   ```

[Untuk contoh lainnya menggunakan DLR untuk membuat kesimpulan dari model yang dikompilasi NEO pada perangkat edge, lihat repositori Github. neo-ai-dlr ](https://github.com/neo-ai/neo-ai-dlr) 