aws deeplens - panduan developer - amazon.com

184
AWS DeepLens Panduan Developer

Upload: khangminh22

Post on 26-Feb-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

AWS DeepLensPanduan Developer

AWS DeepLens Panduan Developer

AWS DeepLens: Panduan DeveloperCopyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Merek dagang dan tampilan dagang Amazon tidak boleh digunakan sehubungan dengan produk atau layanan apa punyang bukan milik Amazon, dengan cara apa pun yang dapat menyebabkan kebingungan di antara para pelanggan,atau dengan cara apa pun yang menghina atau mendiskreditkan Amazon. Semua merek dagang lain yang tidakdimiliki oleh Amazon adalah milik dari pemiliknya masing-masing, yang mungkin berafiliasi atau tidak berafiliasidengan, terkait, atau disponsori oleh Amazon.

AWS DeepLens Panduan Developer

Table of ContentsApa Itu AWS DeepLens? ..................................................................................................................... 1

Versi Perangkat .......................................................................................................................... 1ParameterAWS DeepLensPerangkat ..................................................................................... 2ParameterAWS DeepLensPerangkat Edisi 2019 (v1.1) ............................................................. 2

Perangkat keras ......................................................................................................................... 2Perangkat lunak ......................................................................................................................... 6

Bagaimana AWS DeepLens berhasil ..................................................................................................... 7Alur kerja proyek ........................................................................................................................ 7Kerangka Kerja Modeling ............................................................................................................. 7

Memulai ............................................................................................................................................ 9Daftarkan Perangkat Anda ........................................................................................................... 9

PendaftaranAWS DeepLensPerangkat Edisi 2019 (v1.1) (v1.1) ................................................ 10PendaftaranAWS DeepLensPerangkat (v1) ........................................................................... 20

Membuat dan Menyebarkan Proyek Sampel di Konsol (~ 10 menit) .................................................. 32Membuat dan Menyebarkan Proyek Anda ............................................................................. 33

Membuat dan Menyebarkan Model Kustom (~ 2hrs) ....................................................................... 34Menyiapkan Project Data Store di Amazon S3 ...................................................................... 35Melatih Model di Amazon SageMaker .................................................................................. 36Buat Fungsi Lambda dan Sebarkan Model Terlatih ................................................................ 41Lihat Hasil di AWS IoT Greengrass ..................................................................................... 44

Proyek Bangunan ............................................................................................................................. 46Kerangka kerja yang didukung .................................................................................................... 46

Model dan Lapisan MXNet ................................................................................................. 46Model dan Lapisan TensorFlow .......................................................................................... 48Model dan Lapisan Caffe ................................................................................................... 50

Melihat Output Proyek ............................................................................................................... 53Lihat Arus Video dariAWS DeepLensPerangkat Edisi 2019 (v1.1) di Browser .............................. 53Lihat Video Stream dariAWS DeepLensPerangkat di Browser. ................................................. 54Melihat Video Stream diAWS DeepLensPerangkat ................................................................. 56Membuat Fungsi Lambda untuk Melihat Stream Proyek .......................................................... 58

Bekerja dengan Proyek Sampel .................................................................................................. 61Contoh Proyek Ikhtisar ...................................................................................................... 61Membuat dan Menyebarkan Proyek Sampel di Konsol ............................................................ 64Output Proyek Relay melalui SMS ....................................................................................... 65Gunakan SageMaker untuk Menyediakan Model untuk Proyek ................................................. 71

Bekerja dengan Proyek Kustom .................................................................................................. 81Impor Model Terlatih SageMaker Anda ................................................................................ 81Impor Model Terlatih Eksternal ........................................................................................... 82Optimalkan Model Kustom .................................................................................................. 83Buat dan Publikasikan Fungsi Lambda Kesimpulan ................................................................ 83Membuat dan Menyebarkan Proyek Kustom ......................................................................... 88Gunakan Neo untuk Mengoptimalkan Inferensi ...................................................................... 88

Membangun Tutorial Proyek ....................................................................................................... 91Membangun dan Menjalankan Proyek Deteksi Pose Kepala .................................................... 91

Mengelola Perangkat Anda ............................................................................................................... 109Boot Perangkat Anda dengan Aman .......................................................................................... 109Perbarui Perangkat Anda ......................................................................................................... 109Pembatalkan pendaftaran AndaAWS DeepLensPerangkat ............................................................. 110MenghapusAWS DeepLensSumber Daya ................................................................................... 111

Menghapus Sumber Menggunakan Konsol .......................................................................... 111MemulihkanAWS DeepLenske pengaturan pabrik ......................................................................... 112

Mempersiapkan untuk melakukan reset pabrik padaAWS DeepLenspesawat ............................ 112MemulihkanAWS DeepLenspesawat .................................................................................. 118

Pencatatan dan Pemecahan Masalah ................................................................................................ 120

iii

AWS DeepLens Panduan Developer

Logs proyek ........................................................................................................................... 120CloudWatch Logs mencatat grup ....................................................................................... 120Logs sistem file ............................................................................................................... 121

Panduan pemecahan masalah .................................................................................................. 122Pemecahan Masalah Perangkat Lunak pada Perangkat ........................................................ 122Pemecahan Masalah Pendaftaran Perangkat ....................................................................... 127Pemecahan Masalah Model Deployment ke Perangkat ......................................................... 134

Pustaka Perangkat .......................................................................................................................... 138awscamModul ......................................................................................................................... 138

getLastFrame Fungsi .................................................................................................... 138Model Obyek .................................................................................................................. 139

Modul .................................................................................................................................... 144Metode mengoptimalkan .................................................................................................. 144Pemecahan Masalah Model Optimizer ............................................................................... 148

DeepLens_Kinesis_VideoModul ............................................................................................ 155Fungsi CreateProducer .................................................................................................... 156Objek produsen .............................................................................................................. 157Objek Stream ................................................................................................................. 158

Keamanan ...................................................................................................................................... 160Perlindungan Data ................................................................................................................... 160Identity and Access Management .............................................................................................. 160

Penonton ....................................................................................................................... 161Mengautentikasi Menggunakan Identitas ............................................................................. 161Mengelola Akses Menggunakan Kebijakan .......................................................................... 163Bagaimana AWS DeepLens Bekerja dengan IAM ................................................................. 165Contoh Kebijakan Berbasis Identitas .................................................................................. 167Pemecahan Masalah ....................................................................................................... 173

Manajemen Pembaruan ........................................................................................................... 174Kepatuhan Keamanan .............................................................................................................. 175

Riwayat Dokumen ........................................................................................................................... 176Daftar istilah AWS ........................................................................................................................... 179................................................................................................................................................... clxxx

iv

AWS DeepLens Panduan DeveloperVersi Perangkat

Apa Itu AWS DeepLens?

AWS DeepLensadalah kamera video yang mendukung pembelajaran yang mendalam. Hal ini terintegrasidenganbeberapa layanan machine learning AWSdan dapat melakukan inferensi lokal terhadap model yangdigunakan yang disediakan dari AWS Cloud. Ini memungkinkan Anda mempelajari dan mengeksplorasialat dan teknologi kecerdasan buatan (AI) terbaru untuk mengembangkan aplikasi visi komputerberdasarkan model pembelajaran yang mendalam.

Sebagai pemula untuk pembelajaran mesin, Anda dapat menggunakanAWS DeepLensuntukmengeksplorasi pembelajaran mendalam melalui tutorial langsung berdasarkan proyek sampelpembelajaran mendalam. Setiap proyek sampel berisi model pra-terlatih dan fungsi inferensi langsung.

Sebagai praktisi berpengalaman, Anda bisamenggunakansangAWSDeepLenspembangunanlingkunganuntuk melatih model jaringan saraf konvolusional (CNN) dan kemudianmenyebarkan proyek aplikasi visi komputer Anda yang berisi model keAWS DeepLensperangkat. Andadapat melatih model di salah satukerangka kerja deep learning yang didukung (p. 46), termasuk Caffe,MXNet, dan TensorFlow.

Membuat dan menjalankan sebuahAWS DeepLensproyek aplikasi visi komputer berbasis, Anda biasanyamenggunakan layanan AWS berikut:

• Gunakan layanan SageMaker untuk melatih dan memvalidasi model CNN atau mengimpor model pra-terlatih.

• MenggunakanAWS Lambdalayanan untuk membuat fungsi proyek untuk membuat kesimpulan dariframe video dari feed kamera terhadap model.

• MenggunakanAWS DeepLenslayanan untuk membuat proyek aplikasi visi komputer yang terdiri darimodel dan fungsi inferensi.

• MenggunakanAWS IoT Greengrasslayanan untuk menyebarkan proyek aplikasi dan runtime LambdakeAWS DeepLensperangkat, selain pembaruan perangkat lunak atau konfigurasi.

Ini berarti Anda harus memberikan izin yang sesuai untuk mengakses layanan AWS ini.

Topik• AWS DeepLensVersi Perangkat (p. 1)• AWS DeepLensHardware (p. 2)• AWS DeepLensPerangkat lunak (p. 6)

AWS DeepLensVersi PerangkatTopik berikut membahas fitur dan perbedaan antaraAWS DeepLensdanAWS DeepLens2019 Edition (v1.1)perangkat.

Topik• ParameterAWS DeepLensPerangkat (p. 2)

1

AWS DeepLens Panduan DeveloperParameterAWS DeepLensPerangkat

• ParameterAWS DeepLensPerangkat Edisi 2019 (v1.1) (p. 2)

ParameterAWS DeepLensPerangkatPertama kali diperkenalkan di AWS re: Invent 2017,AWS DeepLenspesawatdibuat tersediadi pasar ASpada 14 Juni 2018.

Untuk spesifikasi hardware rinci, sEEAWS DeepLensHardware (p. 2).

ParameterAWS DeepLensPerangkat Edisi 2019 (v1.1)ParameterAWS DeepLensPerangkat 2019 Edition (v1.1) dibuat umumnya tersedia pada tanggal 10 Juli2019 diUK,Jerman,Prancis,Spanyol,Italia,Jepang,KanadasertaKITApasar.

ParameterAWS DeepLensPerangkat 2019 Edition (v1.1) mencakup perbaikan perangkat keras berikut:

• Pengaturan perangkat awal yang disederhanakan melalui koneksi kabel USB-USB, bukan koneksinirkabel SoftAP.

Untuk spesifikasi perangkat keras terperinci, lihatAWS DeepLensHardware (p. 2).

AWS DeepLensHardwareParameterAWS DeepLensperangkat memiliki spesifikasi sebagai berikut:

• Kamera 4 megapiksel dengan MJPEG (Motion JPEG)• 8 GB memori on-board• Kapasitas penyimpanan 16 GB• Kartu SD 32 GB (Secure Digital)• Dukungan Wi-Fi untuk jaringan dual-band standar 2,4 GHz dan 5 GHz• Sebuah port tampilan HDMI mikro• Audio keluar dan port USB• Konsumsi daya: 20 W• Input daya: 5V dan 4Amps

Gambar berikut menunjukkan bagian depan dan belakangAWS DeepLensperangkat keras

2

AWS DeepLens Panduan DeveloperPerangkat keras

Gambar berikut menunjukkan bagian depan dan belakangAWS DeepLensPerangkat keras 2019 Edition(v1.1).

3

AWS DeepLens Panduan DeveloperPerangkat keras

Di bagian depan perangkat, tombol daya terletak di bagian bawah. Di atas itu tiga indikator LEDmenunjukkan status perangkat:

• Status dayamenunjukkan apakah perangkat dinyalakan atau dimatikan.• Wi-Fimenunjukkan apakah perangkat dalam mode pengaturan (berkedip), terhubung ke jaringan rumah

atau kantor Anda (stabil) atau tidak terhubung ke Internet (mati).• Status kamera: saat aktif, ini menunjukkan bahwa proyek berhasil digunakan ke perangkat dan proyek

berjalan. Jika tidak, lampu LED mati.

Di bagian belakang perangkat, Anda memiliki akses ke hal-hal berikut:

• SEBUAHMikroSlot kartu SD untuk menyimpan dan mentransfer data.• Slot HDMI mikro untuk menghubungkan monitor layar ke perangkat menggunakan kabel mikro-HDMI-ke-

HDMI.• Port USB:

• AWS DeepLens:Dua slot USB 2.0 untuk menghubungkan mouse dan keyboard USB, atau aksesoriberkemampuan USB lainnya, ke perangkat.

• AWS DeepLensEdisi 2019 (v1.1): Dua slot USB 3.0, satu untuk pendaftaran saja dan satu untukmenghubungkan mouse dan keyboard USB, atau aksesori berkemampuan USB lainnya, ke perangkat.

4

AWS DeepLens Panduan DeveloperPerangkat keras

5

AWS DeepLens Panduan DeveloperPerangkat lunak

Note

Salah satuAWS DeepLensSlot USB 2019 Edition (v1.1) hanya untuk pendaftaran• Sebuah lubang jarum reset untuk mengubah perangkat ke mode pengaturan yang memungkinkan Anda

untuk membuat perangkat sebagai titik akses dan untuk menghubungkan laptop Anda ke perangkatuntuk mengkonfigurasi perangkat.

• Stopkontak audio untuk menghubungkan ke speaker atau earphone.• Konektor catu daya untuk memasukkan perangkat ke sumber daya AC.

ParameterAWS DeepLenskamera didukung oleh prosesor Intel® Atom, yang dapat memproses 100miliar operasi floating-point per detik (GFLOPS). Hal ini memberi Anda semua daya komputasi yang Andabutuhkan untuk melakukan inferensi pada perangkat Anda. Port tampilan HDMI mikro, audio keluar, danport USB memungkinkan Anda untuk melampirkan periferal, sehingga Anda bisa menjadi kreatif denganaplikasi visi komputer Anda.

Anda dapat menggunakanAWS DeepLenssegera setelah Anda mendaftarkannya. Mulailah denganmenerapkan proyek sampel, dan gunakan sebagai template untuk mengembangkan aplikasi visi komputerAnda sendiri.

AWS DeepLensPerangkat lunakParameterAWS DeepLensperangkat menggunakan versi perangkat lunak saat ini untuk kerangka kerjaberikut:

• Kedua versi perangkat keras, 1.0 dan 1.1, dariAWS DeepLensperangkat python 2.7 dan Python 3.7.• Arsitektur AI deep learning yang didukung adalah MXNet 1.6.0 dan TensorFlow 1.4.

6

AWS DeepLens Panduan DeveloperAlur kerja proyek

Bagaimana AWS DeepLens berhasilPelajari tentang alur kerja dasar yang dikerahkanAWS DeepLensproyek danAWS DeepLensini didukungkerangka pemodelan.

AWS DeepLensAlur kerja proyekDiagram berikut menggambarkan alur kerja dasar yang digunakanAWS DeepLensproyek.

1. Saat dinyalakan,AWS DeepLensmenangkap aliran video.2. KlasterAWS DeepLensmenghasilkan dua aliran output:

• Aliran perangkat- Aliran video melewati tanpa pemrosesan.• Aliran proyek— Hasil bingkai video pemrosesan model

3. Fungsi Inference Lambda menerima frame video yang belum diproses.4. Fungsi Inference Lambda melewati frame yang belum diproses ke model deep learning proyek, di mana

mereka diproses.5. Fungsi Inference Lambda menerima frame yang diproses dari model dan melewati frame yang diproses

di dalam aliran proyek.

Untuk informasi selengkapnya, lihat MelihatAWS DeepLensAliran output (p. 53).

Kerangka Kerja PemodelanDenganAWS DeepLens, Anda melatih model proyek menggunakan kerangka pemodelan pembelajaranmendalam yang didukung. Anda dapat melatih model di AWS Cloud atau di tempat lain. Saat ini,AWS

7

AWS DeepLens Panduan DeveloperKerangka Kerja Modeling

DeepLensmendukung kerangka kerja Caffe, TensorFlow dan Apache MXNet, selain model Gluon. Untukinformasi selengkapnya, lihat Kerangka Kerja Machine Learning Didukung olehAWS DeepLens (p. 46).

8

AWS DeepLens Panduan DeveloperDaftarkan Perangkat Anda

Memulai dengan AWS DeepLensDalam prosedur berikut, kami memandu Anda melalui menghubungkan Anda dengan amanAWSDeepLensdan menerapkan model pertama Anda. Memulai dengan proyek mudah yang memungkinkanAnda untuk menggunakanAWS DeepLensperangkat untuk mengidentifikasi benda-benda biasa dalam 10menit. Ketika Anda siap, coba tutorial identifikasi kucing kami yang lebih menantang, template alur kerjauntuk membuat proyek kustom Anda sendiri.

Note

Untuk menggunakanAWS DeepLenskonsol dan layanan AWS lainnya, Anda memerlukan akunAWS. Jika Anda belum memiliki akun, kunjungi aws.amazon.com dan pilihlahBuat Akun AWS.Untuk instruksi yang lebih detail, lihat Buat dan Aktifkan akun AWS.

Setelah Anda membuat akun AWS, masuk ke konsol AWS DeepLens, dengan akun AWS ataukredensi pengguna Anda. Topik di bagian ini mengasumsikan bahwa Anda telah masuk ke konsol AWSDeepComposer.

Topik• Daftarkan AndaAWS DeepLensPerangkat (p. 9)• Membuat dan Menyebarkan Model Contoh (~ 10 menit) (p. 32)• Membuat dan Menyebarkan Model Klasifikasi Gambar Kustom MenggunakanAWS DeepLens(~ 2

jam) (p. 34)

Daftarkan AndaAWS DeepLensPerangkatUntuk menjalankan aplikasi deep learning visi komputer Anda padaAWS DeepLensperangkat, Andaharus terlebih dahulu mendaftarkan perangkat denganAWS. Setelah terdaftar, Anda dapat membuatAWSDeepLensproyek di AWS Cloud. Anda juga akan dapat menyebarkan proyek ke perangkat terdaftar danmemperbarui perangkat lunak dan pengaturan perangkat.

Proses pendaftaran berbeda untuk setiap versiAWS DeepLensperangkat keras. Pertama,check versihardware dicetak di bagian bawah AndaAWS DeepLensperangkat.

9

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

Tayam, pilih salah satu tautan berikut danikuti petunjuk khusus versi.

Pilih perangkat Anda• PendaftaranAWS DeepLensPerangkat Edisi 2019 (v1.1) (v1.1) (p. 10)• PendaftaranKlasterAWS DeepLensPerangkat (v1) (p. 20)

PendaftaranAWS DeepLensPerangkat Edisi 2019(v1.1) (v1.1)MendaftarkanAWS DeepLens2019 Edition (v1.1) perangkat melibatkan melakukan tugas-tugas berikut:

1. Connect perangkat ke komputer Anda.2. Memverifikasi nomor seri perangkat.3. Menyiapkan koneksi internet perangkat.4. Buat representasi perangkat di AWS Cloud.5. Perbarui pengaturan perangkat.

Ikuti bagian di bawah ini untuk petunjuk terperinci untuk masing-masing tugas.

Note

Petunjuk iniberlaku untuk AWS DeepLensPerangkat Edisi 2019 (v1.1)cuma. Andadapatmemverifikasiversi perangkat keras di bagian bawah AndaAWS DeepLensperangkat.Jika Anda melihatHW v1.1, perangkat Andasang AWS DeepLensEdisi 2019 (v1.1)v1.1. Andakemudian dapat melanjutkandengan prosedur di bagian ini. Jika tidak, lihat the section called“PendaftaranAWS DeepLensPerangkat (v1)” (p. 20).

Topik• ConnectAWS DeepLensPerangkat Edisi 2019 (v1.1) ke Komputer Anda (p. 10)• Memvalidasi AndaAWS DeepLensNomor Seri Perangkat Edisi 2019 (v1.1) (p. 13)• ConnectAWS DeepLensPerangkat Edisi 2019 (v1.1) ke Internet (p. 14)• NamaiAWS DeepLensPerangkat Edisi 2019 (v1.1) dan Lengkapi Pendaftaran (p. 16)• Lihat atau PerbaruiAWS DeepLensPengaturan Perangkat Edisi 2019 (v1.1) (p. 19)

ConnectAWS DeepLensPerangkat Edisi 2019 (v1.1) ke KomputerAndaUntuk menggunakan komputer untuk mendaftarkanAWS DeepLens2019 Edition (v1.1) perangkat, Andaharus terlebih dahulu menghubungkan perangkat ke komputer Anda. Untuk menghubungkan perangkatAnda ke komputer Anda, follow langkah-langkahnyadi bagian ini.

Note

Selain itu, Anda juga bisaterhubung ke perangkat langsung menggunakan monitor, mouse dankeyboard (p. 13).

Untuk menghubungkanAWS DeepLensPerangkat 2019 Edition (v1.1) ke komputer Anda

1. Masuk keAWS Management ConsoleuntukAWS DeepLenspadahttps://console.aws.amazon.com/deeplens/home?region=us-east-1#firstrun.

10

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

2. PilihDaftarkan perangkat.

Note

Jika Anda tidak melihatDaftarkan perangkattombol, pilihPerangkatdari panel navigasi utama.3. Masuk Pilih versi perangkat keras, pilihHW v1.1untukAWS DeepLens2019 Edition (v1.1) perangkat.

Mulaiuntuk memulai pendaftaran.

4. PadaConnect perangkat ke komputerhalaman, ikuti petunjuk untuk menyalakan perangkat Anda dankemudian menghubungkan perangkat ke komputer Anda dengan memasukkan salah satu ujung kabelUSB-ke-USB ke port USB ke komputer Anda dan ujung lainnya ke perangkatREGISTRASIPort USB dibagian belakang perangkat. Lalu, pilih Selanjutnya.

11

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

5. Tunggu sampai koneksi selesai saatKoneksi USB perangkatstatus menjadiTerhubungdan kemudianpilihSelanjutnya.

12

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

Sambungkan keKlasterAWS DeepLens2019 Edition (v1.1) MenggunakanPerangkatsebuahMemantau, Mouse,dan Keyboard

Sebagai alternatif untuk menggunakan komputer untuk terhubung keAWS DeepLens2019 Edition (v1.1)perangkat, Anda juga dapat terhubung ke perangkat langsung menggunakan monitor denganμKabel HDMI-ke-HDMI, keyboard USB,dan mouse USB. Anda akan dimintakan kredenal login Ubuntu. Jika ini adalahpertama kalinyakamu sudahloggedke perangkatmenggunakan metode ini, masukkanaws_camuntukNamapenggunadanaws_camuntukKata Sandi. Saat diminta,mengatur ulang kata sandinya. Untuk alasankeamanan, gunakan kata sandi yang kuat. Untuk login berikutnya, masukkan kata sandi baruKata Sandi.

Memvalidasi AndaAWS DeepLensNomor Seri Perangkat Edisi2019 (v1.1)Setelah perangkat tersambung ke komputer, perangkatAWS DeepLenskonsolemengesahkanSnomor seriperangkat (DSN) untuk memverifikasi bahwa perangkat versi 1.1.

13

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

Untuk memvalidasiAWS DeepLensPerangkat Edisi 2019 (v1.1)

1. Catat empat digit terakhir nomor seri perangkat Anda. Ini dicetak di bagian bawah perangkat.2. PadaMemvalidasi perangkathalaman, masukkan empat digit terakhir dari nomor seri perangkat Anda.3. Pilih Selanjutnya.

ConnectAWS DeepLensPerangkat Edisi 2019 (v1.1) ke InternetSetelah perangkat telah divalidasi, Anda harus mendapatkanAWS DeepLensPerangkat 2019 Edition (v1.1)yang terhubung ke internet. Anda cangunakan jaringan nirkabel (Wi-Fi) atau jaringan kabel (Ethernet).Yang terakhir mengharuskan Anda memiliki adaptor Ethernet-to-USB. Koneksi internet memastikan bahwaperangkat menerima pembaruan perangkat lunak yang diperlukan selama pendaftaran.

Di sini, kami menunjukkan pengaturan koneksi internet melalui Wi-Fi.

Untuk mengatur koneksi internet keAWS DeepLensPerangkat Edisi 2019 (v1.1) melalui Wi-Fi

1. PadaMenyiapkan koneksi internet perangkathalaman, pilihJaringan Wi-Fidi bawahTipe jaringan.2. Pilih jaringan Anda dariNama jaringan Wi-Fi (SSID), ketik kata sandi jaringan Anda di bawahKata sandi

Wi-Fi, dan kemudian pilihHubungkan.

14

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

3. Tunggu hingga perangkat tersambung ke internet, kapanStatusdi bawahDetail jaringan Wi-FimenjadiDaring. PilihMenginstal pembaruan perangkat lunakdi bawahPembaruan perangkat lunakyang dibutuhkan.

15

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

4. Tunggu pembaruan perangkat lunak selesai, dan kemudian chooseSelanjutnya.

NamaiAWS DeepLensPerangkat Edisi 2019 (v1.1) dan LengkapiPendaftaranSetelah AndaAWS DeepLensPerangkat 2019 Edition (v1.1) terhubung ke internet dan perangkat lunaknyadiperbarui, beri nama perangkat untuk referensi di masa mendatang dan setujui izin akses AWS yangdiberikan atas nama Anda untuk menyelesaikan pendaftaran.

Untuk menamaiAWS DeepLensPerangkat Edisi 2019 (v1.1)dan menyelesaikan pendaftaran

1. Di bawahBeri nama perangkat Anda, beri nama perangkat.2. Di bawahIzin, centang kotak untuk mengonfirmasiSaya setuju bahwa peran IAM yang diperlukan yang

berisi izin yang diperlukan dibuat atas nama saya.3. PilihDaftarkan perangkatuntuk menyelesaikan pendaftaran.

16

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

Pendaftaran perangkat sekarang sedang berlangsung. Proses asinkron melibatkan tugas-tugas berikut:

• Perangkat berkomunikasi denganAWS DeepLenslayanan di awan melalui jaringan Wi-Fi yangditentukan.

• ParameterAWS DeepLenslayanan memiliki peran IAM yang diperlukan dengan izin AWS yangdiperlukan yang dibuat untuk Anda.

• AWS Cloud membuat representasi perangkat denganAWS IoTdan layanan AWS lainnya.• Perangkat mengunduh sertifikat AWS dari akun Anda dari AWS Cloud.

Verifikasi AndaAWS DeepLensRegistrasi Perangkat Edisi 2019 (v1.1)

Setelah pendaftaran selesai, verifikasi pendaftaran perangkat berhasil dengan memeriksa statuspendaftaran perangkat.

Untuk memverifikasiAWS DeepLens2019 Edition (v1.1) pendaftaran perangkat

1. Tunggu registrasi perangkat selesai. PastikanStatus pendaftarandi bawahStatusPerangkatpertunjukanTerdaftar.

17

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

2. Opsional, perhatikan Id topik MQTT (misalnya,$AWS/hal/deeplens_ctsbnnqxt0mmx45HGLJ4DA/infer)ditampilkan di bawahOutput Proyek. Anda akan memerlukan Id ini untuk melihat output proyek yangdikerahkan diAWS IoTkonsol.

18

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat

Edisi 2019 (v1.1) (v1.1)

Lihat atau PerbaruiAWS DeepLensPengaturan Perangkat Edisi2019 (v1.1)Anda dapat melihat atau memperbarui pengaturan perangkat setelah perangkat berhasil didaftarkan.

Untuk melihat atau memperbaruiAWS DeepLensPengaturan perangkat 2019 Edition (v1.1)

1. Pada halaman rincian perangkat yang berhasil terdaftar diAWS DeepLenskonsol, pilihMengeditpengaturan perangkat.

2. Pastikan perangkat Anda tersambung ke komputer melalui kabel USB-ke-USB. .3. MasukConnect perangkat ke komputer, pilihSelanjutnya.4. SetelahKoneksi USB perangkatstatus menjadiTerhubung, pilihSelanjutnyalagimembukaPengaturan

perangkathalaman.

5. Untuk menggunakan jaringan lain untuk koneksi internet perangkat, pilihMengeditdiDetail jaringan.Pilihjenis jaringan, pilih jaringan Wi-Fi, ketik kata sandi, danlalupilihHubungkan.

6. Untuk mengaktifkan koneksi SSH ke perangkat dan mengatur kata sandi SSH, pilihMengeditdiServerSSH. Pilih Aktifkan, buat kata sandi, konfirmasikan kata sandinya, danlalupilihMenyimpan perubahan.

7. Untuk mengaktifkan tampilan output video dari perangkat Anda di browser, instal sertifikat streamingvideo yang diperlukan untuk satu atau lebih browser yang didukung.

a. MasukPilih peramban Anda, pilih browser yang didukung. Untukcontoh,Firefox (Windows, macOSSierra atau yang lebih tinggi, dan Linux).

b. PilihUnduh sertifikat streaminguntuk menyimpan sertifikat ke komputer Anda.c. Ikuti sisanyalangkahuntuk mengimpor sertifikat streaming yang diunduh ke browser.

Note

Pastikan AndamenggunakanDeepLensuntuk kata sandi sertifikat, saat diminta.

Untuk memverifikasi sertifikat diinstal dengan benar, ikuti petunjukmenyediakandiLihat Arus VideodariAWS DeepLensPerangkat Edisi 2019 (v1.1) di Browser (p. 53).

19

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

SaatAnda telah selesaimelihat atau memperbarui pengaturan perangkat, Anda dapat melepas sambunganperangkat dari komputer Andadan menggunakanAWS DeepLens.

PendaftaranKlasterAWS DeepLensPerangkat (v1)Instruksi yang disajikan sesudahnya berlaku untuk yang asli (juga dikenal sebagai v1)AWSDeepLensperangkat. Anda dapat mengetahui versi perangkat keras di bagian bawahAWSDeepLensperangkat. Jika Anda tidak melihatHW v1.1dicetak di sana, perangkat Anda adalah asliAWSDeepLensedisi. Anda kemudian dapat melanjutkandengan prosedur di bagian ini. Jika tidak, lihat thesection called “PendaftaranAWS DeepLensPerangkat Edisi 2019 (v1.1) (v1.1)” (p. 10).

Proses pendaftaran melibatkan tugas-tugas berikut. Beberapa tugas dilakukan di AWS Cloud dan yanglainnya ada diAWS DeepLensperangkat.

• Beri nama perangkat Anda sehingga Anda dapat mengidentifikasinya dalamAWS DeepLenslayanan.• Berikan izin IAM untuk membangun dan menyebarkanAWS DeepLensproyek untuk aplikasi visi

komputer pembelajaran mendalam.• Unduh sertifikat keamanan untuk perangkat. Sertifikat ini dihasilkan olehAWS IoTatas permintaan

olehAWS DeepLenslayanan. Anda harus mengunggahnya ke perangkat saat menyiapkan perangkatnanti.

• BuatAWS IoThal representasi untukAWS DeepLensperangkat, yang dilakukan olehAWS IoTGreengrassatas permintaan olehAWS DeepLenslayanan.

• Hidupkan mode pengaturan perangkat dan bergabunglah dengan komputer Anda di Wi-Fi lokalperangkat (juga disebut sebagaiAMDC-NNNN) jaringan. Hal ini memungkinkan Anda memanggil aplikasipengaturan perangkat sebagai aplikasi web yang dihosting oleh server web lokal perangkat.

• Mulai aplikasi pengaturan perangkat pada perangkat untuklakukan hal berikut:• Konfigurasikan akses perangkat ke internet.• Unggah sertifikat keamanan yang dihasilkan AWS ke perangkat agar AWS Cloud untuk

mengautentikasi perangkat.• Buat kata sandi login perangkat untuk masuk ke perangkat menggunakan monitor, mouse, dan

keyboard, atau menggunakan klien SSH dari komputer dalam jaringan rumah atau kantor yang sama.

KlasterAWS DeepLensperangkat memiliki kata sandi defaultaws_cam. Anda dapat menggunakan katasandi perangkat default ini untuk masuk ke perangkat yang terhubung ke monitor menggunakanμKabelUSB-ke-USB, mouse USB dan mungkin keyboard USB bahkan sebelum registrasi. Untuk alasankeamanan, Anda harus mengatur ulang kata sandi ini dengan frase kata sandi yang lebih rumit atau kuat.

Topik• Konfigurasikan Akun AWS Anda untukAWS DeepLensPerangkat (p. 20)• Connect keAWS DeepLensJaringan Wi-Fi perangkat (p. 23)• SiapkanAWS DeepLensPerangkat (p. 27)• VerifikasiAWS DeepLensStatus Pendaftaran Perangkat (p. 32)

Konfigurasikan Akun AWS Anda untukAWS DeepLensPerangkatMengonfigurasi akun AWS AndaAWS DeepLensperangkat melibatkan penamaan perangkat, memberikanizin akses AWS, dan men-download sertifikat untuk perangkat yang akan diautentikasi oleh AWS.

Untuk mengonfigurasi akun AWS AndaAWS DeepLenspesawat

1. Masuk keAWS Management ConsoleuntukAWS DeepLenspadahttps://console.aws.amazon.com/deeplens/home?region=us-east-1#firstrun.

20

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

2. PilihDaftarkan perangkat. Jika Anda tidak melihatDaftarkan perangkattombol, pilihPerangkatpadapanel navigasi utama.

3. PadaPilih versi perangkat kerasjendela dialog, pilihHW v1tombol radio untukAWS DeepLensperangkat.Kemudian pilihMulai.

4. DiNama perangkat Andabagian padaKonfigurasi akun AWS Andahalaman, ketik nama (misalnya,My-DeepLens-1) untukAWS DeepLensperangkat diNama perangkatbidang teks.

Nama perangkat dapat memiliki hingga 100 karakter. Karakter yang benar adalah a-z, A-Z, 0-9, dan -(tanda hubung) saja.

5. DiSertifikatbagian, pilihUnduh sertifikatuntuk menyimpan sertifikat perangkat.

21

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

Important

Sertifikat perangkat yang didownload adalah file.zip. Jangan unzip itu.Sertifikat tidak dapat digunakan kembali. Anda harus membuat sertifikat baru setiap kalimendaftarkan perangkat Anda.

6. Setelah sertifikat diunduh, pilihSelanjutnyauntuk melanjutkan bergabung dengan komputer Anda keperangkat Anda (AMDC-NNNN) Jaringan Wi-Fi untuk memulai aplikasi pengaturan perangkat yang di-host pada perangkat.

Note

Pada perangkat versi sebelumnya tertentu, aplikasi pengaturan perangkat lamamengasumsikan bahwa nama jaringan Wi-Fi rumah atau kantor Anda (SSID) dan kata sanditidak mengandung karakter khusus, termasuk spasi, garis miring mundur (\), kutipan tunggal('), kutipan ganda (") atau usus besar (;). Jika Anda memiliki perangkat tersebut dan namajaringan Wi-Fi rumah atau kantor Anda atau kata sandi berisi karakter khusus tersebut,aplikasi pengaturan perangkat lama akan diblokir saat Anda mencoba mengonfigurasi koneksijaringannya.Jika Anda memiliki perangkat warisan seperti itu, setelah memilihSelanjutnya, Anda akandiminta dengan dialog modal untuk meninjau persyaratan untuk jaringan Wi-Fi rumah ataukantor Anda, seperti yang ditunjukkan sebagai berikut:

• Jika nama atau kata sandi jaringan rumah atau kantor Anda berisi karakter khusus,pilihYa, jaringan saya memiliki karakter khususdan ikutilahpanduan pemecahan masalahini (p. 130)untuk membuat sesi SSH untuk mengkonfigurasi koneksi jaringan Wi-Fi antaraperangkat Anda dan internet dan, kemudian, untuk beralih ke konfigurasi pengaturanperangkat lainnya. Setelah itu, Anda harus memperbarui perangkat lunak perangkat keversi terbarunya.

• Jika nama atau kata sandi jaringan rumah atau kantor Anda tidak mengandungkarakter khusus, pilihTidak, jaringan saya tidak memiliki karakter khususuntukdiarahkansangConnect ke perangkathalaman (p. 23).

Jika Anda memiliki perangkat yang lebih baru atau perangkat lunak perangkat Andadiperbarui, Anda akan diarahkan kesangConnect ke perangkathalaman (p. 23)tanpa dialogmodal setelah memilihSelanjutnya.

22

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

Connect keAWS DeepLensJaringan Wi-Fi perangkatMenyiapkanAWS DeepLensperangkat, Anda harus terlebih dahulu menghubungkan komputer Anda kejaringan Wi-Fi lokal perangkat, juga dikenal sebagai perangkatAMDC-NNNNjaringan. Bila indikator Wi-Fi(lampu LED tengah) berkedip di bagian depan perangkat, jaringan ini aktif dan perangkat dalam modepengaturan. Anda kemudian siap untuk menghubungkan komputer ke perangkat.

Note

Selain itu, Anda juga bisaterhubung ke perangkat secara langsung menggunakan monitoreksternal, mouse dan keyboard (p. 27).

Saat Anda mengatur perangkat untuk pertama kalinya, perangkat akan di-boot secara otomatis ke modepengaturan dan siap untuk komputer Anda bergabungAMDC-NNNNjaringan. Untuk memperbarui pengaturanperangkat setelah pengaturan awal, Anda harus secara eksplisit mengaktifkan mode pengaturan perangkat(petunjuk yang diberikan di bawah) dan kemudian meminta komputer Anda bergabung kembali jaringanWi-Fi perangkat. Jika perangkat keluar dari mode pengaturan sebelum Anda dapat menyelesaikanpengaturan, Anda harus menghubungkan kembali komputer Anda ke perangkat dengan cara yang sama.

Sementara AndaAWS DeepLensperangkat dalam modus setup dan komputer Anda adalah anggota darijaringan Wi-Fi, Anda dapat membuka aplikasi pengaturan perangkat, halaman HTML host pada server weblokal perangkat, untuk mengkonfigurasi pengaturan perangkat. Perangkat tetap dalam mode pengaturanhingga 2 jam, memberi Anda cukup waktu untuk menyelesaikan konfigurasi perangkat. Ketika pengaturanselesai atau telah melebihi 2 jam, perangkat akan keluar dari mode pengaturan dan indikator Wi-Fi berhentiberkedip. ParameterAMDC-NNNNjaringan kemudian dinonaktifkan dan komputer Anda terputus dari jaringanitu dan terhubung kembali ke jaringan rumah atau kantor.

Untuk terhubung keAWS DeepLensJaringan Wi-Fi perangkat

1. Lihat bagian bawah perangkat Anda dan catat perangkatAMDC-NNNNjaringan SSID dan password.

2. TancapkanAWS DeepLensperangkat ke stopkontak AC. Tekan tombol daya di bagian depanperangkat untuk menghidupkan perangkat.

23

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

3. Tunggu sampai perangkat masuk ke mode pengaturan saat indikator Wi-Fi (LED tengah) di bagiandepan perangkat mulai berkedip.

Note

Jika indikator Wi-Fi tidak berkedip, perangkat tidak lagi dalam mode pengaturan. Untukmengaktifkan mode pengaturan perangkat lagi, tekan klip kertas ke lubang jarum reset dibagian belakang perangkat. Setelah Anda mendengar klik, tunggu sekitar 20 detik agarindikator Wi-Fi berkedip.

4. Buka alat manajemen jaringan di komputer Anda. Pilih SSID perangkat Anda dari daftar jaringan Wi-Fi yang tersedia dan ketik kata sandi untuk jaringan perangkat. SSID dan kata sandi dicetak di bagianbawah perangkat Anda. SSID jaringan Wi-Fi perangkat memilikiAMDC-NNNNformat.

Pada komputer yang menjalankan Windows, pilihMenghubungkan menggunakan kunci keamanansebagai gantinyaalih-alihMasukkan PIN dari label router (biasanya 8 digit)dan kemudian masukkankata sandi Wi-Fi perangkat Anda.

24

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

Setelah berhasil menghubungkan komputer Anda ke jaringan Wi-Fi perangkat, Anda sekarang siap untukmeluncurkan aplikasi pengaturan perangkatkonfigurasikan perangkat Anda (p. 27).

Untuk meluncurkan aplikasi penyiapan perangkat, lakukan salah satu hal berikut:

• Untuk pendaftaran awal menggunakanAWS DeepLenskonsol, kembali keConnect ke perangkathalamandan pilihSelanjutnya.

25

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

26

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

• Untuk memperbarui pengaturan perangkat setelah pendaftaran awal, buka tab browser web danmasukkanhttp://deeplens.amazon.netatauhttp://deeplens.configdi bilah alamat.

Note

Jika URL di atas tidak bekerja, AndaAWS DeepLensmungkin memilikiawscamversi perangkatlunak 1.3.5 atau sebelumnya diinstal. Dalam hal ini, perbarui perangkat lunak perangkat dancoba lagi.Atau, bukanhttp://deeplens.amazon.netatauhttp://deeplens.config, Anda dapatmembuka halaman pengaturan perangkat dengan menggunakan salah satu URL berikut,tergantung pada versi perangkat lunak pada AndaAWS DeepLensperangkat.• http://192.168.0.1, jikaAWS DeepLenspaket perangkat lunak (awscam) versi kurang

dari 1.2.4• http://10.105.168.217, jikaAWS DeepLenspaket perangkat lunak (awscam) versi lebih

besar dari atau sama dengan 1.2.4Untuk informasi selengkapnya, lihatURL Penyiapan Perangkat (p. 133).

Sambungkan keAWS DeepLensPerangkat Menggunakan Monitor, Mouse danKeyboard

Selain menggunakan komputer untuk terhubung keAWS DeepLensperangkat, Anda juga dapat terhubungke perangkat langsung menggunakan monitor denganμKabel HDMI-ke-HDMI, keyboard USB dan/ataumouse USB. Anda akan dimintakan kredensi login Ubuntu. ENTERaws_camdinama pengguna. Saatmasuk ke perangkat untuk pertama kalinya, gunakan kata sandi defaultaws_camdikata sandi. KemudianAnda akan diminta untuk mereset kata sandi. Untuk alasan keamanan, gunakan kata sandi yang kuat darifrase yang rumit. Untuk login berikutnya, gunakan kata sandi reset.

SiapkanAWS DeepLensPerangkatSaat menyiapkanAWS DeepLensperangkat, Anda melakukan tugas-tugas berikut saat komputer Andaterhubung ke perangkatAMDC-NNNNjaringan:

• Aktifkan koneksi internet perangkat melalui jaringan nirkabel (Wi-Fi) atau kabel (Ethernet) di rumah ataukantor Anda.

• Lampirkan ke perangkat Anda sertifikat keamanan yang disediakan AWS seperti yang dibahas dithesection called “Daftarkan Perangkat Anda” (p. 9).

• Siapkan akses masuk ke perangkat, termasuk dengan koneksi SSH atau koneksi kabel.• Opsional, unduh sertifikat streaming dari perangkat untuk mengaktifkan tampilan output video proyek di

browser yang didukung.

Jika komputer Anda tidak lagi menjadi anggotaAMDC-NNNN jaringan karenaAWS DeepLensperangkattelah keluar mode penyiapan, ikuti petunjuk dithe section called “Connect ke Perangkat” (p. 23)untukmembuat koneksi dan membuka halaman pengaturan perangkat, sekali lagi, sebelum melanjutkan lebihlanjut.

MenyiapkanAWS DeepLenspesawat

1. JikaAWS DeepLensperangkat memiliki versi yang lebih baru dari perangkat lunak yang diinstal, Andatidak akan diminta dengan tugas-tugas berikut. Lewati ke Langkah 2 di bawah ini. Jika tidak, lanjutkankePenyiapan perangkathalaman, yang Anda buka setelahmenghubungkan ke perangkat (p. 23),untuk mengatur jaringan rumah atau kantor Anda untuk menghubungkan perangkat Anda ke internet:

a. Di bawahLangkah 1: Connect ke jaringan, pilih rumah atau kantor jaringan Wi-Fi SSID Anda dariIDjaringan Wi-Fidaftar tarik-turun. Ketik kata sandi jaringan Wi-Fi

27

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

Atau, Anda dapat memilihMenggunakan Ethernetuntuk menghubungkanAWS DeepLensperangkatke internet.

b. PilihSelanjutnyauntuk menghubungkan perangkat ke internet.c. Di halaman berikutnya, PilihInstal dan rebootuntuk menginstal perangkat lunak terbaru pada

perangkat dan untuk me-restart perangkat.

28

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

Setelah pembaruan perangkat lunak diinstal dan perangkat dimulai ulang, sambungkan kembalikomputer ke perangkatAMDC-NNNNjaringan, arahkan ke http://deeplens.config di browser webuntuk membuka aplikasi setup perangkat diperbarui, dan untuk menyelesaikan sisa pengaturanperangkat seperti yang ditunjukkan pada Langkah 2.

2. Saat perangkat Anda telah menginstal perangkat lunak yang diperbarui, memulai aplikasi pengaturanperangkat (mis.http://deeplens.config) membuka halaman browser yang mirip dengan berikutini:

29

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

30

AWS DeepLens Panduan DeveloperPendaftaranAWS DeepLensPerangkat (v1)

ParameterConnect perangkat ke jaringan rumah atau kantorbagian menunjukkan status koneksiinternet perangkat sebagaiOnline. Anda dapat memilihedituntuk memperbarui koneksi internet denganmemilih jaringan Wi-Fi yang berbeda atau jaringan kabel dengan adaptor mikro-USB-to-Ethernet. Atau,lanjutkan ke langkah berikutnya untuk menyelesaikan konfigurasi perangkat lainnya.

3. Di bawahUnggah sertifikat keamanan untuk mengasosiasikanAWS DeepLenske akun AWS AndapadaupdateKonfigurasikan AWS DeepLens Andahalaman, lakukan hal berikut:

a. PilihJelajahiuntuk membuka file picker.b. Cari dan pilih sertifikat keamanan yang Anda unduh saatmempersiapkan akun AWS AndaAWS

DeepLens (p. 9),c. PilihUnggah file zipuntuk melampirkan sertifikat ke perangkat.

Note

Sertifikat keamanan yang diunduh untuk perangkat adalah file.zip. Upload file sertifikatunzip apa adanya.

Untuk pembaruan pengaturan perangkat setelah pendaftaran awal, perangkat Anda memiliki sertifikatsebelumnya yang diinstal. Dalam hal ini, piliheditdan ikuti petunjuk di atas dalam langkah ini untukmengunggah sertifikat baru.

4. Di bawahMengatur kata sandi untuk mengontrol cara Anda mengakses dan memperbarui perangkat,selesaikan langkah-langkah berikut untuk mengkonfigurasi akses perangkat.

a. Untuk pendaftaran awal, ketik kata sandiBuat kata sandi. Kata sandi harus berisi minimal delapankarakter dan berisi minimal satu angka, huruf besar, dan karakter khusus (mis., '*','&','#','$','%','@',atau'!'). Anda memerlukan kata sandi ini untuk masuk ke perangkat Anda menggunakan koneksiSSH (jika diaktifkan di bawah) atau menggunakan monitor hardwired, mouse USB dan/ataukeyboard USB.

b. UntukServer SSH, pilihAktifkanatauNonaktifkan. Jika diaktifkan, SSH memungkinkan Andauntuk masuk ke perangkat Anda menggunakan terminal SSH di komputer Mac atau Linux ataumenggunakan PuTTY atau klien SSH lain di komputer Windows Anda.

Untuk pembaruan konfigurasi berikutnya setelah pendaftaran awal, Anda dapat memiliheditdan ikutipetunjuk berikutnya untuk memperbarui password.

5. Opsional, di sudut kanan atas halaman penyiapan perangkat, pilihAktifkan streaming videountukmengaktifkan tampilan output video proyek menggunakan browser yang didukung. Untuk pendaftaranawal, kami sarankan Anda melewatkan opsi ini dan mengaktifkannya nanti saat memperbaruikonfigurasi perangkat setelah Anda menjadi lebih akrab denganAWS DeepLens.

6. Tinjau pengaturan. Kemudian, pilihSelesaiuntuk menyelesaikan pengaturan perangkat danmenghentikan koneksi Anda ke jaringan Wi-Fi perangkat. Pastikan untuk menghubungkan komputerAnda kembali ke jaringan rumah atau kantor Anda.

Note

Untuk memastikan pengaturan selesai dengan sukses, pastikan bahwaAWSDeepLensperangkat memiliki akses ke port 8883 dan 8443 dan tidak diblokir oleh kebijakanfirewall jaringan Anda.JikaAWS DeepLenskoneksi perangkat ke internet berulang menyala dan mati setelah AndamemilihSelesai, restart jaringan Wi-Fi rumah atau kantor Anda.

Ini melengkapi pendaftaran perangkat. Verifikasi status pendaftaran perangkat (p. 32)sebelum pindahuntuk membuat dan menyebarkan proyek keAWS DeepLensperangkat.

31

AWS DeepLens Panduan DeveloperMembuat dan Menyebarkan Proyek

Sampel di Konsol (~ 10 menit)

VerifikasiAWS DeepLensStatus Pendaftaran PerangkatSetelah pengaturan perangkat selesai, pilihBukaAWS DeepLenskonsoluntuk memverifikasi statuspendaftaran.

Pendaftaran perangkat membutuhkan waktu beberapa menit. Ketika pendaftaran selesai berhasil,StatuspendaftaranperubahanTerdaftar. Jika prosesnya gagal,Status pendaftaranmenjadiGagal. Dalam halini, pilihDeregisterdan kemudian mulai pendaftaran lagi. Ketika pendaftaran terganggu atau tidaklengkap,Status pendaftaransisaMenunggu kredenensi. Dalam kasus ini,menyambung kembali keperangkatAMDC-NNNNJaringan Wi-Fi (p. 23)untuk melanjutkan pendaftaran.

Saat perangkatStatus pendaftarandanStatus perangkatmenjadiTerdaftardanDaring, masing-masing, Andasiap untuk membuat dan menyebarkan proyek keAWS DeepLensperangkat.

Membuat dan Menyebarkan Model Contoh (~ 10menit)

Dalam panduan ini, Anda akan menggunakanAWS DeepLenskonsol untuk membuatAWS DeepLensproyekdariTemplat proyek sampel Deteksi Objek (p. 61)untuk membuatAWS DeepLensproyek. Modeldeteksi objek yang telah terlatih sebelumnya dapat menganalisis gambar dari aliran video yang ditangkappadaAWS DeepLensperangkat dan mengidentifikasi objek sebagai salah satu dari sebanyak 20 jenisgambar berlabel. Instruksi yang disajikan di sini berlaku untuk membuat dan menyebarkan lainnyaAWSDeepLensproyek sampel.

Diagram berikut menyajikan gambaran umum tingkat tinggi dari proses untuk menggunakanAWSDeepLenskonsol untuk membuat dan menyebarkan proyek sampel.

32

AWS DeepLens Panduan DeveloperMembuat dan Menyebarkan Proyek Anda

Saat membuat proyek sampel, bidang di konsol sudah diisi sebelumnya untuk Anda sehingga Anda dapatmenerima default. DiKonten Proyekbagian dari layar, Anda perlu mengetahui model proyek dan fungsiinferensi. Anda dapat menemukan informasi untuk proyek-proyek individu diAWS DeepLensContoh ProyekIkhtisar (p. 61).

Membuat dan Menyebarkan Proyek AndaIkuti langkah-langkah dalam prosedur ini untuk membuat dan menyebarkan proyek sampel Object.

Untuk membuat dan men-deployAWS DeepLensproyek sampel menggunakanAWSDeepLenskonsol

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. PilihProyek, lalu pilihlahBuat proyek baru.3. PadaPilih tipe proyek halaman, lakukan hal berikut:

a. PilihGunakan templat proyek, lalu pilih proyek contoh yang ingin Anda buat. Untuk latihan ini,pilihDeteksi objek.

b. Gulir ke bagian bawah layar, lalu pilihSelanjutnya.4. PadaTentukan rincian proyek halaman, lakukan hal berikut:

a. DiInformasi Proyekrubrik, lakukan hal berikut:

i. Entah menerima nama default untuk proyek, ataumemasukkannama yang Anda inginkan.ii. Entah menerima deskripsi default untuk proyek, ataumemasukkandeskripsi yang Anda

inginkan.b. Pilih Create (Buat).

Ini akan membawa Anda kembali keProyek halamandi mana proyek yang baru saja Anda buatterdaftar dengan proyek Anda yang lain.

5. PadaProyek halaman, pilih tombol radio di sebelah kiri nama proyek Anda atau pilih proyek untukmembuka halaman detail proyek, lalu pilihMenyebarkan ke perangkat.

33

AWS DeepLens Panduan DeveloperMembuat dan Menyebarkan Model Kustom (~ 2hrs)

6. PadaPerangkat target halaman, dari daftarAWS DeepLensperangkat, pilihperangkat yang ingin Andagunakan untuk proyek ini. SesiAWS DeepLensperangkat hanya dapat digunakan untuk satu proyekdalam satu waktu.

7. Pilih Tinjau.

Jika proyek sudah dikerahkan ke perangkat, Anda akan melihat pesan kesalahan yang menyebarkanproyek ini akan menimpa proyek yang sudah berjalan pada perangkat. PilihLanjutkan proyek.

8. PadaMemeriksa dan menyebarkanlayar, tinjau proyek Anda dan pilih salah satuSebelumnyauntukkembali dan membuat perubahan, atauDeployuntuk menyebarkan proyek.

Important

Menyebarkan proyek menimbulkan biaya untukAWSlayanan yang digunakan untukmenjalankan proyek.

Untuk petunjuk tentang melihat output proyek Anda, lihatMelihatAWS DeepLensAliran output (p. 53).

Membuat dan Menyebarkan Model KlasifikasiGambar Kustom MenggunakanAWS DeepLens(~ 2jam)

AWS DeepLensadalah kamera video berkemampuan deep learning yang terintegrasi dengan layananmachine learning AWS. ParameterAWS DeepLensperangkat memungkinkan pengguna untuk membuatproyek pembelajaran mesin berbasis visi komputer end-to-end. Jika Anda baru mengenal proyek visikomputer atau layanan machine learning AWS, Anda dapat memulaimembuat dan menyebarkan proyeksampel diAWS DeepLenskonsol (p. 32).

Note

Untuk menggunakanAWS DeepLenskonsol dan layanan AWS lainnya, Anda memerlukan akunAWS. Jika Anda tidak memiliki akun, kunjungi aws.amazon.com dan pilihlah Buat Akun AWS.Untuk instruksi detail, lihatMembuat dan Aktifkan Akun AWS.Sebagai praktik terbaik, Anda juga harus membuatAWS Identity and Access Management(IAM)pengguna dengan izin administrator dan menggunakannya untuk semua pekerjaan yangtidak memerlukan kredensi akar. Buat kata sandi untuk akses konsol, dan kunci akses untukmenggunakan alat baris perintah. Untuk informasi selengkapnya, lihat Membuat Pengguna danGrup Admin IAM Pertama Anda di Panduan Pengguna IAM.

Alur kerja proyek

Untuk memulai dengan membuat model klasifikasi gambar kustom menggunakanAWS DeepLensAndaperlu menggunakan beberapa layanan AWS yang berbeda. Tutorial ini memandu Anda melalui pengaturankomponen yang berbeda yang diperlukan dari awal sampai akhir.

34

AWS DeepLens Panduan DeveloperMenyiapkan Project Data Store di Amazon S3

Topik• Menyiapkan Project Data Store di Amazon Simple Storage Service (S3). (p. 35)• Melatih Model di Amazon SageMaker (p. 36)• Buat Fungsi Lambda dan Terapkan Model Terlatih Khusus ke AWS DeepLens (p. 41)• Menggunakan AWS IoT Greengrass Console untuk Melihat Output Model Terlatih Khusus Anda

(Output Teks) (p. 44)

Menyiapkan Project Data Store di Amazon SimpleStorage Service (S3).Saat membuat dan menerapkan model klasifikasi gambar kustom menggunakanAWS DeepLens, kamisarankan menyimpan data pelatihan Anda dan model yang dikompilasi di bucket Amazon S3. Untukmendaftar Amazon S3, lihat Amazon S3Panduan Memulai.

Untuk membuat bucket Amazon S3

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 dihttps://console.aws.amazon.com/s3/.

2. Pilih Membuat Bucket.

3. DiNama bucketbidang, masukkan nama yang sesuai dengan DNS unik untuk bucket baru Anda. Iniharus dimulai dengandeeplens-(misalnya,deeplens-my-project). Setelah membuat bucketAmazon S3 Anda tidak dapat mengubah nama.

35

AWS DeepLens Panduan DeveloperMelatih Model di Amazon SageMaker

4. Pilih Create (Buat).

Note

Anda tidak dikenakan biaya untuk bucket Amazon S3 sampai Anda menggunakannya. Untukmempelajari lebih lanjut tentang fitur Amazon S3, harga, dan pertanyaan umum, lihatHalamanproduk Amazon S3.

Langkah Selanjutnya

• Pada titik di tutorial ini, Anda seharusnya berhasil menyelesaikan hal berikut ini:• Mendaftarkan perangkat AWS DeepLens Anda• MembuatAmazon S3ember

• Selanjutnya, Anda perlu meminta peningkatan batas layanan dan kemudian meluncurkan instancenotebook SageMaker Jupyter untuk melatih model Anda. Notebook Jupyter dan fungsi Lambda yangdibutuhkan tersedia diAWS DeepLensReseprepositori.

Melatih Model di Amazon SageMakerUntuk mulai membuat model klasifikasi gambar kustom Anda menggunakan terdaftarAWSDeepLensperangkat yang Anda butuhkan untuk meluncurkan instans Amazon SageMaker dan memintapeningkatan batas layanan.

36

AWS DeepLens Panduan DeveloperMelatih Model di Amazon SageMaker

Memulai dengan Instans Amazon SageMakerSageMaker adalah layanan machine learning yang dikelola sepenuhnya yang memungkinkan ilmuwan dandeveloper data untuk membangun dan melatih model machine learning menggunakan instance notebookJupyter.

Untuk membuat model klasifikasi gambar kustom, kita perlu menggunakan unit pemrosesan grafis (GPU)diaktifkan contoh pekerjaan pelatihan. GPU sangat baik dalam paralelisasi perhitungan yang diperlukanuntuk melatih jaringan saraf untuk proyek ini.

Untuk mengakses instans pekerjaan pelatihan berkemampuan GPU, Anda harus mengirimkan permintaanuntuk peningkatan batas layanan kePusat Dukungan AWS.

Note

Notebook Jupyter adalah aplikasi web sumber terbuka yang dapat Anda gunakan untuk membuatdan berbagi dokumen yang berisi kode langsung, visualisasi, dan teks narasi. Notebook AWSDeepLens Jupyter dalam repo ini berisi kode yang menunjukkan cara membuat solusi machinelearning dengan Amazon SageMaker dan AWS DeepLens.

Meminta Instans Pelatihan Amazon SageMaker yang mendukungGPU1. BukaKonsol Pusat Support AWS.2. PadaPusat Dukungan AWShalaman, pilihMembuat Kasuslalu pilihKenaikan service limits.3. DiKlasifikasi kasuspanel di bawahTipe batas, cari Amazon SageMaker.4. DiPermintaanpanel, pilihWilayahbahwa Anda bekerja di. UntukJenis Sumber Daya, pilihSageMaker

Training.5. UntukBatasanpilihInstans ml.p2.xlarge.6. UntukNilai Batas Baru, memverifikasi bahwa nilainya1.7. MasukDeskripsi kasus, memberikan penjelasan singkat tentang mengapa Anda

membutuhkanKenaikan service limits. Sebagai contoh, saya perlu menggunakan instance pekerjaanpelatihan berkemampuan GPU ini untuk melatih model deep learning menggunakan TensorFlow. Sayaakan menggunakan model ini pada perangkat AWS DeepLens.

8. MasukOpsi kontak, berikan beberapa detail tentang cara Anda ingin dihubungi oleh tim dukunganlayanan AWS mengenai status AndaKenaikan service limitspermintaan.

9. Pilih Submit (Kirim).

Membuat Instans Notebook1. Masuk keKonsol SageMaker2. Di panel navigasi, pilihInstans notebook.3. PadaInstans notebookhalaman, pilihBuat contoh notebook.

4. PadaBuat contoh notebookhalaman, masukkan nama AndaNama contoh notebook, dan kemudianpilihml.p2.xlarge.

37

AWS DeepLens Panduan DeveloperMelatih Model di Amazon SageMaker

5. MemiilihIAM Roleuntuk mengatur izin dan enkripsi yang benar sebagai berikut:

• Jika Anda memiliki peran Amazon SageMaker IAM yang ada, pilih peran IAM tersebut dari daftar.• Jika Anda baruAmazon SageMaker, buat peran IAM dengan memilihMembuat peran baru.

PadaBuat IAM rolehalaman, pilihEmber S3untuk memberikan akses peran IAM Anda ke bucket S3Anda. Pilih Buat Peran.

6. PadaBuat instance notebookhalaman, pilihIAM Role, lalu pilih IAM role Anda dari daftar.7. BukaRepositori Gitpanel. dan kemudian, di bawahRepositori defaultdrop down, pilihmengkloning

repositori gitHub publik.8. Salinhttps://github.com/aws-samples/aws-deeplens-recipes/dan tempelkan ke

lapangan. Ini berisi notebook Jupyter diperlukan untuk proyek kustom ini.

38

AWS DeepLens Panduan DeveloperMelatih Model di Amazon SageMaker

9. Pilih Buat instans notebook.

Dalam beberapa menit, Amazon SageMaker akan meluncurkan instance notebook. Ketika siap statusakan berubah dariTertundakepadaDalam layanan.

10. PadaInstans notebookhalaman, pilihBuka Jupyteruntuk meluncurkan notebook Jupyter yang barudibuat.

11. Arahkan kestatic/code/trash-sorter/direktori dan membukaaws-deeplens-custom-trash-detector.ipynb.

39

AWS DeepLens Panduan DeveloperMelatih Model di Amazon SageMaker

12. Ikuti petunjuk di notebook Jupyter untuk melatih model Anda.

Note

notebook Jupyter berisi campuran kode dan penurunan harga sel. Dalam buku catatan,setiap sel dapat dijalankan dan dimodifikasi. Untuk memodifikasi sel, klik dua kali dan buatperubahan Anda. Untuk menjalankan sel, tekanShift+Enter.Sementara sel sedang berjalan, sebuahtanda bintang (*)muncul di tanda kurung di sebelahkiri sel yang Anda pilih. Ketika sel telah selesai berjalan, tanda bintang diganti dengan nomoroutput, dan sel output baru dihasilkan di bawah sel asli.Atau, Anda juga dapat menjalankan sel dengan memilihnya dan kemudianmemilihJalankanpada toolbar.

Langkah selanjutnya

• Pada titik di tutorial ini, Anda seharusnya berhasil menyelesaikan hal berikut ini:• Mendaftar. AndaAWS DeepLenspesawat• Membuat bucket Amazon S3• Melatih model klasifikasi gambar SageMaker

40

AWS DeepLens Panduan DeveloperBuat Fungsi Lambda dan Sebarkan Model Terlatih

Selanjutnya, Anda akan belajar bagaimana menyebarkan model ini untuk berjalanAWS DeepLens

Buat Fungsi Lambda dan Terapkan Model TerlatihKhusus ke AWS DeepLensTopik ini menjelaskan cara menambahkanAWS Lambdafungsi inferensike proyek AWS DeepLens kustomAnda. Fungsi Lambda membantu Anda membuat kesimpulan dari frame dalam aliran video yang ditangkapoleh AndaAWS DeepLensperangkat. Jika fungsi Lambda yang sudah ada dan diterbitkan memenuhipersyaratan aplikasi Anda, Anda dapat menggunakannya sebagai gantinya.

PrasyaratUntuk menyelesaikan bagian ini, Anda memerlukan hal berikut ini:

• Model terlatih.tar.gzfile yang disimpan di bucket Amazon Simple Storage Service (AmazonS3)deeplens-.

• Untuk mengunduhdeeplens-lambda.zipfile templat.

Jika Anda memodifikasilambda_function.pydi editor kode Lambda, pastikan terusmengimporawscammodul sebelumcv2modul.

Tautkan Model Terlatih Khusus Anda di AWS DeepLens ConsoleUntuk berhasil menyebarkan proyek Anda keAWS DeepLensperangkat yang Anda butuhkan untukmenghubungkan model terlatih keAWS DeepLensperangkat. Hal ini memerlukan model terlatih di bucketAmazon S3 yang ditambahkan keAWS DeepLenskonsol.

1. BukaAWS DeepLens.2. Di panel navigasi, pilihModel.3. Selanjutnya, pilihModel impor.4. PadaSumber imporhalaman, pilihModel yang dilatih secara eksternal.

41

AWS DeepLens Panduan DeveloperBuat Fungsi Lambda dan Sebarkan Model Terlatih

5. DiJalur artefak Modelbidang, masukkan jalur ke model Anda di Amazon S3. Jalan Anda harus berakhirsebagai berikut,.tar.gz.

6. MasukkanNama model, dan kemudian pilihMXNetdi bawahKerangka kerja model.7. MemiilihModel impor.

Membuat Fungsi AWS LambdaFungsi Lambda memungkinkan AWS DeepLens untuk memproses video yang ditangkap diAWSDeepLensperangkat. Dalam prosedur ini, Anda menggunakan konsol Lambda untuk membuat fungsiLambda, lalu unggahdeeplens-lambda.zipberkas. File ini berisi script python yang diperlukan untukmemproses video yang ditangkap pada AndaAWS DeepLensperangkat.

42

AWS DeepLens Panduan DeveloperBuat Fungsi Lambda dan Sebarkan Model Terlatih

Note

Jika Anda belum melakukannya, pastikan Anda telah mengunduhdeeplens-lambda.zipfiletemplat.

Membuat fungsi Lambda baru menggunakandeeplens-lambda.zipfail

1. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

2. Di panel navigasi, pilihBuat fungsi.3. Pilih halaman Buat fungsi, pilih Penulis dari scratch.4. MasukInformasi dasar, masukkanNamauntuk Anda berfungsi.5. Di bawahWaktu pengoperasian, pilihPython 2.7, dan kemudian membukaMemilih atau membuat peran

eksekusipanel.6. MemiilihMenggunakan peran yang ada, dan kemudian pilihLayanan peran/awsdeeplenslambdarole.

7. MemiilihBuat fungsi8. DiKode fungsipanel pada halaman berikutnya, mengubah nilai default diJenis entri

kodekepadaMemiilih .zipfile dari defaultEdit kode inline.9. MemiilihSimpanuntuk menyimpan kode yang Anda masukkan.10. Di bagian atas halaman, pilihTindakan, dan kemudian pilihPublikasikan versi baru. Sekarang fungsi

Anda tersedia di konsol AWS DeepLens Anda dan Anda dapat menambahkannya ke proyek kustomAnda.

Membuat Proyek AWS DeepLens Baru1. Di panel navigasi diAWS DeepLens, pilihProyek, pilihMembuat proyek kosong baru, dan kemudian

pilihSelanjutnya.2. MasukkanNama Proyekdan, opsional,Deskripsi.3. MemiilihKonten proyekdan kemudian lakukan hal berikut untuk menghubungkan model terlatih khusus

dari Amazon SageMaker dan fungsi AWS Lambda:

• MemiilihMemiilih model, pilih nama model Anda, lalu pilihMemiilih modellagi.• MemiilihTambahkan fungsi, cari fungsi AWS Lambda berdasarkan nama, lalu pilihTambahkan

fungsi.

43

AWS DeepLens Panduan DeveloperLihat Hasil di AWS IoT Greengrass

4. MemiilihBuatuntuk menyelesaikan pembuatan proyek AWS DeepLens kustom Anda.

Menerapkan Proyek Custom AWS DeepLens1. Di panel navigasi diAWS DeepLens, pilihProyek, pilih proyek yang ingin Anda sebarkan ke perangkat

AWS DeepLens Anda, lalu pilihMenyebarkan ke perangkat.2. PadaLayar perangkat, pilih perangkat Anda dari daftar, lalu pilihTinjau.

3. PadaMeninjau dan menyebarkan halaman, pilihDeploy.

Langkah selanjutnya

• Pada titik di tutorial ini, Anda seharusnya berhasil menyelesaikan hal berikut ini:• Mendaftarkan perangkat AWS DeepLens Anda• Membuat bucket Amazon S3• Membuat instans Amazon SageMaker• Meminta peningkatan batas Layanan untuk instans GPU• Melatih model klasifikasi gambar kustom Anda dan menyimpan output model ke bucket S3 yang benar• Membuat fungsi AWS Lambda• Menerapkan fungsi AWS Lambda dan model Anda ke perangkat AWS DeepLens

Sekarang setelah Anda menerapkan model kustom dan fungsi AWS Lambda ke AWS DeepLens Anda,pengguna dapat melihat output. Perangkat AWS DeepLens menggunakanAWS IoT Greengrassuntukmengirim kembali hasil inferensi. Kita dapat melihat hasilnya dengan menghubungkan keAWS IoTGreengrasskonsol.

Menggunakan AWS IoT Greengrass Console untukMelihat Output Model Terlatih Khusus Anda (OutputTeks)Pada langkah ini, Anda menyinkronkan input video AWS DeepLens denganAWS IoT Greengrass.

44

AWS DeepLens Panduan DeveloperLihat Hasil di AWS IoT Greengrass

1. Di panel navigasi di konsol AWS DeepLens, pilihPerangkat.2. PadaPerangkathalaman, di bawahNamapilih perangkat AWS DeepLens Anda.3. Pada halaman perangkat, diOutput proyekbagian menyalin kode MQTT yang diperlukan untukAWS

IoT Greengrasskonsol.

4. PilihKonsol AWS IoTdicatat pada langkah 2,Konsol IoT.5. Tempel kode yang Anda salin dari langkah 3 keTopik langganankotak teks dan kemudian

pilihBerlangganan topik.

Langkah selanjutnya

Sekarang Anda telah menyelesaikan tutorial ini, ada beberapa cara berbeda yang Anda bisamelihat outputvideoAWS DeepLensperangkat.

Output video dibagi menjadi aliran berikut:

• Parameteraliran perangkatadalah aliran video yang belum diproses.• ParameterAliran outputadalah hasil dari pemrosesan yang dilakukan model pada bingkai video.

45

AWS DeepLens Panduan DeveloperKerangka kerja yang didukung

MembangunAWS DeepLensProyekSaatAWS DeepLensperangkat terdaftar dan terhubung ke AWS Cloud, Anda dapat mulai membuatAWSDeepLensproyek di AWS Cloud dan menerapkannya untuk berjalan di perangkat. SesiAWSDeepLensproyek adalah aplikasi visi komputer berbasis pembelajaran yang mendalam. Ini terdiri darimodel pembelajaran mendalam dan fungsi Lambda untuk melakukan inferensi berdasarkan model.

Sebelum membuatAWS DeepLensproyek, Anda harus telah dilatih atau memiliki orang lain melatihmodel pembelajaran mendalam menggunakan salah satukerangka kerja pembelajaran mesin yangdidukung (p. 46). Model ini dapat dilatih menggunakan SageMaker atau lingkungan pembelajaran mesinlainnya. Selain itu, Anda juga harus telah membuat dan menerbitkan fungsi inferensi diAWS Lambda.Pada bagian ini, Anda akan belajar bagaimana melatih model deep learning visi komputer di SageMakerdan cara membuat inferensi fungsi Lambda untuk membuat kesimpulan dan menerapkan logika aplikasilainnya.

Untuk membantu Anda belajar membangunAWS DeepLensproyek, Anda memiliki akses ke satu setAWSDeepLensproyek sampel. Anda dapat menggunakan proyek sampel apa adanya untuk mempelajari polapemrograman untuk membangunAWS DeepLensproyek. Anda juga dapat menggunakannya sebagaitemplate untuk memperluas fungsionalitas mereka. Pada bagian ini, Anda akan mempelajari lebih lanjuttentang proyek sampel ini dan cara mempekerjakannya untuk dijalankan di perangkat Anda, juga.

Topik• Kerangka Kerja Machine Learning Didukung olehAWS DeepLens (p. 46)• MelihatAWS DeepLensAliran output (p. 53)• Bekerja denganAWS DeepLensProyek Sampel (p. 61)• Bekerja denganAWS DeepLensProyek Khusus (p. 81)• MembangunAWS DeepLensTutorial Proyek (p. 91)

Kerangka Kerja Machine Learning DidukungolehAWS DeepLens

AWS DeepLensmendukung model deep learning yang dilatih menggunakan Apache MXNet (termasukdukungan untuk Gluon API), TensorFlow, dan kerangka kerja Caffe. Bagian ini mencantumkan model danlapisan pemodelan yangAWS DeepLensmendukung untuk setiap kerangka kerja.

Topik• Model Apache MXNet yang Didukung dan Lapisan MXNet yang Mendukung (p. 46)• Model TensorFlow yang Didukung dan Lapisan TensorFlow yang Mendukung (p. 48)• Model Caffe yang Didukung dan Lapisan Caffe yang Mendukung (p. 50)

Model Apache MXNet yang Didukung dan LapisanMXNet yang MendukungAWS DeepLensmendukung model deep learning Apache MXNet yang terpapar oleh lapisan Gluon API danMXNet. Bagian ini mencantumkan model dan lapisan yang didukung.

Topik• Model MXNet yang Didukung Dipekspos oleh Gluon API (p. 47)• Mendukung Layer MXNet (p. 47)

46

AWS DeepLens Panduan DeveloperModel dan Lapisan MXNet

Topics

Model MXNet yang Didukung Dipekspos oleh Gluon APIAWS DeepLensmendukung model pembelajaran mendalam Apache MXNet berikut dari kebun binatangmodel Gluon yang terpapar oleh API Gluon.

Model Gluon yang Didukung

AlexNet Model klasifikasi gambar dilatih pada dataset ImageNet yang diimpordari Open Neural Network Exchange (ONNX).

MobileNet Model klasifikasi gambar dilatih dalam TensorFlow menggunakanoptimizer RMSProp.

Resnet Model klasifikasi gambar dilatih pada dataset ImageNet yang diimpordari MXNet.

SqueezeNet Model klasifikasi gambar dilatih pada dataset ImageNet yang diimpordari ONNX.

VGG Model klasifikasi gambar dilatih pada dataset ImageNet yang diimpordari MXNet atau ONNX.

Example

Contoh berikut menunjukkan cara mengekspor model versi 1 menggunakan Gluon API. Output adalahsimbol dan parameter file. Nama file memiliki 'squeezenet'prefiks.

import mxnet as mxfrom mxnet.gluon.model_zoo import visionsqueezenet = vision.squeezenet_v1(pretrained=True, ctx=mx.cpu())

# To export, you need to hybridize your gluon model,squeezenet.hybridize()

# SqueezeNet’s input pattern is 224 pixel X 224 pixel images. Prepare a fake image,fake_image = mx.nd.random.uniform(shape=(1,3,224,224), ctx=mx.cpu())

# Run the model once.result = squeezenet(fake_image)

# Now you can export the model. You can use a path if you want ‘models/squeezenet’.squeezenet.export(‘squeezenet')

Untuk daftar lengkap model dan informasi lainnya, lihatKebun Binatang Model.

Mendukung Layer MXNetAnda dapat menggunakan lapisan pemodelan Apache MXNet berikut untuk melatih model deep learninguntukAWS DeepLens.

Lapisan Modeling MXNet yang Didukung

Aktifkan Menerapkan fungsi aktivasi ke input

47

AWS DeepLens Panduan DeveloperModel dan Lapisan TensorFlow

Lapisan Modeling MXNet yang Didukung

BatchNorm Berlaku normalisasi batch

Concat Bergabung array masukan sepanjang sumbu yang diberikan

_CONTRIB_MultiboxDetection Mengkonversi prediksi deteksi multibox

_Contrib_MultiboxPrior Menghasilkan kotak sebelumnya dari data, ukuran, dan rasio

Konvolusi Menerapkan lapisan konvolusi pada input

Dekonvolusi Menerapkan konvolusi transposed pada input

elemwise_add Berlaku penambahan elemen-bijaksana argumen

Ratakan Runtuh dimensi yang lebih tinggi dari masukan ke dalam array 2dimensi

Sepenuhnya terhubung Menerapkan transformasi linierY = WX + bpada inputX

InputLayer Menentukan input ke jaringan saraf

L2Norm BerlakuL2normalisasi ke array masukan

LRN

(Normalisasi Respon Lokal)

Berlaku normalisasi respon lokal ke array input

Penyatuan Melakukan penyatuan pada input

Membentuk kembali Membentuk kembali array input dengan tampilan yang berbeda tanpamengubah data

ScaleShift Menerapkan operasi skala dan shift pada elemen input

SoftMaxActivation Berlaku aktivasi Softmax ke input

SoftMaxOutput Menghitung gradien kehilangan cross-entropy sehubungan denganoutput Softmax

transpos Permutes dimensi array

UpSampling Melakukan terdekat-tetangga atau bilinear upsampling ke input

_mul Melakukan perkalian

_Plus Melakukan jumlah elemen-bijaksana dari array input denganpenyiaran

Untuk informasi selengkapnya tentang lapisan MXnet, lihatMXNet Gluon Lapisan Jaringan Saraf.

Model TensorFlow yang Didukung dan LapisanTensorFlow yang MendukungAWS DeepLensmendukung model TensorFlow berikut dan layer untuk deep learning.

Topik• Model TensorFlow yang Didukung (p. 49)

48

AWS DeepLens Panduan DeveloperModel dan Lapisan TensorFlow

• Mendukung Layers TensorFlow (p. 49)

Model TensorFlow yang DidukungAWS DeepLensmendukung model deep learning berikut yang telah dilatih dengan TensorFlow.

Model TensorFlow yang Didukung

Awal Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan TensorFlow

MobileNet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan TensorFlow

NASnet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan TensorFlow

Resnet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan TensorFlow

VGG Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan TensorFlow

Untuk informasi selengkapnya tentang model TensorFlow, lihattensorflow/modeldi GitHub.

Mendukung Layers TensorFlowAnda dapat menggunakan layer TensorFlow berikut untuk melatih model deep learning yang didukungolehAWS DeepLens.

Layers TensorFlow yang Didukung

Tambahkan Menghitung penambahan elemen-bijaksana

AVGPOOL Melakukan penggabungan rata-rata pada input

BatchToSpacend Mengatur ulang data dari batch ke dalam blok data spasial

BiasTambah Menambahkan bias

Const Menciptakan tensor konstan

Conv2D Menghitung konvolusi 2-D

Conv2DBackPropinput Menghitung gradien konvolusi sehubungan dengan input

Identitas Mengembalikan tensor dengan bentuk dan isi yang sama sebagaimasukan

Maksimum Menghitung maksimalisasi elemen-bijaksana.

MaxPool Melakukan penyatuan maks pada input

Berarti Menghitung rata-rata elemen di seluruh dimensi tensor

Mul Menghitung perkalian elemen-bijaksana

49

AWS DeepLens Panduan DeveloperModel dan Lapisan Caffe

Layers TensorFlow yang Didukung

Neg Menghitung nilai negatif numerik elemen-bijaksana

Pad Pads tensor

Placeholder Menyisipkan placeholder untuk tensor yang akan selalu diberi makan

Prod Menghitung produk elemen di seluruh dimensi tensor

AcomUniform Output nilai acak dari distribusi seragam

Kisaran Menciptakan urutan angka

Relu Menghitung aktivasi linier yang diperbaiki

Membentuk kembali Membentuk kembali tensor

Rsqrt Menghitung timbal balik dari akar kuadrat

Bentuk Mengembalikan bentuk tensor

Softmax Menghitung aktivasi Softmax

SpaceToPatchnd Nol-bantalan dan kemudian menata ulang blok data spasial menjadibatch

Kotak Menghitung elemen-bijaksana persegi

Squeeze Menghapus dimensi ukuran 1 dari bentuk tensor

stopGradient Menghentikan perhitungan gradien

Sub Menghitung pengurangan elemen-bijaksana

Jumlah Menghitung jumlah elemen di seluruh dimensi tensor

Genteng Membangun tensor dengan ubin tensor yang diberikan

Untuk informasi selengkapnya tentang lapisan TensorFlow, lihatLapisan TensorFlow.

Model Caffe yang Didukung dan Lapisan Caffe yangMendukungAWS DeepLensmendukung model deep learning berikut yang dilatih dengan lapisan pemodelan Caffe danCaffe.

Topik• Model Caffe yang Didukung (p. 50)• Mendukung Caffe Layers (p. 51)

Model Caffe yang DidukungAWS DeepLensmendukung models.trained deep learning berikut dengan Caffe.

50

AWS DeepLens Panduan DeveloperModel dan Lapisan Caffe

Model Caffe yang Didukung

AlexNet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan Caffe

DenseNet Model klasifikasi gambar dari model Torch asli

Awal Model klasifikasi gambar dikonversi dari model Apache MXNet asli

MobileNet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan Caffe

Resnet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan Caffe

SqueezeNet Model klasifikasi gambar yang dilatih pada dataset ImageNetmenggunakan Caffe

VGG Model klasifikasi gambar dilatih pada dataset ImageNet usng Caffe

Untuk informasi selengkapnya tentang model Caffe, lihatKebun Binatang model.

Mendukung Caffe LayersAnda dapat menggunakan lapisan Caffe berikut untuk melatih model deep learning yang didukungolehAWS DeepLens.

Lapisan Caffe yang Didukung

BatchNorm Menormalkan input untuk memiliki 0-mean dan/atau unit varians diseluruh batch

Concat Menggabungkan gumpalan masukan

Konvolusi Convolves input dengan bank filter yang dipelajari

Dekonvolusi Melakukan di sensor berlawanan dari lapisan Konvolusi

Putus Melakukan putus

Eltwise Melakukan operasi elemen-bijaksana, seperti produk dan jumlah,bersama beberapa gumpalan masukan

Ratakan Membentuk kembali gumpalan masukan ke vektor datar

InnerProduk Menghitung produk batin

Input Menyediakan data input ke model

LRN (Normalisasi Respon Lokal) Menormalkan input di wilayah lokal di seluruh atau di dalam peta fitur

Permute Permutes dimensi gumpalan

Penyatuan Pools gambar input dengan mengambil max, rata-rata, dll,. dalamdaerah

Daya Menghitung output sebagai(shift + scale * x) ^ poweruntuksetiap elemen masukanx

51

AWS DeepLens Panduan DeveloperModel dan Lapisan Caffe

Lapisan Caffe yang Didukung

ReLu Menghitung aktivasi linier yang diperbaiki

Membentuk kembali Mengubah dimensi gumpalan masukan, tanpa mengubah datanya

RoiPooling Berlaku penyatuan untuk setiap daerah yang diminati

Penskalaan Menghitung produk elemen-bijaksana dari dua gumpalan masukan

SLICE Irisan layer input ke beberapa layer output sepanjang dimensi yangdiberikan

Softmax Menghitung aktivasi Softmax

Genteng Salinan gumpalan sepanjang dimensi tertentu

Untuk informasi selengkapnya tentang lapisan Caffe, lihatLapisan Caffe.

52

AWS DeepLens Panduan DeveloperMelihat Output Proyek

MelihatAWS DeepLensAliran outputSesiAWS DeepLensmenghasilkan dua aliran output: aliran perangkat dan aliran proyek. Parameteraliranperangkatadalah aliran video yang belum diproses. Parameteraliran Proyekadalah hasil dari pemrosesanyang dilakukan model pada bingkai video.

Anda dapat melihat output di browser web yang didukung saat AndaAWS DeepLensperangkat online.Untuk informasi selengkapnya, lihat the section called “Lihat Video Stream dariAWS DeepLensPerangkat diBrowser.” (p. 54). Selain itu, Anda juga dapat melihat output pada perangkat yang terhubung ke monitor,keyboard dan mouse. Instruksi diberikan dalam bagian ini.

Topik• Lihat Arus Video dariAWS DeepLensPerangkat Edisi 2019 (v1.1) di Browser (p. 53)• Lihat Arus Video dariAWS DeepLensPerangkat di Peramban (p. 54)• Melihat Video Stream diAWS DeepLensPerangkat (p. 56)• Membuat Fungsi Lambda untuk Melihat Stream Proyek (p. 58)

Lihat Arus Video dariAWS DeepLensPerangkat Edisi2019 (v1.1) di BrowserUntuk melihat proyek atau live stream dariAWS DeepLensPerangkat 2019 Edition (v1.1) di browser, Andaharus memiliki sertifikat streaming yang ditandatangani sendiri perangkat diunduh ke komputer Anda dankemudian diunggah ke browser yang didukung yang akan Anda gunakan. Untuk petunjuk tentang caramengunduh sertifikat streaming dan menginstalnya ke browser, lihatLangkah 6dariLihat atau PerbaruiAWSDeepLensPengaturan Perangkat Edisi 2019 (v1.1) (p. 19).

Untuk melihat aliran video dariAWS DeepLensPerangkat 2019 Edition (v1.1) di browser

1. Connect perangkat ke komputer Anda dengan kabel USB yang disediakan, jika belum terhubung.2. Lakukan salah satu langkah berikut untuk meluncurkan perangkat AndaAWS

DeepLensAliranpenampil:

• Buka halaman detail perangkat diAWS DeepLenskonsol dan pilihMelihat aliran videodibawahStreaming videountuk membuka penampil streaming di tab peramban baru.

• Atau, buka tab browser baru secara manual, ketikhttps://your-device-ip-address:4000dibilah alamat, di manaAnda-perangkat-ip-alamatsingkatan dari alamat IP perangkat Anda(misalnya, 192.168.14.78) ditampilkan di bawahRincian perangkatdiAWS DeepLenskonsol.

3. Karena sertifikat streaming ditandatangani sendiri, browser akan menampilkan peringatan. Untukmenerima peringatan, ikuti petunjuk khusus browser di layar untuk menerima sertifikat untuk penampilaliran yang akan diluncurkan.

Diperlukan waktu sekitar 30 detik agar penampil aliran muncul.4. Sebelum proyek apa pun dikerahkan, pilihStreaming langsunguntuk melihat video langsung dariAWS

DeepLensPerangkat. Setelah proyek di-deploy, Anda juga dapat memilihAliran Proyekuntuk melihatvideo diproses output dari perangkat.

5. Setelah selesai dengan melihat aliran video, lepaskan perangkat dari komputer Anda untukmengembalikan komputer ke konfigurasi jaringan normalnya.

53

AWS DeepLens Panduan DeveloperLihat Video Stream dariAWS

DeepLensPerangkat di Browser.

Lihat Arus Video dariAWS DeepLensPerangkat diPeramban

Note

Untuk melihat output proyek di browser yang didukung, perangkat Anda harusmemilikiawscamversi perangkat lunak 1.3.9 atau lebih tinggi diinstal. Untuk informasiuntuk memperbarui perangkat lunak perangkat, lihatthe section called “Perbarui PerangkatAnda” (p. 109).

Note

Untuk melihat output proyek di Chrome di Mac El Capitan atau versi lebih lama, Anda harusmemberikan kata sandi untuk memuat sertifikat streaming untuk melihat output proyek. Jika Andamemiliki sistem operasi Mac lama dan ingin menggunakan Chrome, lewati prosedur di bawah inidan ikuti petunjuk diBagaimana Melihat Output Proyek di Browser Chrome di Mac El Capitan atauSebelumnya? (p. 131)untuk mengatur browser Anda untuk melihat output proyek.

Untuk melihat output proyekdari AndaAWS DeepLenspesawatdi browser web yang didukung

1. Jika Anda belum mengunduh sertifikat streaming kapanmendaftarkan perangkat Anda (p. 27)atau jikaAnda kehilangan salinan yang diunduh, lakukan salah satu hal berikut untuk mengunduh sertifikatstreaming. Langkah-langkah yang berbeda tergantung pada apakah Anda menggunakan aplikasipengaturan perangkat atau tidak.

a. Unduh sertifikat streaming tanpa menggunakan halaman pengaturan perangkat:

i. Buat koneksi SSH keAWS DeepLensperangkat dari komputer Anda:

ssh aws_cam@device_local_ip_address

Sebuah contohdevice_local_ip_addressakan192.168.0.47. Setelah memasukkankata sandi perangkat yang benar, yang Anda tentukan selama pendaftaran perangkat, Andasekarang masuk ke perangkat.

ii. Membuat salinan lokal (my_streaming_cert.pfx) sertifikat streaming (client.pfx) padaperangkat:

sudo cp /opt/awscam/awsmedia/certs/client.pfx /home/aws_cam/my_streaming_cert.pfx

Saat diminta, masukkan kata sandi perangkat untuk menyelesaikan perintah di atas.

Pastikan bahwa pemilik salinan perangkat-lokal adalahaws_cam.

sudo chown aws_cam /home/aws_cam/my_streaming_cert.pfx

Setelah ini, keluar dari perangkat:

exit

iii. Transfer salinan sertifikat streaming dari perangkat ke komputer Anda:

scp aws_cam@device_local_ip_address:/home/aws_cam/my_streaming_cert.pfx ~/Downloads/

54

AWS DeepLens Panduan DeveloperLihat Video Stream dariAWS

DeepLensPerangkat di Browser.

Contoh yang digunakanDownloadsfolder di bawah direktori beranda pengguna (~/) untukmentransfer sertifikat ke. Anda dapat memilih direktori yang dapat ditulis lainnya sebagaifolder tujuan.

b. Ikuti langkah-langkah berikut untuk mengunduh sertifikat streaming untukAWSDeepLensPerangkat:

i. Kembalikan perangkat Anda ke mode pengaturannya, jika perlu, dan hubungkan komputerAnda ke perangkatADMC-NNNNJaringan Wi-Fi (p. 23).

ii. Mulai aplikasi pengaturan perangkat dihttp://deeplens.config.iii. Ikuti petunjuk di layar untuk mengunduh sertifikat streaming untuk melihat stream output

proyek.2. Impor ke browser web yang didukung sertifikat streaming yang Anda unduh selamapendaftaran

perangkat (p. 27).

a. Untuk FireFox (Windows dan macOS Sierra atau yang lebih tinggi), ikuti langkah-langkah berikut:

i. PilihPreferensidi FireFox.ii. PilihPrivasi & Keamanan.iii. PilihMelihat sertifikat.iv. PilihSertifikat AndaTab.v. Pilih Import (Impor).vi. Pilih sertifikat streaming yang diunduh untuk dimuat ke FireFox.vii. Ketika diminta untuk memasukkan kata sandi sistem komputer Anda, jika AndaAWS

DeepLensversi perangkat lunak adalah 1.3.23 atau lebih tinggi, ketik DeepLens di bidanginput password. JikaAWS DeepLensVersi perangkat lunak adalah 1.3.22 atau lebih rendah,biarkan bidang kata sandi kosong dan ikuti instruksi di layar untuk menyelesaikan mengimporsertifikat streaming.

Note

Bergantung pada versi FireFox yang Anda gunakan, Anda mungkin perlu mengikutilangkah-langkah di bawah ini, sebagai gantinya:

1. FromPreferensi, PilihLanjutan.2. PilihSertifikatTab.3. PilihMelihat Sertifikat.4. PadaCertificate Manager, pilihSertifikat AndaTab.5. Pilih Import (Impor).6. Arahkan ke dan buka sertifikat streaming yang diunduh.7. Saat diminta memasukkan kata sandi, jika AndaAWS DeepLensversi perangkat

lunak adalah 1.3.23 atau lebih tinggi, jenisDeepLensdi bidang masukan katasandi. JikaAWS DeepLensversi perangkat lunak adalah 1.3.22 atau lebih rendah,pilihOKEtanpa memasukkan satu.

b. Untuk Chrome (macOS Sierra atau yang lebih tinggi), ikuti langkah-langkah berikut:

i. Di macOS, klik dua kali sertifikat streaming yang diunduh untuk menambahkannyaSistemdibawahGantungan kuncidanSertifikat sayadi bawahKategori.

Atau, buka dan buka kunciAkses Gantungan kunciapp, pilihSistemdi bawahGantungankuncidi sebelah kiri danSertifikat sayadi bawahKategori. Seret dan jatuhkan sertifikatstreaming yang diunduh ke jendela.

ii. Masukkan kata sandi sistem komputer Anda.55

AWS DeepLens Panduan DeveloperMelihat Video Stream diAWS DeepLensPerangkat

iii. Di layar berikutnya, jikaAWS DeepLensversi perangkat lunak adalah 1.3.23 atau lebih tinggi,jenisDeepLensdi bidang masukan kata sandi. JikaAWS DeepLensversi perangkat lunakadalah 1.3.22 atau lebih rendah, meninggalkanKata Sandibidang kosong dan kemudianpilihOKE.

c. Untuk Chrome (Windows dan Linux), ikuti langkah-langkah berikut:

i. Di browser Chrome Anda, bukaPengaturandan pilihlahPengaturan lanjutan.ii. MasukPrivasi dan keamanan, PilihKelola sertifikat.iii. Pilih Import (Impor).iv. Arahkan ke folder yang berisi sertifikat streaming yang diunduh dan pilih untuk dimuat ke

Chrome.v. Ketika diminta untuk password sistem komputer Anda, jika AndaAWS DeepLensversi

perangkat lunak adalah 1.3.23 atau lebih tinggi, jenisDeepLensdi bidang masukan katasandi. JikaAWS DeepLensVersi perangkat lunak adalah 1.3.22 atau lebih rendah, biarkanbidang kata sandi kosong dan ikuti petunjuk di layar untuk menyelesaikan mengimporsertifikat streaming.

3. Untuk melihat aliran output, buka jendela browser yang didukung dan arahkan kehttps://<your-device-ip-address>:4000. Anda dapat menemukan alamat IP perangkat Anda di halaman detailperangkat diAWS DeepLenskonsol.

Anda juga dapat menggunakanAWS DeepLenskonsol untuk melihat aliran proyek. Untukmelakukannya, ikuti langkah-langkah di bawah:

a. Di panel navigasi, pilihPerangkat.b. DariPerangkathalaman, pilihAWS DeepLensPerangkat.c. Di bawahOutput Proyekpada halaman detail perangkat Anda, perluasLihat output videobagian.d. Pilih browser yang didukungPilih browser untuk mengimpor sertifikat streamingdaftar drop-down

dan, jika perlu, ikuti petunjuk.e. PilihLihat aliran, saat komputer Anda terhubung ke Wi-Fi perangkat (AMDC-NNNN) jaringan.

Melihat Video Stream diAWS DeepLensPerangkatSelainmelihatAWS DeepLensaliran output di browser (p. 54), Anda dapat menggunakanmplayeruntukmelihat aliran langsung dariAWS DeepLenssetelah menghubungkannya ke monitor, keyboard, dan mouse.Ini sangat berguna saat AndaAWS DeepLensperangkat tidak online.

Alih-alih menghubungkan ke perangkat secara langsung menggunakan monitor, keyboard, dan mouse,Anda juga dapat menggunakansshuntuk terhubung ke perangkat, jika akses SSH diaktifkan padaperangkat saat terdaftar. Kemudian Anda dapat menggunakanmplayerpada komputer kerja Anda untukmelihat aliran. Pastikanmplayerdiinstal pada komputer Anda sebelum melihat aliran output dariAWSDeepLensPerangkat. Untuk informasi selengkapnya tentang instalasi, lihatmplayerunduh.

Topik• Lihat Live Streams diAWS DeepLensPerangkat (p. 56)• Lihat Stream Proyek diAWS DeepLensPerangkat (p. 57)

Lihat Live Streams diAWS DeepLensPerangkat

Untuk melihat aliran perangkat yang belum diproses diAWS DeepLenspesawat

1. ColokkanAWS DeepLensperangkat ke stopkontak dan menyalakannya.

56

AWS DeepLens Panduan DeveloperMelihat Video Stream diAWS DeepLensPerangkat

2. Connect mouse USB dan keyboard keAWS DeepLens.3. Gunakan kabel micro HDMI untuk menghubungkanAWS DeepLenske monitor. Layar login muncul di

monitor.4. Masuk ke perangkat menggunakan kata sandi SSH yang Anda tetapkan saat mendaftarkan perangkat.5. Untuk melihat aliran video dariAWS DeepLens, mulai terminal Anda dan jalankan perintah berikut:

mplayer -demuxer lavf /opt/awscam/out/ch1_out.h264

6. Untuk berhenti melihat aliran video dan mengakhiri sesi terminal, tekanCtrl+C.

Lihat Stream Proyek diAWS DeepLensPerangkatUntuk melihat aliran proyek diAWS DeepLenspesawat

1. ColokkanAWS DeepLensperangkat ke stopkontak dan menyalakannya.2. Connect mouse USB dan keyboard keAWS DeepLens.3. Gunakan kabel micro HDMI untuk menghubungkanAWS DeepLenske monitor. Layar login muncul di

monitor.4. Masuk ke perangkat menggunakan kata sandi SSH yang Anda tetapkan saat mendaftarkan perangkat.5. Untuk melihat aliran video dariAWS DeepLens, mulai terminal Anda dan jalankan perintah berikut:

mplayer -demuxer lavf -lavfdopts format=mjpeg:probesize=32 /tmp/results.mjpeg

6. Untuk berhenti melihat aliran video dan mengakhiri sesi terminal, tekanCtrl+C.

57

AWS DeepLens Panduan DeveloperMembuat Fungsi Lambda untuk Melihat Stream Proyek

Membuat Fungsi Lambda untuk Melihat StreamProyekUntuk melihat aliran proyek, Anda memerlukanAWS Lambdafungsi yang berinteraksidenganmjpegstreaming pada perangkat Anda dan model deep learning. Untuk proyek sampel disertakandenganAWS DeepLens, kode termasuk dalam fungsi inferensi Lambda untuk proyek. Untuk proyek kustomAnda, Anda perlu membuat fungsi Lambda yang melakukan tugas ini.

Buat fungsi Lambda untuk proyek kustom Anda

Tambahkan kode contoh berikut ke proyek Anda dan ubah nama model dan dimensi yang sesuai. https://docs.aws.amazon.com/deeplens/latest/dg/

import osimport greengrasssdkfrom threading import Timerimport timeimport awscamimport cv2from threading import Thread

# Create an AWS Greengrass core SDK client.client = greengrasssdk.client('iot-data')

# The information exchanged between AWS IoT and the AWS Cloud has # a topic and a message body.# This is the topic that this code uses to send messages to the Cloud.iotTopic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME'])_, frame = awscam.getLastFrame()_,jpeg = cv2.imencode('.jpg', frame)Write_To_FIFO = Trueclass FIFO_Thread(Thread): def __init__(self): ''' Constructor. ''' Thread.__init__(self) def run(self): fifo_path = "/tmp/results.mjpeg" if not os.path.exists(fifo_path): os.mkfifo(fifo_path) f = open(fifo_path,'w') client.publish(topic=iotTopic, payload="Opened Pipe") while Write_To_FIFO: try: f.write(jpeg.tobytes()) except IOError as e: continue

def greengrass_infinite_infer_run(): try: modelPath = "/opt/awscam/artifacts/mxnet_deploy_ssd_resnet50_300_FP16_FUSED.xml" modelType = "ssd" input_width = 300 input_height = 300 max_threshold = 0.25 outMap = ({ 1: 'aeroplane', 2: 'bicycle', 3: 'bird', 4: 'boat', 5: 'bottle', 6: 'bus', 7 : 'car', 8 : 'cat', 9 : 'chair', 10 : 'cow', 11 : 'dining table', 12 : 'dog', 13 : 'horse', 14 : 'motorbike', 15 : 'person', 16 : 'pottedplant', 17 : 'sheep', 18 : 'sofa', 19 : 'train', 20 : 'tvmonitor' })

58

AWS DeepLens Panduan DeveloperMembuat Fungsi Lambda untuk Melihat Stream Proyek

results_thread = FIFO_Thread() results_thread.start() # Send a starting message to the AWS IoT console. client.publish(topic=iotTopic, payload="Object detection starts now")

# Load the model to the GPU (use {"GPU": 0} for CPU). mcfg = {"GPU": 1} model = awscam.Model(modelPath, mcfg) client.publish(topic=iotTopic, payload="Model loaded") ret, frame = awscam.getLastFrame() if ret == False: raise Exception("Failed to get frame from the stream") yscale = float(frame.shape[0]/input_height) xscale = float(frame.shape[1]/input_width)

doInfer = True while doInfer: # Get a frame from the video stream. ret, frame = awscam.getLastFrame() # If you fail to get a frame, raise an exception. if ret == False: raise Exception("Failed to get frame from the stream")

# Resize the frame to meet the model input requirement. frameResize = cv2.resize(frame, (input_width, input_height))

# Run model inference on the resized frame. inferOutput = model.doInference(frameResize)

# Output the result of inference to the fifo file so it can be viewed with mplayer. parsed_results = model.parseResult(modelType, inferOutput)['ssd'] label = '{' for obj in parsed_results: if obj['prob'] > max_threshold: xmin = int( xscale * obj['xmin'] ) + int((obj['xmin'] - input_width/2) + input_width/2) ymin = int( yscale * obj['ymin'] ) xmax = int( xscale * obj['xmax'] ) + int((obj['xmax'] - input_width/2) + input_width/2) ymax = int( yscale * obj['ymax'] ) cv2.rectangle(frame, (xmin, ymin), (xmax, ymax), (255, 165, 20), 4) label += '"{}": {:.2f},'.format(outMap[obj['label']], obj['prob'] ) label_show = "{}: {:.2f}%".format(outMap[obj['label']], obj['prob']*100 ) cv2.putText(frame, label_show, (xmin, ymin-15),cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 165, 20), 4) label += '"null": 0.0' label += '}' client.publish(topic=iotTopic, payload = label) global jpeg ret,jpeg = cv2.imencode('.jpg', frame) except Exception as e: msg = "Test failed: " + str(e) client.publish(topic=iotTopic, payload=msg)

# Asynchronously schedule this function to be run again in 15 seconds. Timer(15, greengrass_infinite_infer_run).start()

# Execute the function.greengrass_infinite_infer_run()

59

AWS DeepLens Panduan DeveloperMembuat Fungsi Lambda untuk Melihat Stream Proyek

# This is a dummy handler and will not be invoked.# Instead, the code is executed in an infinite loop for our example.def function_handler(event, context): return

Setelah Anda membuat dan menerapkan fungsi Lambda, ikuti petunjuk dithe section called “LihatVideo Stream dariAWS DeepLensPerangkat di Browser.” (p. 54)atauLihat Stream Proyek diAWSDeepLensPerangkat (p. 57)untuk melihat aliran proyek yang diproses.

60

AWS DeepLens Panduan DeveloperBekerja dengan Proyek Sampel

Bekerja denganAWS DeepLensProyek SampelSaatAWS DeepLensperangkat terdaftar dan terhubungke AWS CloudAndasudah siapuntukmembuatAWS DeepLensproyek dan menyebarkan ke perangkat untuk menjalankan aplikasi visikomputer pada. SesiAWS DeepLens proyekterdiri darisebuahAWS DeepLensmodel dansangterkaitAWSLambdafungsiuntuk menjalankan inferensi dengan. Anda dapat menggunakan model pra-terlatih dalamproyek Anda atau Anda dapat melatih model kustom.

AWS DeepLens memberibeberapa proyek sampelbagi Anda untuk menyebarkan dan menjalankankesimpulan di kanan di luar kotak. Di sini, Anda akan belajar cara menggunakan proyek sampel danmenerapkannya ke AndaAWS DeepLensPerangkat. Sebelum kita mulai, mari kita mendapatkan ikhtisarproyek sampel.

Topik• AWS DeepLensContoh Proyek Ikhtisar (p. 61)• Membuat dan MenyebarkanAWS DeepLensSampel Proyek diAWS DeepLensKonsol (p. 64)• RelaiAWS DeepLensOutput ProyekAWS SMS (p. 65)• Gunakan SageMaker untuk Menyediakan Model Pra-terlatih untuk Proyek Sampel (p. 71)

AWS DeepLensContoh Proyek IkhtisarUntuk memulaiAWS DeepLens, menggunakan contoh proyek template.AWS DeepLensproyek sampeladalah proyek di mana model pra-terlatih sehingga semua yang harus Anda lakukan adalah membuatproyek, mengimpor model, menyebarkan proyek, dan menjalankan proyek. Bagian lain dalam panduan inimengajarkan Anda untuk memperluas fungsionalitas proyek sampel sehingga ia melakukan tugas tertentudalam menanggapi suatu peristiwa, dan melatih proyek sampel untuk melakukan sesuatu yang berbedadari sampel asli.

Transfer Gaya ArtistikProyek ini mentransfer gaya gambar, seperti lukisan, ke seluruh urutan video yang ditangkap olehAWSDeepLens.

Proyek ini menunjukkan bagaimanaJaringan Saraf Konvolusi(CNN) dapat menerapkan gaya lukisan kelingkungan Anda karena dialirkan dengan AndaAWS DeepLensPerangkat. Proyek ini menggunakanmodel dioptimalkan pra-terlatih yang siap untuk digunakan untuk AndaAWS DeepLensPerangkat. Setelahmenerapkannya, Anda dapat menonton aliran video bergaya.

Anda juga dapat menggunakan gambar Anda sendiri. Setelah menyetel model untuk gambar, Anda dapatmenonton karena CNN menerapkan gaya gambar ke aliran video Anda.

• Model Proyek:memperdalamkan-artistik-style-transfer• Fungsi Proyek:memperdalamkan-artistik-style-transfer

Pengenalan ObjekProyek ini menunjukkan kepada Anda bagaimana model deep learning dapat mendeteksi dan mengenaliobjek di ruangan.

Proyek ini menggunakanDetektor MultiBox Ditembak Tunggal (SSD)kerangka kerja untuk mendeteksi objekdengan terlatihjaringan resnet_50. Jaringan telah dilatih padaVOC Pascaldataset dan mampu mengenali20 jenis objek yang berbeda. Model mengambil aliran video dariAWS DeepLensperangkat sebagai inputdan label objek yang mengidentifikasi. Proyek ini menggunakan model dioptimalkan pra-terlatih yang

61

AWS DeepLens Panduan DeveloperContoh Proyek Ikhtisar

siap untuk digunakan untuk AndaAWS DeepLensPerangkat. Setelah menyebarkannya, Anda dapatmenontonAWS DeepLensModel mengenali benda-benda di sekitar Anda.

Note

Saat menerapkan model SSD yang terlatih SageMaker, Anda harus terlebih dahulumenjalankandeploy.py(tersedia darihttps://github.com/apache/incubator-mxnet/tree/v1.x/example/ssd/) untuk mengkonversi artefak model menjadi model deployable.Setelah mengkloning atau mengunduh repositori MXNet, jalankangit reset --hard 73d88974f8bca1e68441606fb0787a2cd17eb364perintah sebelummemanggildeploy.pyuntuk mengkonversi model, jika versi terbaru tidak bekerja.

Model ini mampu mengenali benda-benda berikut: pesawat terbang, sepeda, burung, perahu, botol, bus,mobil, kucing, kursi, sapi, meja makan, dog, kuda, sepeda motor, orang, tanaman pot, domba, sofa, keretaapi, dan monitor TV.

• Model Proyek:memperdalamkan-objek-deteksi• Fungsi Proyek:memperdalamkan-objek-deteksi

Deteksi Wajah dan PengakuanDengan proyek ini, Anda menggunakan model deteksi wajah danAWS DeepLensperangkat untukmendeteksi wajah orang di sebuah ruangan.

Model mengambil aliran video dariAWS DeepLensperangkat sebagai masukan dan menandai gambarwajah yang mendeteksi. Proyek ini menggunakan model dioptimalkan pra-terlatih yang siap untukdigunakan untuk AndaAWS DeepLensPerangkat.

• Model Proyek:memperdalam pendeteksian wajah• Fungsi Proyek:memperdalam pendeteksian wajah

Pengenalan Hot DogTerinspirasi oleh acara televisi populer, proyek ini mengklasifikasikan makanan sebagai hot dog atau bukanhot dog.

Menggunakan model berdasarkanSqueezeNet jaringan saraf dalam. Model mengambil aliran videodariAWS DeepLensperangkat sebagai masukan, dan label gambar sebagai hot dog atau tidak hotdog. Proyek ini menggunakan model terlatih dan dioptimalkan yang siap digunakan untuk AndaAWSDeepLensPerangkat. Setelah menerapkan model, Anda dapat menggunakan fitur Live View untukmenonton saat model mengenali hot dog.

Anda dapat mengedit model ini dengan membuat fungsi Lambda yang dipicu oleh output model. Misalnya,jika model mendeteksi hot dog, fungsi Lambda bisa mengirimkan pesan SMS kepada Anda. Untukmempelajari cara membuat fungsi Lambda ini, lihatGunakan SageMaker untuk Menyediakan Model Pra-terlatih untuk Proyek Sampel (p. 71)

Pengakuan Kucing dan DogProyek ini menunjukkan bagaimana Anda dapat menggunakan pembelajaran mendalam untuk mengenalikucing atau anjingnya.

Hal ini didasarkan pada arsitektur jaringan saraf konvolusional (CNN) dan menggunakan pretrainedResnet-152topologi untuk mengklasifikasikan gambar sebagai kucing atau anjingnya. Proyek inimenggunakan model terlatih dan dioptimalkan yang siap digunakan untuk AndaAWS DeepLensPerangkat.Setelah menyebarkannya, Anda dapat menonton sebagaiAWS DeepLensmenggunakan model untukmengenali hewan peliharaan Anda.

62

AWS DeepLens Panduan DeveloperContoh Proyek Ikhtisar

• Model Proyek:memperdalam kucing-dan-anjing-pengakuan• Fungsi Proyek:memperdalam kucing-dan-anjing-pengakuan

Pengenalan TindakanProyek ini mengakui lebih dari 30 jenis kegiatan.

Ini menggunakan kerangka Apache MXNet untuk mentransfer pembelajaran dari SqueezeNet yangdilatih dengan ImageNet ke tugas baru. Jaringan telah disetel pada subset dari dataset UCF101 danmampu mengenali lebih dari 30 kegiatan yang berbeda. Model mengambil aliran video dariAWSDeepLensperangkat sebagai masukan dan label tindakan yang mengidentifikasi. Proyek ini menggunakanmodel terlatih dan dioptimalkan yang siap digunakan untuk AndaAWS DeepLensPerangkat.

Setelah menerapkan model, Anda dapat menontonAWS DeepLensmenggunakan model untuk mengenali37 kegiatan yang berbeda, seperti menerapkan makeup, menerapkan lipstik, berpartisipasi dalampanahan, bermain basket, bangku menekan, bersepeda, bermain biliar, meniup pengeringan rambut Anda,meniup lilin, bowling, menyikat gigi, memotong hal-hal di dapur, bermain drum, mendapatkan potonganrambut, memalu, handstand berjalan, mendapatkan pijat kepala, menunggang kuda, hula hooping,juggling, lompat tali, melakukan melompat jack, melakukan lunges, menggunakan nunchuck, bermaincello, bermain seruling, bermain gitar, bermain piano, bermain sitar, bermain biola, melakukan pushups,mencukur, ski, mengetik, berjalan anjing, menulis di papan, dan bermain dengan yo-yo.

• Model Proyek:memperdalam tindakan-pengakuan• Fungsi Proyek:memperdalam tindakan-pengakuan

Deteksi HeadProyek sampel ini menggunakan model pembelajaran mendalam yang dihasilkan dengan kerangkaTensorFlow untuk secara akurat mendeteksi orientasi kepala seseorang.

Proyek ini menggunakanResnet-50 arsitektur jaringan untuk mendeteksi orientasi kepala. Jaringan telahdilatih padaSet data Prima, yang terdiri dari 2.790 gambar wajah 15 orang, dengan variasi sudut pan dankemiringan dari -90 sampai +90 derajat. Kami mengkategorikan sudut pose kepala ini ke 9 head poseclasses: down right, right, up right, down, middle, up, down left, left, dan up left.

Untuk membantu Anda memulai, kami telah menyediakan model yang sudah terlatih dan dioptimalkanyang siap digunakan untuk AndaAWS DeepLensPerangkat. Setelah menerapkan model, Anda dapatmenontonAWS DeepLensmengenali berbagai pose kepala.

• Model Proyek: deteksi-dalam-kepala-pose-deteksi• Fungsi Proyek: deteksi-dalam-kepala-pose-deteksi

Klasifikasi burungProyek ini membuat prediksi atas 5 spesies burung dari foto burung statis yang ditangkap olehAWSDeepLenskamera.

Proyek ini menggunakanResnet-18 arsitektur jaringan saraf untuk melatih model denganSet data CUB-200.Model terlatih dapat mengidentifikasi 200 spesies burung yang berbeda. Karena jumlah kategori yangbesar, output proyek hanya atas 5 hasil kesimpulan yang paling mungkin. Untuk mengurangi kebisinganlatar belakang agar presisi yang lebih baik, zona yang dipotong yang terletak di tengah gambar kameradigunakan untuk inferensi. Anda dapat melihat zona yang dipotong dari streaming video proyek. Denganmemposisikan foto burung statis di zona kotak, hasil inferensi diilustrasikan di kiri atas tampilan proyek.

• Model Proyek:memperdalam deteksi burung

63

AWS DeepLens Panduan DeveloperMembuat dan Menyebarkan Proyek Sampel di Konsol

• Fungsi Proyek:memperdalam deteksi burung

Membuat dan MenyebarkanAWS DeepLensSampelProyek diAWS DeepLensKonsolDalam panduan ini, Anda akan menggunakanAWS DeepLenskonsol untuk membuatAWSDeepLensProyekTemplat proyek sampel Deteksi Objek (p. 61)untuk membuatAWS DeepLensproyek.Model deteksi objek yang telah terlatih sebelumnya dapat menganalisis gambar dari aliran videoyang ditangkap pada AndaAWS DeepLensperangkat dan mengidentifikasi objek sebagai salah satudari sebanyak 20 jenis gambar berlabel. Instruksi yang disajikan di sini berlaku untuk membuat danmenyebarkan lainnyaAWS DeepLensproyek sampel.

Saat membuat proyek sampel, bidang di konsol sudah diisi sebelumnya untuk Anda sehingga Anda dapatmenerima default. DiKonten Proyekbagian dari layar, Anda perlu mengetahui model proyek dan fungsiinferensi. Anda dapat menemukan informasi untuk proyek-proyek individu diAWS DeepLensContoh ProyekIkhtisar (p. 61).

Diagram berikut menyajikan gambaran umum tingkat tinggi dari proses untuk menggunakanAWSDeepLenskonsol untuk membuat dan menyebarkan proyek sampel.

Membuat dan Menyebarkan Proyek AndaIkuti langkah-langkah di bawah ini untuk membuat dan menyebarkan proyek sampel Object Detection.

Untuk membuat dan men-deployAWS DeepLensproyek sampel menggunakanAWSDeepLenskonsol

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. PilihProyek, kemudian pilihBuat proyek baru.3. PadaPilih tipe proyeklayar

64

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

a. PilihGunakan templat proyek, lalu pilih proyek sampel yang ingin Anda buat. Untuk latihan ini,pilihDeteksi objek.

b. Gulir ke bagian bawah layar, lalu pilihSelanjutnya.4. PadaTentukan rincian proyeklayar

a. DiInformasi ProyekBagian:

i. Entah menerima nama default untuk proyek, atau ketik nama yang Anda inginkan.ii. Entah menerima deskripsi default untuk proyek, atau ketik deskripsi yang Anda inginkan.

b. Pilih Create (Buat).

Ini akan mengembalikan Anda keProyeklayar di mana proyek yang baru saja Anda buat terdaftardengan proyek-proyek Anda yang lain.

5. PadaProyeklayar, pilih tombol radio di sebelah kiri nama proyek Anda atau pilih proyek untukmembuka halaman detail proyek, lalu pilihMenyebarkan ke perangkat.

6. PadaPerangkat targetlayar, dari daftarAWS DeepLensperangkat, pilih tombol radio di sebelah kiriperangkat yang ingin Anda gunakan untuk proyek ini. SesiAWS DeepLenshanya dapat mengerahkansatu proyek untuk itu dalam satu waktu.

7. Pilih Tinjau.

Jika proyek sudah dikerahkan ke perangkat, Anda akan melihat pesan kesalahan yang menyebarkanproyek ini akan menimpa proyek yang sudah berjalan pada perangkat. PilihLanjutkan Proyek.

Ini akan membawa Anda keMemeriksa dan menyebarkanlayar.8. PadaMemeriksa dan menyebarkanlayar, tinjau proyek Anda dan pilih salah satuSebelumnyauntuk

kembali dan membuat perubahan, atauDeployuntuk menyebarkan proyek.Important

Menyebarkan proyek menimbulkan biaya untukAWSlayanan yang digunakan untukmenjalankan proyek.

Untuk petunjuk tentang melihat output proyek Anda, lihatMelihatAWS DeepLensAliran output (p. 53).

RelaiAWS DeepLensOutput ProyekAWS SMSPada bagian ini, Anda mengambil proyek sampel “Pengakuan Hotdog” dan menambahkan beberapa fungsiberbasis aturan untuk membuatnyaAWS DeepLensmengirim pemberitahuan SMS setiap kali mendeteksihot dog. Meskipun kami menggunakan “Hotdog recognition” sampel proyek dalam topik ini, proses ini dapatdigunakan untuk setiap proyek, sampel atau kustom.

Bagian ini menunjukkan bagaimana untuk memperpanjangAWS DeepLensproyek untuk berinteraksidengan layanan AWS lainnya. Misalnya, Anda dapat memperpanjangAWS DeepLensuntuk membuat:

• Dasbor dan antarmuka pencarian untuk semua objek dan wajah yang terdeteksi olehAWSDeepLensdengan jadwal dan frame menggunakanAmazon OpenSearch Service.

• Model deteksi anomali untuk mendeteksi jumlah orang yang berjalan di depan toko Anda menggunakanKinesis Data Analytics.

• Aplikasi deteksi wajah dan pengenalan selebriti untuk VIP identitas di sekitar Anda menggunakanAmazon Rekognition.

Dalam latihan ini, Anda memodifikasi proyek yang sebelumnya Anda buat dan diedit (lihatGunakanSageMaker untuk Menyediakan Model Pra-terlatih untuk Proyek Sampel (p. 71)) untukmenggunakanAWS IoTaturan mesin danAWS Lambdafungsi.

65

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

Topik• Membuat dan Mengonfigurasi Fungsi Lambda (p. 66)• MenonaktifkanAWS IoTAturan (p. 70)

Membuat dan Mengonfigurasi Fungsi LambdaBuat dan konfigurasiAWS Lambdafungsi yang berjalan di Cloud dan memfilter pesan dariAWSDeepLensperangkat bagi mereka yang memiliki probabilitas yang cukup tinggi (> 0,5) menjadi hot dog.Anda juga dapat mengubah ambang probabilitas.

Buat Fungsi Lambda

1. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

Pastikan Anda telah memilih Wilayah AWS East (N. Virginia).2. Pilih Buat fungsi.3. Pilih Penulis dari scratch.4. Ketik nama untuk fungsi Lambda, misalnya,<your name>_hotdog_notifier.5. UntukIzin, pilihMembuat Peran baru dari templat kebijakan AWSdi bawahPeran eksekusi.6. Ketikkan nama untuk peran tersebut; misalnya,<your name>_hotdog_notifier.7. UntukTemplat KebijakanpilihKebijakan SNS PublishdanIzin AWS IoT.

66

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

67

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

8. Pilih Buat fungsi.

TambahkanAWS IoTAturan

Setelah fungsi Lambda berhasil dibuat, Anda perlu mengaturAWS IoTaturan untuk memicu tindakan yangAnda tentukan dalam fungsi Lambda Anda (langkah berikutnya) ketika suatu peristiwa terjadi di sumberdata. Untuk mengatur aturan, ikuti langkah-langkah di bawah ini untuk menambahkanAWS IoTmemicufungsi.

1. Pilih+ Tambahkan pemicu. Anda mungkin perlu memperluasDesainbagian di konsol Lambda, jikabelum diperluas.

2. PilihAWS IoTdi bawahKonfigurasi pemicu.3. UntukTipe IoTpilihAturan IoT kustom.4. Untuk Aturan, pilih Buat aturan baru.5. UntukNama aturan, ketik nama (<your-name>_search_hotdogs).6. Secara opsional, berikan deskripsi untuk aturan di bawahDeskripsi aturan.7. Di bawahpernyataan kueri aturan, ketik ke dalam kotakAWS IoTtopik pernyataan query dari format

berikut, menggantikan teks merah denganAWS IoTtopik untukAWS DeepLens.

Select Hotdog from '/$aws/deeplens/$aws/things/deeplens_5e6d406g-2bf4-4444-9d4f-4668f7366855/infer'

Kueri ini menangkap pesan dariAWS DeepLensdalam format JSON:

{ "Hotdog" : "0.5438" }

Untuk menemukanAWS IoTtopik untukAWS DeepLens, arahkan kePerangkatpadaAWS DeepLens,pilih perangkat Anda, lalu gulir ke bagian bawah halaman detail perangkat.

8. Beralih padaAktifkan pemicupilihan.9. PilihTambahkanuntuk menyelesaikan pembuatanAWS IoTaturan.

Konfigurasikan Fungsi Lambda

Konfigurasikan fungsi Lambda dengan mengganti kode default dengan kode khusus dan menambahkanvariabel lingkungan. Untuk proyek ini, Anda juga perlu memodifikasi kode kustom yang kami sediakan.

1. MasukAWS LambdapilihFungsi, lalu pilih nama fungsi Anda.2. Padanama-Anda_hotdog_notifierhalaman, pilihKonfigurasi.3. Dalam kotak kode fungsi, hapus semua kode.4. Tempel kode JavaScript berikut di kotak kode fungsi. Anda perlu mengubah satu baris dalam kode

untuk menunjukkan bagaimana Anda ingin mendapatkan notifikasi. Anda melakukannya di langkahselanjutnya.

/** * This is a sample Lambda function that sends an SMS notification when your * AWS DeepLens device detects a hot dog. * * Follow these steps to complete the configuration of your function: * * Update the phone number environment variable with your phone number. */

68

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

const AWS = require('aws-sdk');

/** Be sure to add email and phone_number to the function's environment variables*/const email = process.env.email;const phone_number = process.env.phone_number;const SNS = new AWS.SNS({ apiVersion: '2010-03-31' });

exports.handler = (event, context, callback) => { console.log('Received event:', event);

// publish message const params = { Message: 'Your AWS DeepLens device just identified a hot dog. Congratulations!', PhoneNumber: phone_number }; if (event.Hotdog > 0.5) { SNS.publish(params, callback); }};

5. Tambahkan salah satu baris kode berikut di lokasi yang ditunjukkan dalam blok kode. Pada langkahberikutnya, Anda menambahkan variabel lingkungan yang sesuai dengan perubahan kode yang Andabuat di sini.

• Untuk menerima pemberitahuan email:const email=process.env.email;• Untuk menerima notifikasi telepon:const phone_number=process.env.phone_number;

6. PilihVariabel lingkungandan tambahkan salah satu dari yang berikut:

Notifikasi oleh Kunci Nilai

Email email Alamat email lengkap Anda.

Contoh: [email protected]

Telepon phone_number Nomor telepon Anda dengan kodenegara.

Contoh: US +1 8005551212

Nilai kunci harus sesuai denganconstdi baris kode yang Anda tambahkan pada langkah sebelumnya.7. PilihSimpandanUji(di kanan atas).

Uji Konfigurasi Anda

Untuk menguji konfigurasi EFA dan NCCL Anda

1. Navigasikan keAWS IoTkonsol dihttps://console.aws.amazon.com/iot.2. Pilih Uji.3. Publikasikan pesan berikut ke topik yang Anda tetapkan dalam aturan Anda:{ "Hotdog" :

"0.6382" }.

Anda harus menerima pesan SMS yang Anda tetapkan dalam fungsi Lambda Anda: KlasterAWSDeepLensperangkat baru saja mengidentifikasi hot dog. Selamat!

69

AWS DeepLens Panduan DeveloperOutput Proyek Relay melalui SMS

Uji Menggunakan Proyek Hot Dog

Jika Anda belum mengerahkan proyek Hot Dog, lakukan hal berikut.

1. Arahkan kehttps://console.aws.amazon.com/deeplens/home?region=us-east-1#firstrun/danpilihlahProyek/Buat proyek Template/Hotdog atau Not Hotdog.

2. Terapkan proyek ke perangkat Anda.

Untuk informasi selengkapnya, lihat Membuat dan MenyebarkanAWS DeepLensSampel ProyekdiAWS DeepLensKonsol (p. 64).

3. TampilkanAWS DeepLenshot dog untuk melihat apakah mendeteksi dan mengirimkan pesankonfirmasi.

Untuk bereksperimen, ubah ambang probabilitas untuk memicu fungsi Lambda dan lihat apa yang terjadi.

MenonaktifkanAWS IoTAturanKecuali Anda inginAWS DeepLensuntuk terus memberi tahu Anda ketika melihat hot dog,menonaktifkanAWS IoTaturan.

1. Masuk keAWS IoTkonsol dihttps://console.aws.amazon.com/iot.2. PilihBertindak, lalu pilih aturan yang Anda buat untuk latihan ini,<your-name>_search_hotdogs.3. Di sudut kanan atas, pilihTindakan, kemudian pilihNonaktifkan.

70

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Gunakan SageMaker untuk Menyediakan Model Pra-terlatih untuk Proyek SampelDalam contoh ini, Anda mulai dengan model deteksi objek SqueezeNet dan menggunakan SageMakeruntuk melatihnya untuk melakukan klasifikasi biner untuk menentukan apakah sebuah objek adalah hotdog. Contoh menunjukkan cara mengedit model untuk melakukan klasifikasi biner, dan menjelaskan tingkatpembelajaran dan zaman. Kami telah menyediakan contoh notebook Jupyter, yang merupakan perangkatlunak open source untuk komputasi interaktif. Ini termasuk kode pengeditan untuk mengeksekusi danpenjelasan untuk seluruh proses.

Setelah melatih model, Anda mengimpor artefak keAWS DeepLens, dan membuat sebuah proyek. Andakemudian menonton sebagaiAWS DeepLensmendeteksi dan mengidentifikasi hot dog.

Topik• Langkah 1: Buat Bucket Amazon S3 (p. 72)• Langkah 2: Membuat Instans Notebook SageMaker (p. 73)• Langkah 3: Edit Model di SageMaker (p. 74)• Langkah 4: Optimalkan Model (p. 75)• Langkah 5: Impor model (p. 76)• Langkah 6: Buat Fungsi Inference Lambda (p. 77)• Langkah 7: Membuat BaruAWS DeepLensProyek (p. 78)• Langkah 8: Meninjau dan Menyebarkan Proyek (p. 79)• Langkah 9: Lihat Output Model Anda (p. 80)

71

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 1: Buat Bucket Amazon S3Sebelum memulai, pastikan Anda telah membuat akun AWS, serta pengguna dan peran IAM yangdiperlukan.

1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

2. Pilih Buat bucket.3. PadaNama dan wilayahTab:

a. Nama emberdeeplens-sagemaker-<some_string>, tempat<some_string>dapat berupastring apa saja untuk membuat nama bucket unik di AWS. Contohnya adalah nama akun atau IDAnda.

Note

Nama bucket harus dimulai dengandeeplens-sagemaker-untuk bekerja dengankebijakan akses default. Jika tidak, layanan tidak akan dapat mengaksesnya.

b. Pastikan Anda berada di wilayah US East (N. Virginia)c. Pilih Selanjutnya.

4. PadaKonfigurasi opsitab, pilihSelanjutnya.5. PadaMenyiapkan izintab, pilihHibah Amazon S3 Log Delivery akses ke bucket inidariMengelola izin

sistemmenu drop-down, lalu pilihSelanjutnya.6. PadaTinjautab, tinjau pengaturan Anda lalu pilihMembuat ember.7. Pada halaman bucket yang dibuat, pilihIkhtisartab dan kemudian pilihMembuat folder.8. Beri nama folderujimaka pilihlahSimpan.

Untuk menggunakan folder dengan contoh contoh notebook yang akan dibuat berikutnya, Anda harusmemberi nama folder sebagaitest, kecuali jika Anda mengubah nama folder default di notebook.

72

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 2: Membuat Instans Notebook SageMakerBuat instance notebook SageMaker

1. Buka konsol Amazon SageMakerhttps://console.aws.amazon.com/sagemaker/.

Pastikan bahwa Anda telah memilihus-east-1— Wilayah US East (Virginia N.)2. PilihInstans notebookdari panel navigasi lalu pilihBuat contoh notebook.3. PadaBuat contoh notebookhalaman, kemudian lakukan hal berikut:

a. Di bawahPengaturan instans notebook, ketik nama untuk notebook diNama contoh notebookfieldinput; misalnya,<your-name>-hotdog.

b. UntukTipe instans notebookpilihml.t2.medium.c. UntukIzin dan enkripsi, di bawahPeran IAMpilihMembuat peran baru, jika ini adalah pertama

kalinya Anda menjalankan notebook, ketikdeeplens-sagemakerdiBucket S3 spesifikfield input,dan kemudian pilihMembuat peran.

Setelah membuat instance notebook pertama untuk AWS DeepLens, Anda dapat memilih peranIAM yang tersedia dariMenggunakan peran yang adadaftar.

Jika Anda telah membuat peran AWSdeeplensSageMaker sebagai bagian dari pengaturan,pilihMasukkan ARN ARN IAM, tempelkan Amazon Resource Name (ARN) peran SageMakerAnda diARN IAMkotak. Anda dapat menemukan ARN peran SageMaker Anda sebagai berikut:

i. Buka konsol IAM di https://console.aws.amazon.com/iam/.ii. Di panel navigasi, pilih Peran.iii. TemukanAWSdeeplenssagemakerPerandan pilih namanya. Ini akan membawa Anda ke

peranRingkasanhalaman.iv. PadaRingkasanhalaman, cari dan salinARN Peran. ARN akan terlihat seperti ini:

arn:aws:iam::account id:role/AWSDeepLensSagemakerRole

d. Semua pengaturan lainnya bersifat opsional. Lewati mereka untuk latihan ini.

Tip

Jika Anda ingin mengakses sumber daya di VPC Anda dari instans notebook,pilihVPCdan aSubnetId. UntukGrup Keamanan, pilih grup keamanan default VPC. Aturaninbound dan outbound dari grup keamanan default cukup untuk latihan dalam panduanini.

e. PilihBuat Notebookinstance.

Instans notebook baru Anda sekarang tersedia diNotebookshalaman.

73

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 3: Edit Model di SageMakerDalam langkah ini, Anda membuka<your-name>-hotdognotebook dan mengedit model deteksi objeksehingga mengenali hot dog. Notebook berisi penjelasan untuk membantu Anda melalui setiap langkah.

1. Buka konsol Amazon SageMakerhttps://console.aws.amazon.com/sagemaker/.2. Pastikan Wilayah US East (N. Virginia) dipilih.3. Di panel navigasi, pilihInstans notebook.4. PadaNotebookshalaman, pilih tombol radio di sebelah kiri instance notebook yang baru Anda buat

(<your-name>-hotdog). Ketika status notebookInServicepilihBuka Jupiter.5. Buka tab baru di browser Anda dan arahkan kehttps://github.com/aws-samples/reinvent-2017-

deeplens-workshop.6. Unduh file.zip atau kloning repositori Git dengan perintah berikut. Jika Anda mengunduh file.zip, cari

dan ekstrak semua.

git clone [email protected]:aws-samples/reinvent-2017-deeplens-workshop.git

Jika Anda mengunduh file.zip, cari dan ekstrak semua.

Anda sekarang meng-upload file pelatihan dan menggunakannya untuk mengedit model.

1. Pada tab Jupyter, pilihUnggah.2. Arahkan ke file yang diekstraksideeplens-hotdog-or-not-hotdog.ipynbmaka pilihlahBuka,

kemudian pilihUnggah.3. Cari dan pilihmemperdalamkan-hotdog-atau-tidak-hotdognotebook.4. Di sudut kanan atas layar Jupyter, pastikan kernalconda_mxnet_p36. Jika tidak, ubah kernal.5. Dideeplens-hotdog-or-not-hotdog.ipynbfile, caribucket= 'your S3 bucket

name here'. Ganti'Nama ember s3 Anda di sini'dengan nama bucket S3 Anda,misalnyadeeplens-sagemaker-<your-name>.

Kembali ke bagian atas file.

Untuk setiap langkah (In [#]:) dalam file:

a. Baca deskripsi langkah.b. Jika blok memiliki kode di dalamnya, letakkan kursor Anda di blok kode dan jalankan blok kode.

Untuk menjalankan blok kode di Jupyter, gunakanCtrl+<Enter>atau pilih ikon jalankan ( ).

Important

Setiap langkah diberi nomor dalam mode sepertiIn [1]:. Sementara blokmengeksekusi, yang berubah menjadiIn [*]:. Ketika blok selesai mengeksekusikembali keIn [1]:. Jangan beralih ke blok kode berikutnya saat blok saat ini masihberjalan.

6. Setelah Anda selesai mengedit model, kembali ke konsol Amazon S3, pilih nama bucket Anda,pilihtestfolder, dan kemudian memverifikasi bahwa artefak berikut dari model diedit disimpan dalamfolder uji S3 bucket Anda.

• Hotdog_or_not_model-0000.Params• Hotdog_or_not_model-symbol.json

74

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 4: Optimalkan ModelSekarang bahwa Anda memiliki model MXNet terlatih ada satu langkah terakhir yang diperlukan sebelumAnda menjalankan model padaAWS DeepLensGPU. Model MXNet yang terlatih tidak datang dalamformat yang dioptimalkan secara komputasi. Jika kita menyebarkan model dalam format asli itu akanberjalan pada CPU melalui MXNet pada kecepatan sub optimal. Dalam rangka untuk menjalankan modelpada kecepatan optimal pada GPU kita perlu melakukan optimasi model. Untuk petunjuk tentang caramengoptimalkan model MXNet Anda, lihatOptimalkan Model Kustom (p. 83).

75

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 5: Impor modelImpor model yang diedit keAWS DeepLens.

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. PilihModel, kemudian pilihModel impor.3. UntukImpor model keAWS DeepLenspilihModel yang dilatih secara eksternal.4. UntukPengaturan model, lakukan hal berikut:

a. Untukartefak model, ketik jalur ke artefak yang Anda unggah ke bucket Amazon S3 di langkahsebelumnya. Jalan dimulai dengans3://deeplens-. Misalnya, jika Anda mengikuti penamaan diLangkah 1, jalan akans3://deeplens-sagemaker-<your-name>/<dir>.

b. UntukNama model, ketik nama untuk model.c. UntukDeskripsi model, ketikkan deskripsi.

5. PilihModel impor.

76

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 6: Buat Fungsi Inference LambdaMenggunakanAWS Lambdauntuk membuat fungsi Lambda yang menggunakan model Anda. Untukinstruksi khusus dengan kode sampel, lihatMembuat dan MempublikasikanAWS DeepLensFungsiLambda (p. 83).

77

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 7: Membuat BaruAWS DeepLensProyekSekarang buatAWS DeepLensproyek dan menambahkan model diedit untuk itu.

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. PilihProyek.3. PilihBuat proyek baru.4. UntukPilih tipe proyekpilihMembuat proyek kosong, kemudian pilihSelanjutnya.5. UntukInformasi Proyek, ketikkan nama dan deskripsi untuk proyek ini.6. UntukKonten ProyekpilihTambahkan model.7. Cari dan pilih model yang baru saja Anda buat, lalu pilihTambahkan model.8. PilihTambahkan fungsi, lalu pilih, misalnya,deeplens-hotdog-no-hotdog, kemudian

pilihTambahkan fungsi.9. Pilih Create (Buat).

78

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 8: Meninjau dan Menyebarkan Proyek1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. Dari daftar proyek, pilih proyek yang baru saja Anda buat, lalu pilihMenyebarkan ke perangkat.3. PilihAWS DeepLenssebagai perangkat target Anda, lalu pilihTinjau.4. Tinjau pengaturannya, lalu pilihDeploy.

Important

Menyebarkan proyek menimbulkan biaya untuk berbagaiAWSlayanan yang digunakan.

79

AWS DeepLens Panduan DeveloperGunakan SageMaker untuk

Menyediakan Model untuk Proyek

Langkah 9: Lihat Output Model AndaUntuk melihat output model Anda, ikuti petunjuk diMelihatAWS DeepLensAliran output (p. 53).

80

AWS DeepLens Panduan DeveloperBekerja dengan Proyek Kustom

Bekerja denganAWS DeepLensProyek KhususSetelah Anda menjelajahi satu atau beberapa proyek sampel, Anda mungkin ingin membuat danmenyebarkan proyek Anda sendiriAWS DeepLensproyek. Ini berarti bahwa Anda harus melakukan semuaatau sebagian besar hal berikut.

• Latih model pembelajaran mendalam kustom baik di SageMaker atau di tempat lain.• Impor model keAWS DeepLens.• Membuat dan mempublikasikan fungsi inferensi.• BuatAWS DeepLensproyek dan menambahkan model dan fungsi inferensi untuk itu.• Terapkan proyek keAWS DeepLensPerangkat.

Kami akan memandu Anda melalui tugas-tugas ini di bagian ini.

Topik• Impor Model Terlatih SageMaker Anda (p. 81)• Impor Model Terlatih Eksternal (p. 82)• Optimalkan Model Kustom (p. 83)• Membuat dan MempublikasikanAWS DeepLensFungsi Lambda (p. 83)• Membuat dan Menyebarkan KustomAWS DeepLensProyek (p. 88)• Gunakan SageMaker Neo untuk Mengoptimalkan Inferensi padaAWS DeepLens (p. 88)

Impor Model Terlatih SageMaker AndaUntuk menggunakan model terlatih SageMaker Anda untuk aplikasi visi komputer Anda, Anda harusmengimpornya keAWS DeepLens.

Untuk mengimpor model terlatih SageMaker Anda keAWS DeepLens

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. Dari panel navigasi, pilihModelmaka pilihlahModel impor.3. UntukMengimpor sumberpilihModel terlatih SageMaker.4. DiPengaturan modeldaerah:

a. Dari daftar pekerjaan yang telah selesai, pilihID pekerjaan pelatihan SageMakeruntuk model yangingin Anda impor.

ID pekerjaan harus dimulai dengandeeplens-, kecuali Anda telahdisesuaikanAWSDeepLensServiceRolePolicy(digunakan untuk mendaftarkan perangkat) untukmemperluas kebijakan untuk memungkinkanAWS DeepLensuntuk mengakses pekerjaanpelatihan SageMaker yang tidak dimulai dengandeeplens*.

Jika Anda tidak menemukan pekerjaan yang Anda cari dalam daftar, buka konsol SageMaker danperiksa status pekerjaan untuk memverifikasi bahwa itu telah berhasil diselesaikan.

b. UntukNama model, ketik nama yang Anda inginkan untuk model. Nama model dapat berisikarakter alfanumerik dan hypen, dan tidak lebih dari 100 karakter.

c. UntukDeskripsiAnda dapat secara opsional mengetik deskripsi untuk model Anda.d. PilihImpor model.

81

AWS DeepLens Panduan DeveloperImpor Model Terlatih Eksternal

Impor Model Terlatih EksternalUntuk menggunakan model yang terlatih secara eksternal, impor.

Untuk mengimpor model yang terlatih secara eksternal

1. Masuk keAWS Management ConsoleuntukAWS DeepLenspadahttps://console.aws.amazon.com/deeplens/.

2. Di panel navigasi, pilihModel, kemudian pilihImpor model.3. ke dalam UntukMengimpor sumberpilihModel yang dilatih secara eksternal.4. UntukPengaturan model, berikan informasi berikut.

a. UntukJalur artefak Model, ketik jalur lengkap ke lokasi Amazon Simple Storage Service (AmazonS3) yang dibuat saat Anda melatih model Anda. Jalan dimulai dengans3://deeplens-.Misalnya, jika Anda mengikuti konvensi penamaan yang kami gunakan di seluruh dokumentasi ini,jalurnya akans3://deeplens-sagemaker-your_name/<dir>.

b. UntukNama model, ketik nama. Nama model dapat memiliki maksimal 100 karakter alfanumerikdan hypens.

c. Tidak wajib. UntukDeskripsi, ketik deskripsi model.d. PilihModel impor.

82

AWS DeepLens Panduan DeveloperOptimalkan Model Kustom

Optimalkan Model KustomAWS DeepLens menggunakan Computer Library for Deep Neural Networks (CLDNN) untuk memanfaatkanGPU untuk melakukan inferensi. Jika artefak model Anda tidak kompatibel dengan format CLDNN, Andaharus mengonversi artefak model Anda dengan memanggil modul optimasi model (mo). Proses ini dikenalsebagai optimasi model. Model artefak keluaran oleh MXNet, Caffe atau TensorFlow tidak dioptimalkan.

Untuk mengoptimalkan artefak model Anda, hubungimo.optimize (p. 144)metode seperti yangdiilustrasikan dalam kode berikut:

error, model_path = mo.optimize(model_name,input_width,input_height)

Untuk memuat artefak model untuk kesimpulan dalam fungsi Lambda kesimpulan Anda, tentukanjalur artefak model pada perangkat. Untuk artefak model yang tidak dioptimalkan, Anda harusmenggunakanmodel_pathkembali dari metode panggilan di atas.

Model dikerahkan ke/opt/awscam/artifactsdirektori pada perangkat. Model artefak dioptimalkanserial ke dalam file XML dan Anda dapat menetapkan path file langsung kemodel_pathvariabel. Sebagaicontoh, lihat the section called “Buat dan Publikasikan Fungsi Lambda Kesimpulan” (p. 83).

Untuk artefak model MXNet, model optimizer dapat mengkonversi.jsondan.paramsfile. Untuk artefakmodel Caffe, model optimizer dapat mengambil.prototxtatau.caffemodelfile. Untuk artefak modelTensorFlow, optimizer model mengharapkan grafik beku (.pb).

Untuk informasi selengkapnya tentang optimizer model, lihatModel Optimasi (mo) Modul (p. 144).

Membuat dan MempublikasikanAWS DeepLensFungsiLambdaTopik ini menjelaskan cara menambahkanAWS Lambdafungsi inferensi untuk kustom AndaAWSDeepLensproyek. Kesimpulan adalah langkah di mana model ditampilkan gambar yang belum pernahdilihat sebelumnya dan diminta untuk membuat prediksi. Fungsi inferensi mengoptimalkan model untukberjalan padaAWS DeepLensdan feed setiap bingkai kamera ke dalam model untuk mendapatkan prediksi.Untuk fungsi inferensi, Anda menggunakanAWS Lambdauntuk membuat fungsi yang Anda gunakanAWSDeepLens. Fungsi inferensi berjalan secara lokal padaAWS DeepLensperangkat atas setiap frame yangkeluar dari kamera.

AWS DeepLensmendukung Lambda inferensi yang ditulis dengan Python 2.7 dan Python 3.7. Python 3.7membutuhkan perangkat lunak perangkat lunak v1.4.5. Anda akan menulis fungsi Lambda di browser dankemudian menyebarkannya untuk berjalanAWS DeepLens.

Untuk membuat dan mempublikasikan fungsi inferensi Lambda untukAWS DeepLensproyek

1. MengunduhAWS DeepLenstemplat fungsi inferensike komputer Anda. Jangan unzip file yangdidownload.

File zip berisi berikut ini:

• lambda_function.py— file ini berisi fungsi Lambda.AWS DeepLensakan menjalankan file inisetelah AndaAWS DeepLensproyek telah dikerahkan.

• local_display.py- File ini berisi kelas pembantu untuk menulis frame yang dimodifikasi darikamera ke dalam aliran video proyek.

• greengrasssdk— folder ini berisiAWS IoT GreengrassSDK. Ini digunakan untuk mengirim hasilprediksi kembali ke cloud atau ke perangkat IoT lain.

83

AWS DeepLens Panduan DeveloperBuat dan Publikasikan Fungsi Lambda Kesimpulan

Anda akan memodifikasilambda_function.pyuntuk menarik frame dari kamera, melakukaninferensi, dan mengirim prediksi kembali melaluiAWS IoT Greengrass.

2. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

3. PilihMembuat fungsi, kemudian pilihPenulis dari Scratch.4. DiInformasi dasarBagian:

a. Di bawahNama fungsi, ketikkan nama untuk fungsi Lambda Anda, misalnya,deeplens-object-detection.

Nama fungsi harus dimulai dengandeeplens.b. Di bawahWaktu pengoperasianpilihPython 2.7atauPython 3.7.c. Di bawahIzin, memperluasMemilih atau membuat peran eksekusi, jika belum diperluas.d. Di bawahPeran eksekusipilihMenggunakan peran yang ada.e. DariPeran yang adadaftar dropdown, pilihLayanan peran/awsdeeplenslambdarole, yang dibuat

saat Anda mendaftarkan perangkat Anda.5. Gulir ke bagian bawah halaman dan pilihMembuat fungsi.6. DiKode fungsibagian, lakukan hal berikut:

a. Di bawahTindakanpilihUnggah file .zip.b. Di bawahPaket fungsipilihUnggah, dan kemudian

pilihdeeplens_inference_function_template.zip.7. MemiilihSimpan(di sudut kanan atas konsol Lambda) untuk memuat fungsi dasar Lambda ke editor

kode.8. Di editor kode Lambda, bukalambda_function.py:

Pertahankan ketergantungan impor

Parametercv2perpustakaan memiliki ketergantungan padaawscammodul. JikaAnda memodifikasilambda_function.pytemplate, pastikan bahwa itu terusmengimporawscamsebelumcv2perpustakaan.

import jsonimport awscamimport moimport cv2import greengrasssdkimport osfrom local_display import LocalDisplay

def lambda_handler(event, context): """Empty entry point to the Lambda function invoked from the edge.""" return

def infinite_infer_run(): """ Run the DeepLens inference loop frame by frame""" # Load the model here while True: # Get a frame from the video stream ret, frame = awscam.getLastFrame() # Do inference with the model here # Send results back to IoT or output to video streaminfinite_infer_run()

84

AWS DeepLens Panduan DeveloperBuat dan Publikasikan Fungsi Lambda Kesimpulan

Mari kita periksa kode ini baris demi baris.

• Parameterjsonmodul memungkinkan fungsi Lambda Anda bekerja dengan data JSON danmengirim hasil kembali melaluiAWS IoT.

• Parameterawscammemungkinkan fungsi Lambda Anda untuk menggunakanAWS DeepLenspustakaperangkat (p. 138)untuk mengambil bingkai kamera, melakukan inferensi dengan modelyang dioptimalkan dan mengurai hasil inferensi. Untuk informasi selengkapnya, lihat ModelObyek (p. 139).

• Parametermomemungkinkan fungsi Lambda Anda untuk mengaksesAWS DeepLensoptimizermodel. Ini mengoptimalkan model yang dilatih di cloud untuk berjalan secara efisien pada GPUDeepLens. Untuk informasi selengkapnya, lihat Model Optimasi (mo) Modul (p. 144).

• Parametercv2modul memungkinkan fungsi Lambda Anda mengaksesBuka CVperpustakaan yangdigunakan untuk preprocessing gambar.

• ParametergreengrasssdkmengeksposAWS IoT GreengrassAPI untuk fungsi Lambda untukmengirim pesan ke AWS Cloud, termasuk mengirimkan status operasional dan hasil inferensikeAWS IoT.

• Parameterlocal_displayfile berisi kelas pembantu untuk menulis ke aliran video proyek. Inimembantu Anda menggambar kotak pembatas atau teks langsung ke aliran video DeepLens.

• Parameterlambda_handlerbiasanya di mana Anda menempatkan kode untuk fungsi Lambdayang dipanggil sekali dan kemudian berhenti. Kami ingin fungsi LambdaAWS DeepLensuntukmenjalankan dan memproses frame terus menerus. Kami akan pergilambda_handlerkosong danmendefinisikan fungsi laininfinite_infer_runyang bisa berjalan selamanya.

• Parameterinfinite_infer_runfungsi berisiwhilelingkaran yang berjalan selamanya. Inimenarik menggunakanawscam.getLastFrameuntuk menarik frame dari kamera pada setiapiterasi.

9. Pada langkah ini, Anda menambahkan kode untuk memuat model inferensi dan meneruskan bingkaikamera untuk mendapatkan prediksi. Untuk contoh ini, kami berasumsi bahwa Anda telah melatihmodel untuk membedakan antara seekor anjing dan kucing.

Di editor kode Lambda, di bawah komentar# Load the model here, tambahkan berikut ini:

# Model detailsinput_width = 224input_height = 224model_name = 'image-classification'model_type = 'classification'output_map = {0: 'dog', 1: 'cat'}

# Optimize the modelerror, model_path = mo.optimize(model_name,input_width,input_height)

# Load the model onto the GPU.model = awscam.Model(model_path, {'GPU': 1})

AWS DeepLensmenggunakan model optimizer Intel OpenVino untuk mengoptimalkan model yangdilatih di cloud.model_nameadalah nama file model yang ingin Anda muat. Untuk model yang dilatihdengan Amazon SageMaker, model ini biasanya memiliki 2 file: a<model_name>-symbol.jsonfiledan a<model_name>-###.paramsBerkas.

input_widthdaninput_heightlihat ukuran gambar yang digunakan untuk melatih jaringan Anda.Selama inferensi, gambar berukuran sama diteruskan.

model_typeakan memberitahuawscampaket bagaimana mengurai hasil. Jenis model lainnyatermasukssd(detektor tembakan tunggal) dansegmentation.

85

AWS DeepLens Panduan DeveloperBuat dan Publikasikan Fungsi Lambda Kesimpulan

output_mapmembantu mengubah hasil integer dari model kembali ke label yang dapat dibacamanusia.

10. Pada langkah ini, Anda menambahkan kode untuk melewatkan bingkai kamera melalui model untukmendapatkan prediksi.

Di editor kode Lambda, di bawah komentar# Do inference with the model here, tambahkanberikut ini:

frame_resize = cv2.resize(frame, (input_height, input_width))predictions = model.doInference(frame_resize)parsed_inference_results = model.parseResult(model_type, predictions)

Dalam kode ini, kita mengubah ukuran bingkai kamera menjadi ukuran yang sama dengan inputgambar yang digunakan untuk melatih model. Selanjutnya, kita melakukan inferensi dengan modelpada frame diubah ukurannya ini. Akhirnya, gunakanawscam parseResultuntuk mengubahprediksi menjadi kamus yang dapat dengan mudah diurai. Untuk informasi lebih lanjut tentangoutputparseResult, lihatModel.Parseresult.

11. Pada langkah ini, Anda menambahkan kode untuk mengirim hasilnya kembaliAWS IoT. Hal inimemudahkan untuk merekam hasil dalam database atau memicu tindakan berdasarkan prediksi.

Dalam editor kode Lambda, dalam fungsiinfinite_infer_run, di bawah""" Run the DeepLensinference loop frame by frame""", tambahkan berikut ini:

# Create an IoT client for sending to messages to the cloud.client = greengrasssdk.client('iot-data')iot_topic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME'])

# Create a local display instance that will dump the image bytes to a FIFO# file that the image can be rendered locally.local_display = LocalDisplay('480p')local_display.start()

Kode ini melakukan dua tugas:

• Instantiates sebuahAWS IoT GreengrassSDK (greengrasssdk) untuk membuat output inferensitersedia untuk AWS Cloud. Ini termasuk mengirimkan info proses dan hasil yang diproses keAWSIoTtopik (iot_topic). Topik ini memungkinkan Anda melihatAWS DeepLensoutput sebagai dataJSON bukan aliran video.

• Memulai thread (local_display.start) untuk memberi makan bingkai video yang diuraiuntuk tampilan lokal (LocalDisplay). Layarnya bisapada perangkat (p. 56)atau dalamperambanweb (p. 54).

Menambahkan kode berikut# Send results back to IoT or output to videostreamuntuk mengirim hasil kembali frame-by-frame:

# Add the label of the top result to the frame used by local display.cv2.putText(frame, output_map[top_k[0]['label']], (10, 70),cv2.FONT_HERSHEY_SIMPLEX, 3, (255, 165, 20), 8)# Set the next frame in the local display stream.local_display.set_frame_data(frame)# Send the top k results to the IoT console via MQTTcloud_output = {}for obj in top_k: cloud_output[output_map[obj['label']]] = obj['prob']client.publish(topic=iot_topic, payload=json.dumps(cloud_output))

86

AWS DeepLens Panduan DeveloperBuat dan Publikasikan Fungsi Lambda Kesimpulan

12. MemiilihSimpanuntuk menyimpan fungsi Lambda yang diperbarui. Fungsi Anda akan terlihat sepertiberikut ini:

import jsonimport awscamimport moimport cv2import greengrasssdkimport osfrom local_display import LocalDisplay

def lambda_handler(event, context): """Empty entry point to the Lambda function invoked from the edge.""" return

def infinite_infer_run(): """ Run the DeepLens inference loop frame by frame""" # Create an IoT client for sending to messages to the cloud. client = greengrasssdk.client('iot-data') iot_topic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME'])

# Create a local display instance that will dump the image bytes to a FIFO # file that the image can be rendered locally. local_display = LocalDisplay('480p') local_display.start() # Load the model here # Model details input_width = 224 input_height = 224 model_name = 'image-classification' model_type = 'classification' output_map = {0: 'dog', 1: 'cat'} # Optimize the model error, model_path = mo.optimize(model_name,input_width,input_height) # Load the model onto the GPU. model = awscam.Model(model_path, {'GPU': 1}) while True: # Get a frame from the video stream ret, frame = awscam.getLastFrame() # Do inference with the model here # Resize frame to the same size as the training set. frame_resize = cv2.resize(frame, (input_height, input_width)) predictions = model.doInference(frame_resize) parsed_inference_results = model.parseResult(model_type, predictions)

k = 2 # Get top k results with highest probabilities top_k = parsed_inference_results[model_type][0:k] print(top_k) # Send results back to IoT or output to video stream # Add the label of the top result to the frame used by local display. cv2.putText(frame, output_map[top_k[0]['label']], (10, 70), cv2.FONT_HERSHEY_SIMPLEX, 3, (255, 165, 20), 8) # Set the next frame in the local display stream. local_display.set_frame_data(frame) # Send the top k results to the IoT console via MQTT cloud_output = {} for obj in top_k: cloud_output[output_map[obj['label']]] = obj['prob'] client.publish(topic=iot_topic, payload=json.dumps(cloud_output))infinite_infer_run()

87

AWS DeepLens Panduan DeveloperMembuat dan Menyebarkan Proyek Kustom

13. DariTindakandaftar menu dropdown, pilihMenerbitkan versi baru. Ketika Anda mempublikasikan fungsi,itu menjadi tersedia diAWS DeepLenskonsol dan tersedia untuk ditambahkan ke proyek kustom Anda.

Membuat dan Menyebarkan KustomAWSDeepLensProyek

Topik• Buat Proyek Kustom Anda MenggunakanAWS DeepLensKonsol (p. 88)

Buat Proyek Kustom Anda MenggunakanAWS DeepLensKonsolProsedur berikut menciptakan sebuah customAWS DeepLensproyek yang berisi model dan inferensifungsi custom-terlatih berdasarkan model. Anda harus mengimpor model Anda, membuat dan menerbitkaninferensi kustom &LAM; fungsi sebelum melanjutkan lebih lanjut.

Untuk membuat kustomAWS DeepLensmenggunakanAWS DeepLenskonsol

Langkah-langkah untuk membuat proyek mencakup dua layar. Pada layar pertama Anda memilih proyekAnda. Pada layar kedua, Anda menentukan rincian proyek.

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/.2. MemiilihProyek, kemudian pilihBuat proyek baru.3. PadaPilih tipe proyekhalaman, pilihMembuat proyek kosong.4. PadaTentukan rincian proyekhalaman, di bawahInformasi Proyek, lakukan hal berikut:

a. MasukNama Proyekketik nama, misalnya,my-cat-and-dog-detection, untuk mengidentifikasiproyek kustom Anda.

b. Opsional, diDeskripsi -Opsionalberikan deskripsi untuk proyek kustom Anda.5. Masih diTentukan rincian proyekhalaman, di bawahKonten Proyek, lakukan hal berikut:

a. MemiilihTambahkan model, pilih tombol radio di samping nama model kustom Anda yang telahAnda impor keAWS DeepLens, dan, kemudian, pilihTambahkan model.

b. MemiilihTambahkan fungsi, pilih tombol radio di samping nama fungsi inferensi kustom yang telahAnda buat dan publikasikan, lalu pilihTambahkan fungsi.

Jika Anda tidak melihat fungsi Anda ditampilkan, pastikan bahwa fungsi tersebut dipublikasikan.c. MemiilihBuatuntuk mulai membuat proyek kustom Anda.

6. PadaProyekhalaman, pilih proyek yang baru saja Anda buat.7. MemiilihMenyebarkan ke perangkatdan ikuti petunjuk di layar untuk men-deploy proyek ke perangkat

Anda.

Gunakan SageMaker Neo untuk MengoptimalkanInferensi padaAWS DeepLensModel terlatih mungkin tidak dioptimalkan untuk menjalankan inferensi pada perangkat Anda. SebelumAnda menerapkan model terlatih untuk AndaAWS DeepLens, Anda dapat menggunakanSageMakerNeountuk mengoptimalkannya untuk menjalankan inferensi padaAWS DeepLensperangkat keras.Prosesnya melibatkan langkah-langkah berikut:

88

AWS DeepLens Panduan DeveloperGunakan Neo untuk Mengoptimalkan Inferensi

1. Kompilasi model.2. Impor model yang dikompilasi ke dalamAWS DeepLenskonsol.3. Menyebarkan model yang dikompilasi keAWS DeepLensPerangkat.4. Muat model yang dikompilasi ke dalam runtime Neo dari mesin inferensi.

Kami menyarankan Anda menggunakan model yang dikompilasi NEO untuk meningkatkan kinerja inferensidengan sedikit usaha di pihak Anda.

Topik• KompilasiAWS DeepLensModel (p. 89)• Impor Model yang Disusun ke dalamAWS DeepLensKonsol (p. 90)• Memuat Model yang Disusun ke dalamAWS DeepLensMesin inferensi (p. 90)

KompilasiAWS DeepLensModelUntuk menggunakan Neo untuk mengkompilasi model, Anda dapat menggunakanAWS CLImembuat danmenjalankan sebuah tugas kompilasi. Pertama buat file konfigurasi pekerjaan di JSON untuk menentukanhal berikut: Bucket Amazon S3 untuk memuat artefak model mentah dari, format data pelatihan, dankerangka machine learning, yang menunjukkan bagaimana pekerjaan dijalankan.

File JSON contoh berikut menunjukkan cara menentukan konfigurasi tugas. Sebagai contoh, file diberinamaneo_deeplens.json.

{ "CompilationJobName": "deeplens_inference", "RoleArn": "arn:aws:iam::your-account-id:role/service-role/AmazonSageMaker-ExecutionRole-20190429T140091", "InputConfig": { "S3Uri": "s3://your-bucket-name/headpose/model/deeplens-tf/train/model.tar.gz", "DataInputConfig": "{\"data\": [1,84,84,3]}", "Framework": "TENSORFLOW" }, "OutputConfig": { "S3OutputLocation": "s3://your-bucket-name/headpose/model/deeplens-tf/compile", "TargetDevice": "deeplens" }, "StoppingCondition": { "MaxRuntimeInSeconds": 300 }}

ParameterInputConfig.S3Urinilai properti menentukan jalur S3 untuk artefak model terlatih.ParameterS3OutputLocationnilai properti menentukan folder S3 berisi artefak model Neo-dikompilasi.Format data input yang ditentukan dalamDataInputConfignilai properti harus konsisten dengan formatdata pelatihan asli. Untuk informasi selengkapnya tentang nilai-nilai properti konfigurasi tugas kompilasi,lihatCreateCompilationJob.

Untuk membuat dan menjalankan pekerjaan Neo, ketik berikutAWS CLIperintah di jendela terminal.

aws sagemaker create-compilation-job \--cli-input-json file://neo_deeplens.json \--region us-west-2

SelainAWS CLI, Anda juga dapat menggunakan konsol SageMaker atau SageMaker SDK untuk membuatdan menjalankan pekerjaan kompilasi. Untuk mempelajari selengkapnya, lihat penggunaankonsolSageMakerdanSageMaker SDKuntuk mengkompilasi model terlatih.

89

AWS DeepLens Panduan DeveloperGunakan Neo untuk Mengoptimalkan Inferensi

Impor Model yang Disusun ke dalamAWS DeepLensKonsolBagian ini menjelaskan cara mengimpor model yang dikompilasi. Ketika langkah-langkah ini selesai, Andadapat men-deploy model ke perangkat AWS DeepLens Anda dan kemudian menjalankan inferensi.

Untuk mengimpor model neo-compiled ke dalamAWS DeepLenskonsol

1. Men-download model yang dikompilasi dari folder S3 seperti yang ditentukanolehS3OutputLocationjalur.

2. Di komputer Anda, buat folder (dikompilasi-model-folder) untuk membongkar modelyang dikompilasi ke dalam. Perhatikan nama folder karena Anda membutuhkannya nanti untukmengidentifikasi model yang dikompilasi.

mkdir compiled-model-folder

3. Jika Anda menggunakan komputer macOS, atur bendera berikut.

COPYFILE_DISABLE=1

4. Membongkar model yang didownload ke dalam folder (dikompilasi-model-folder).

tar xzvf model-deeplens.tar.gz -C compiled-model-folder

5. Kompres folder model yang dikompilasi.

tar czvf compiled-model-foler.tar.gz compiled-model-folder

6. Unggah folder model terkompresi dikompilasi ke S3. Perhatikan jalur S3 target. Andamenggunakannya mengimpor model di langkah berikutnya.

7. Pergi keAWS DeepLenskonsol dan impor model menentukan jalur S3 yang dipilih pada langkahsebelumnya. Dalam pengaturan model, atur kerangka model keOther.

Model yang dikompilasi sekarang siap untuk penyebaran ke AndaAWS DeepLensPerangkat. Langkah-langkah untuk menyebarkan model yang dikompilasi sama dengan model yang tidak dikompilasi.

Memuat Model yang Disusun ke dalamAWS DeepLensMesininferensiUntuk memuat model yang dikompilasi ke dalamAWS DeepLensmesin inferensi, tentukannama folder yang berisi artefak model dikompilasi dan runtime Neo. Lakukan ini ketika Andainstantiateawscam.Modelkelas dalam fungsi Lambda. Contoh kode berikut mendemonstrasikan hal ini.

import awscammodel = awscam.Model('compiled-model-folder', {'GPU': 1}, runtime=1)ret, image = awscam.getlastFrame()infer_results = model.doInference(image)

Fungsi sekarang berjalan inferensi dengan model dikompilasi dalam runtime Neo. Untuk menggunakanmodel yang dikompilasi untuk inferensi, Anda harus mengaturruntime=1dan pilih GPU ({'GPU' : 1})saat membuatmodelobjek.

Outputinfer_resultsmengembalikan hasil inferensi mentah sebagai objek kamus, dimanainfer_results[i]memegang hasilithlapisan output. Misalnya, jika jaringan klasifikasi gambar

90

AWS DeepLens Panduan DeveloperMembangun Tutorial Proyek

(misalnya, resnet-50) hanya memiliki satu lapisan output Softmax,infer_results[0]adalah arrayNumpy dengan ukuranN x 1yang memberikan probabilitas untuk masing-masingNgambar berlabel.

MembangunAWS DeepLensTutorial ProyekBagian ini menyajikan tutorial end-to-end untuk memandu Anda melalui bangunan, penyebaran danpengujianAWS DeepLensproyek dengan model pembelajaran mendalam yang dilatih dalam kerangka kerjapembelajaran mesin yang didukung.

Topik• Membangun dan Menjalankan Proyek Deteksi Pose Kepala dengan Model TensorFlow-

terlatih (p. 91)

Membangun dan Menjalankan Proyek Deteksi PoseKepala dengan Model TensorFlow-terlatihDalam tutorial ini, kami akan memandu Anda meskipun proses end-to-end untuk membangun danmenjalankanAWS DeepLensproyek untuk mendeteksi pose kepala. Proyek ini didasarkan pada proyeksampel deteksi kepala pose. Secara khusus, Anda akan belajar:

1. Cara melatih model visi komputer menggunakan kerangka TensorFlow di SageMaker, termasukmengubah artefak model ke format protobuff untuk digunakan olehAWS DeepLens.

2. Cara membuat inferensi fungsi Lambda untuk menyimpulkan pose kepala berdasarkan frame yangdiambil dari umpan video dariAWS DeepLenskamera video.

3. Cara membuatAWS DeepLensproyek untuk menyertakan model pembelajaran mendalam yang terlatihSageMaker dan fungsi inferensi Lambda.

4. Bagaimana cara menyebarkan proyek keAWS DeepLensperangkat untuk menjalankan proyek danmemverifikasi hasil.

Topik• Dapatkan Proyek Sampel AWS di GitHub (p. 91)• Menyiapkan Project Data Store di Amazon S3 (p. 93)• Siapkan Data Input untuk Pelatihan Di SageMaker (p. 94)• Melatih Model Deteksi Pose Kepala di SageMaker (p. 95)• Buat Fungsi Inference Lambda untuk Mendeteksi Pose Kepala (p. 100)• Membuat dan Menyebarkan Proyek Deteksi Pose Kepala (p. 106)

Dapatkan Proyek Sampel AWS di GitHubTutorial ini didasarkan padaproyek sampel deteksi pose kepala (p. 63). Kode sumber proyek sampel,termasukskrip prapemrosesandigunakan untuk mempersiapkan input data dari aslinyaDatabase GambarPose Kepala, tersedia diGitHub.

91

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

File Headpose_Resnet50_Tutorial.ipynb menyediakan template Notebook sebagai titik awal untuk belajardan mengeksplorasi pelatihan model kami. preprocessingDataset_py2.py dapat digunakan apa adanyauntuk menyiapkan data input untuk pelatihan.

92

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

Anda dapat men-download dan uncompress file proyek GitHub zip ke drive lokal. Atau Anda dapatmengkloning proyek GitHub. Untuk mengkloning proyek, buka jendela terminal dan ketik perintah Gitberikut dalam direktori kerja yang diberikan:

git clone https://github.com/aws-samples/headpose-estimator-apache-mxnet

Secara default, folder proyek yang diunduh atau dikloning adalahheadpose-estimator-apache-mxnet-master. Kita akan menggunakan nama folder default ini untuk folder proyek di seluruh tutorial ini.

Memiliki proyek GitHub sebagai template, kita sekarang siap untuk mulai membangun proyek kamidenganmenyiapkan penyimpanan data proyek di S3 (p. 93).

Menyiapkan Project Data Store di Amazon S3Untuk proyek ini, kita akan menggunakan SageMaker untuk melatih model. Untuk melakukannya, kita perlumenyiapkan bucket S3 dan empat subfolder untuk menyimpan masukan yang diperlukan untuk pekerjaanpelatihan dan output yang dihasilkan oleh pekerjaan pelatihan.

Kami akan membuat bucket Amazon S3 dan menamainyadeeplens-sagemaker-models-<my-name>.Isi nama Anda atau beberapa ID di<my-name>placeholder untuk membuat nama bucket unik. Di dalambucket ini, kami membuatheadposefolder untuk menyimpan data untuk melatih model khusus untukdeteksi pose kepala.

Kami kemudian membuat empat subfolder berikut di bawahheadposefolder:

• deeplens-sagemaker-models-<my-name>/headpose/TFartifacts: untuk menyimpan outputpelatihan, yaitu, artefak model terlatih.

• deeplens-sagemaker-models-<my-name>/headpose/customTFcodes

• deeplens-sagemaker-models-<my-name>/headpose/datasets: untuk menyimpan inputpelatihan, gambar yang telah diproses sebelumnya dengan pose kepala yang dikenal.

• deeplens-sagemaker-models-<my-name>/headpose/testIMs

Ikuti langkah-langkah di bawah ini untuk membuat bucket dan folder menggunakan konsol Amazon S3:

1. Buka konsol Amazon S3 dihttps://console.aws.amazon.com/s3/home?region=us-east-1.2. Jika bucket Amazon S3 belum ada, pilih+ Membuat bucketdan kemudian ketikdeeplens-

sagemaker-models-<my-name>diNama bucket, gunakan nilai default untuk opsi lain, dan pilihBuat.Jika tidak, klik dua kali nama bucket yang ada untuk memilih bucket.

3. Memiilih+ Buat folder, ketikheadposesebagai nama folder, lalu pilihSimpan.4. Pilihheadposefolder baru saja dibuat, dan kemudian pilih+ Buat folderuntuk membuat empat subfolder

(bernamaTFartifacts,customTFcodes,datasets,testIMs) di bawahheadpose, satu per waktu.

93

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

Selanjutnya, kita perlumenyiapkan data input untuk pelatihan di SageMaker (p. 94).

Siapkan Data Input untuk Pelatihan Di SageMakerAslikepala pose database gambar (file HeadPoseImageDatabase.tar.gz)terdiri dari satu set gambar(file.jpeg) dan label (file.txt) dari pose kepala 15 orang dalam serangkaian posisi tilt dan pan. Mereka harusdiubah menjadi file.pkl tunggal sebagai masukan untuk pekerjaan pelatihan SageMaker.

Untuk mempersiapkan data pelatihan, Anda dapat menggunakan skrip preprocessing(preprocessingDataset_py2.py) yang disediakan dalamProyek Contoh Pose Kepala di Github (p. 91).Anda dapat menjalankan skrip ini di komputer Anda secara lokal atau di AWS Cloud melalui instanceNotebook Python. Pada bagian ini, Anda akan mempelajari cara menyiapkan data pelatihan secara lokal.Anda akan belajar bagaimana melakukannya dalam contoh Notebook dithe section called “Melatih ModelDeteksi Pose Kepala di SageMaker” (p. 95).

1. Buka terminal dan ubah direktori ke direktori tempat Anda mengunduhproyek sampel posekepala (p. 91).

2. Jalankan perintah Python (versi 2.7) berikut

python preprocessingDataset_py2.py --num-data-aug 15 --aspect-ratio 1

94

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

Jika Anda mendapatkan kesalahan yang menyatakan bahwacv2modul tidak ditemukan, jalankanperintah berikut untuk menginstal modul yang hilang:

python -m pip install opencv-python

Kemudian, jalankan ulang skrip preprocessing.

Proses ini membutuhkan waktu 15-20 jam untuk diselesaikan. Script preprocessing output hasilsebagai file HeadPoseData_TRN_Test_x15_py2.pkl dalam direktori kerja saat ini.

3. Unggah file data pelatihan yang telah diproses sebelumnya (HeadPoseData_TRN_Test_x15_Py2.pkl)ke dalamdeeplens-sagemaker-models-<my-name>/headpose/datasetsfolder di Amazon S3.Anda dapat melakukan ini menggunakan konsol Amazon S3 atau, seperti yang ditunjukkan sebagaiberikut, menggunakan yang berikutCLIperintah:

aws s3 cp HeadPoseData_trn_test_x15_py2.pkl s3://deeplens-sagemaker-models-<my-name>/headpose/datasets

Note

Alih-alih berjalan secara lokal, Anda dapat menyiapkan data input di AWS Cloud dengan sel kodedalam instance notebook SageMaker, di manacv2dan Python 2.7 (python2) sudah tersedia, danjalankan perintah diLangkah 2danLangkah 3, masing-masing, sebagai berikut:

!python2 preprocessingDataset_py2.py --num-data-aug 15 --aspect-ratio 1

and

!aws s3 cp HeadPoseData_trn_test_x15_py2.pkl s3://deeplens-sagemaker-models-<my-name>/headpose/datasets

Contoh notebook Anda perlu berjalan pada contoh EC2 yang cukup kuat,misalnya,ml.p2.xlargejenis.

Sekarang setelah kita memiliki data input yang disiapkan dan disimpan di S3, kita siapmelatihmodel (p. 95).

Melatih Model Deteksi Pose Kepala di SageMakerUntuk melatih model kami di SageMaker, ikuti langkah-langkah di bawah ini untuk membuat Notebookmenggunakan konsol SageMaker:

Buat Notebook SageMaker

1. Masuk ke konsol SageMakerhttps://console.aws.amazon.com/sagemaker/home?region=us-east-1.2. Dari panel navigasi utama, pilihInstans notebook.3. Di bawahPengaturan instans notebookpadaBuat contoh notebookHalaman, lakukan hal berikut:

a. Di bawahNama contoh notebook, jenisTFHeadpose.b. Meninggalkan nilai default untuk semua opsi lainnya.c. Pilih Buat instans notebook.

4. Di sampingTFHeadPosecontoh notebook, pilihBuka, setelah status contoh notebook menjadiInService.5. Di sudut kanan atas, pilihUnggahuntuk mulai mengimpor contoh notebook dan file lain yang

diperlukan.

95

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

6. Dalam file picker, arahkan keHeadpost_Sagemaker_PythonSDKfolder di sebelumnya kloning ataudownloadheadpose-estimator-apache-mxnet-masterfolder proyek. Kemudian, pilih file berikut:

• resnet_headpose.py: Ini adalah naskah yang mendefinisikan alur kerja untukpelatihan dengan arsitektur jaringan pembelajaran mendalam yang ditentukan dalampendampingresnet_model_headpose.pyfile yang diterapkan pada data input yang ditentukan.

• resnet_model_headpose.py: Ini adalah skrip Python yang mengatur arsitektur jaringan pembelajaranmendalam yang digunakan untuk melatih model kami untuk deteksi pose kepala.

• tensorflow_resnet_headpost_for_deeplens.ipynb: Ini adalah contoh Notebook untuk menjalankanpekerjaan SageMaker untuk mengelola pelatihan mengikuti skripresnet_headpose.py, termasukpersiapan data dan transformasi.

Kemudian, chooseBuka.

Jika Anda berniat menjalankan skrip preprocessing di AWS Cloud, navigasikan keheadpose-estimator-apache-mxnet-masterfolder, pilihpreprocessingDataset_py2.py, dan chooseBuka.

7. PadaBerkastab diTFHeadPosenotebook, pilihUnggahuntuk masing-masing file yang baru dipilih untukmenyelesaikan mengimpor file ke notebook. Anda sekarang siap untuk menjalankan tugas SageMakeruntuk melatih model Anda.

8. Memiilihtensorflow_resnet_headpose_for_deeplens.ipynbuntuk membuka contoh notebook di tabbrowser terpisah. Contoh notebook memungkinkan Anda melangkah melalui tugas yang diperlukanuntuk menjalankan pekerjaan SageMaker untuk melatih model Anda dan mengubah artefak model keformat yang didukung olehAWS DeepLens.

9. Jalankan tugas SageMaker untuk melatih model Anda dalam instance notebook. Implementasidisajikan dalam sel kode terpisah yang dapat dijalankan secara berurutan.

a. Di bawahSiapkan Lingkungan, sel kode berisi kode Python untuk mengkonfigurasi penyimpanandata untuk input dan output dari pekerjaan pelatihan model SageMaker.

import osimport sagemakerfrom sagemaker import get_execution_role

s3_bucket = 'deeplens-sagemaker-models-<my-name>'headpose_folder = 'headpose'

#Bucket location to save your custom code in tar.gz format.custom_code_folder = 'customTFcodes'custom_code_upload_location = 's3://{}/{}/{}'.format(s3_bucket, headpose_folder, custom_code_folder)

#Bucket location where results of model training are saved.model_artifacts_folder = 'TFartifacts'model_artifacts_location = 's3://{}/{}/{}'.format(s3_bucket, headpose_folder, model_artifacts_folder)

#IAM execution role that gives SageMaker access to resources in your AWS account.#We can use the SageMaker Python SDK to get the role from our notebook environment.

role = get_execution_role()

Untuk menggunakanBucket dan folder S3 (p. 93)sebagai penyimpanan data, tetapkannama bucket S3 Anda (misalnya,deeplens-sagemaker-models-<my-name>)kes3_bucketvariabel. Pastikan semua nama folder yang ditentukan sesuai dengan yang Andamiliki di bucket Amazon S3.

Untuk mengeksekusi blok kode ini, pilihJalankandari bilah menu instance notebook.

96

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

b. Di bawahBuat pekerjaan pelatihan menggunakan estimator SageMaker.TensorFlow.TensorFlow,sel kode berisi cuplikan kode yang melakukan tugas-tugas berikut:

1. InstantiateSageMaker.TensorFlow.TensorFlowkelas estimator (estimator), dengan naskahpelatihan dan konfigurasi proses yang ditentukan.

2. Mulai melatih model (estimator.fit(…)) dengan estimator, dengan data pelatihan dipenyimpanan data tertentu.

Cuplikan kode ditunjukkan sebagai berikut:

from sagemaker.tensorflow import TensorFlow

source_dir = os.path.join(os.getcwd())

# AWS DeepLens currently supports TensorFlow version 1.4 (as of August 24th 2018). estimator = TensorFlow(entry_point='resnet_headpose.py', framework_version = 1.4, source_dir=source_dir, role=role, training_steps=25000, evaluation_steps=700, train_instance_count=1, base_job_name='deeplens-TF-headpose', output_path=model_artifacts_location, code_location=custom_code_upload_location, train_instance_type='ml.p2.xlarge', train_max_run = 432000, train_volume_size=100)

# Head-pose dataset "HeadPoseData_trn_test_x15_py2.pkl" is in the following S3 folder. dataset_location = 's3://{}/{}/datasets'.format(s3_bucket, headpose_folder)

estimator.fit(dataset_location)

97

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

Untuk membuatestimatorobjek, Anda menetapkan untukentry_pointnama file Pythonyang berisiskrip pelatihan model TensorFlow kustom. Untuk tutorial ini, file kode kustominiresnet_headpose.pyyang diunggah ke direktori yang sama di mana instance notebookberada. Untukframework_version, tentukan versi TensorFlow yang didukung olehAWSDeepLens.

Dengantrain_instance_typedariml.p2.xlarge, dibutuhkan sekitar 6,7 jam komputasiyang dapat ditagih untuk menyelesaikan pekerjaan pelatihan (estimator.fit(…)). Anda dapatbereksperimen denganliyantrain_instance_typepilihanuntuk mempercepat proses atau untukmengoptimalkan biaya.

Model artefak yang berhasil dilatih (model.tar.gz) adalah output ke bucket S3 Anda:

s3://deeplens-sagemaker-models-<my-name>/headpose/TFartifacts/<training-job-name>/output/model.tar.gz

di mana<training-job-name>adalah dari<base_job_name>-<timestamp>.Menggunakan kode pelatihan di atas, contoh dari<training-job-name>akandeeplens-TF-headpose-2018-08-16-20-10-09-991. Anda harus mengubah artefak model ini menjadiformat protobuff beku yang didukung olehAWS DeepLens.

c. Untuk mengubah artefak model terlatih (model.tar.gz) menjadi file protobuff beku(frozen.model.pb), lakukan hal berikut:

i. Jalankan kode berikut untuk menggunakan AWS SDK untuk Python (boto3) dalam sel kodedi notebook untuk mengunduh artefak model terlatih dari ember S3 Anda ke notebook Anda:

import boto3s3 = boto3.resource('s3')

#key = '{}/{}/{}/output/model.tar.gz'.format(headpose_folder, model_artifacts_folder,estimator.latest_training_job.name)key = '{}/{}/{}/output/model.tar.gz'.format(headpose_folder, model_artifacts_folder, 'deeplens-TF-headpose-2018-08-16-20-10-09-991')

print(key)s3.Bucket(s3_bucket).download_file(key,'model.tar.gz')

Anda dapat memverifikasi file yang didownload dengan menjalankan perintah shell berikutdalam sel kode notebook dan kemudian memeriksa output.

!ls

ii. Untuk uncompress artefak model terlatih (model.tar.gz), jalankan perintah shell berikut di selkode:

!tar -xvf model.tar.gz

Perintah ini akan menghasilkan output berikut ini:

export/export/Servo/export/Servo/1534474516/export/Servo/1534474516/variables/export/Servo/1534474516/variables/variables.data-00000-of-00001export/Servo/1534474516/variables/variables.indexexport/Servo/1534474516/saved_model.pb

98

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

Path ke direktori model adalah dariexport/*/*pola. Anda harus menentukan jalur direktorimodel untuk membuat file protobuff beku dari artefak model. Anda akan melihat caramendapatkan jalur direktori ini pada langkah berikutnya.

iii. Untuk mendapatkan direktori model dan cache dalam memori, jalankan kode Python berikutdi sel kode contoh notebook:

import globmodel_dir = glob.glob('export/*/*')# The model directory looks like 'export/Servo/{Assigned by Amazon SageMaker}'print(model_dir)

Outputnya adalah ['export/Servo/1534474516'].

Anda dapat melanjutkan ke pembekuan grafik dan menyimpannya dalam format protobuffbeku.

iv. Untuk membekukan grafik TensorFlow dan menyimpannya dalam format protobuff beku,jalankan cuplikan kode Python berikut di sel kode instance notebook. Cuplikan kodemelakukan hal berikut:

1. Memiilihconvert_variables_to_constantsdaritf.graph_utilmodul untukmembekukan grafik,

2. Memiilihremove_training_nodesdaritf.graph_utilmodul untuk menghapus semuanode yang tidak perlu.

3. Memiilihoptimize_for_inferencedarioptimize_for_inference_libmodul untukmenghasilkan inferensigraph_def.

4. Serializes dan menyimpan file sebagai protobuff.

import tensorflow as tffrom tensorflow.python.tools import optimize_for_inference_libdef freeze_graph(model_dir, input_node_names, output_node_names): """Extract the sub graph defined by the output nodes and convert all its variables into constant Args: model_dir: the root folder containing the checkpoint state file, input_node_names: a comma-separated string, containing the names of all input nodes output_node_names: a comma-separated string, containing the names of all output nodes, """ # We start a session using a temporary fresh Graph with tf.Session(graph=tf.Graph()) as sess: # We import the meta graph in the current default Graph tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING], model_dir)

# We use a built-in TF helper to export variables to constants input_graph_def = tf.graph_util.convert_variables_to_constants( sess, # The session is used to retrieve the weights tf.get_default_graph().as_graph_def(), # The graph_def is used to retrieve the nodes output_node_names.split(",") # The output node names are used to select the usefull nodes )

# We generate the inference graph_def input_node_names=['Const_1'] # an array of the input node(s)

99

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

output_graph_def = optimize_for_inference_lib.optimize_for_inference(tf.graph_util.remove_training_nodes(input_graph_def), input_node_names.split(","), # an array of input nodes output_node_names.split(","), # an array of output nodes tf.float32.as_datatype_enum) # Finally we serialize and dump the output graph_def to the filesystem with tf.gfile.GFile('frozen_model.pb', "wb") as f: f.write(output_graph_def.SerializeToString())

freeze_graph(model_dir[0], 'Const_1', 'softmax_tensor')

Akibatnya, model artefak diubah menjadi format protobuff beku (frozen_model.pb) dandisimpan ke direktori home instance notebook (model_dir[0]).

Pada kode di atas, Anda harus menentukan input dan output node,yaitu,'Const_1'dan'softmax_tensor'. Untuk detail selengkapnya,lihatresnet_model_headpose.py.

Saat membuatAWS DeepLensproyek nanti, Anda harus menambahkan grafik beku ini keproyek. Untuk ini, Anda harus mengunggah file protobuff ke folder Amazon S3. Untuk tutorialini, Anda dapat menggunakan folder output SageMaker traing job Anda (s3://deeplens-sagemaker-models-<my-name>/headpose/TFartifacts/<sagemaker-job-name>/output) di S3. Namun, model ini dianggap sebagai model yang terlatih secara eksternaldiAWS DeepLens.

d. Untuk mengunggah grafik beku ke folder output pekerjaan pelatihan SageMaker Anda, jalankancuplikan kode Python berikut di sel kode instance notebook yang sedang berjalan:

data = open('frozen_model.pb', "rb")#key = '{}/{}/{}/output/frozen_model.pb'.format(headpose_folder, model_artifacts_folder,estimator.latest_training_job.name)key = '{}/{}/{}/output/frozen_model.pb'.format(headpose_folder, model_artifacts_folder, 'deeplens-TF-headpose-2018-08-16-20-10-09-991')s3.Bucket(s3_bucket).put_object(Key=key, Body=data)

Setelah diunggah, model siap untuk diimpor ke dalamAWS DeepLensproyek. Sebelum membuatproyek, kita harusmembuat fungsi Lambda yang melakukan inferensi berdasarkan model terlatihini (p. 100).

Buat Fungsi Inference Lambda untuk Mendeteksi Pose KepalaSebelum membuatAWS DeepLensproyek untuk penyebaran keAWS DeepLensperangkat untuk deteksipose kepala, Anda harus membuat dan mempublikasikan fungsi Lambda untuk membuat kesimpulanberdasarkan model terlatih.

Untuk membuat dan mempublikasikan inferensi fungsi Lambda, ikuti instruksi yang diberikan dalamthesection called “Buat dan Publikasikan Fungsi Lambda Kesimpulan” (p. 83), tapi ganti kode dalam filegreengrassHelloWorld.py dengan yang mirip dengan berikut yang digunakan dalamProyek Contoh DeteksiPose Kepala (p. 63).

""" This is a lambda function that demonstrates how one can use a deep learning network (ResNet) to detect the person's head pose. We use a shaded rectangle to indicate the region that the persons head is pointed towards. We also display a red ball that moves with the person's head."""

100

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

from threading import Thread, Eventimport osimport jsonimport numpy as npimport cv2import greengrasssdkimport awscamimport mo

class LocalDisplay(Thread): """ Class for facilitating the local display of inference results (as images). The class is designed to run on its own thread. In particular the class dumps the inference results into a FIFO located in the tmp directory (which lambda has access to). The results can be rendered using mplayer by typing: mplayer -demuxer lavf -lavfdopts format=mjpeg:probesize=32 /tmp/results.mjpeg """ def __init__(self, resolution): """ resolution - Desired resolution of the project stream""" # Initialize the base class, so that the object can run on its own # thread. super(LocalDisplay, self).__init__() # List of valid resolutions RESOLUTION = {'1080p' : (1920, 1080), '720p' : (1280, 720), '480p' : (858, 480)} if resolution not in RESOLUTION: raise Exception("Invalid resolution") self.resolution = RESOLUTION[resolution] # Initialize the default image to be a white canvas. Clients # will update the image when ready. self.frame = cv2.imencode('.jpg', 255*np.ones([640, 480, 3]))[1] self.stop_request = Event()

def run(self): """ Overridden method that continually dumps images to the desired FIFO file. """ # Path to the FIFO file. The lambda only has permissions to the tmp # directory. Pointing to a FIFO file in another directory # will cause the lambda to crash. result_path = '/tmp/results.mjpeg' # Create the FIFO file if it doesn't exist. if not os.path.exists(result_path): os.mkfifo(result_path) # This call will block until a consumer is available with open(result_path, 'w') as fifo_file: while not self.stop_request.isSet(): try: # Write the data to the FIFO file. This call will block # meaning the code will come to a halt here until a consumer # is available. fifo_file.write(self.frame.tobytes()) except IOError: continue

def set_frame_data(self, frame): """ Method updates the image data. This currently encodes the numpy array to jpg but can be modified to support other encodings. frame - Numpy array containing the image data of the next frame in the project stream. """ ret, jpeg = cv2.imencode('.jpg', cv2.resize(frame, self.resolution)) if not ret: raise Exception('Failed to set frame data') self.frame = jpeg

def join(self):

101

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

self.stop_request.set()

class HeadDetection(): """ Custom class that helps us post process the data. In particular it draws a ball that moves across the screen depending on the head pose. It also draws a rectangle indicating the region that the person's head is pointing to. We divide the frame into 9 distinct regions. """ def __init__(self, circ_cent_x, circ_cent_y): """ circ_cent_x - The x coordinate for the center of the frame circ_cent_y - The y coordinate for the center of the frame """ self.result_thread = LocalDisplay('480p') self.result_thread.start() self.circ_cent_x = circ_cent_x self.circ_cent_y = circ_cent_y # Compute the maximum x and y coordinates. self.x_max = 2 * circ_cent_x self.y_max = 2 * circ_cent_y # Number of quadrants to split the image into. # This is model dependent. self.quadrants = 9

def update_coords(self, frame, change_x, change_y, label): """ Helper method that draws a rectangle in the region the person is looking at. It also draws a red ball that changes its speed based on how long a person has been looking at a particular direction. frame - The frame where the ball and rectangle should be drawn change_x - The amount to increment the x axis after drawing the red ball. change_y - The amount to increment the y axis after drawing the red ball. label - Label corresponding to the region that the person's head is looking at. """ # Set coordinates of the rectangle that will be drawn in the region that the # person is looking at. rect_margin = 10 rect_width = frame.shape[1] // 3 - rect_margin * 2 rect_height = frame.shape[0] // 3 - rect_margin * 2 # Set the draw options. overlay = frame.copy() font_color = (20, 165, 255) line_type = 8 font_type = cv2.FONT_HERSHEY_DUPLEX # Draw the rectangle with some text to indicate the region. if label == 0: cv2.putText(frame, "Down Right", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 2 + rect_margin, frame.shape[0] // 3 * 2 + rect_margin), (frame.shape[1] // 3 * 2 + rect_width, frame.shape[0] // 3 * 2 + rect_height), (0, 255, 0), -1) elif label == 1: cv2.putText(frame, "Right", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 2 + rect_margin, frame.shape[0] // 3 * 1 + rect_margin), (frame.shape[1] // 3 * 2 + rect_width, frame.shape[0] // 3 * 1 + rect_height), (0, 255, 0), -1) elif label == 2: cv2.putText(frame, "Up Right", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 2 + rect_margin, rect_margin),

102

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

(frame.shape[1] // 3 * 2 + rect_width, rect_height), (0, 255, 0), -1) elif label == 3: cv2.putText(frame, "Down", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 1 + rect_margin, frame.shape[0] // 3 * 2 + rect_margin), (frame.shape[1] // 3 * 1 + rect_width, frame.shape[0] // 3 * 2 + rect_height), (0, 255, 0), -1) elif label == 4: cv2.putText(frame, "Middle", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 1 + rect_margin, frame.shape[0] // 3 * 1 + rect_margin), (frame.shape[1] // 3 * 1 + rect_width, frame.shape[0] // 3 * 1 + rect_height), (0, 255, 0), -1) elif label == 5: cv2.putText(frame, "Up", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (frame.shape[1] // 3 * 1 + rect_margin, rect_margin), (frame.shape[1] // 3 * 1 + rect_width, rect_height), (0, 255, 0), -1) elif label == 6: cv2.putText(frame, "Down Left", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (rect_margin, frame.shape[0] // 3 * 2 + rect_margin), (rect_width, frame.shape[0] // 3 * 2 + rect_height), (0, 255, 0), -1) elif label == 7: cv2.putText(frame, "Left", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (rect_margin, frame.shape[0] // 3 * 1 + rect_margin), (rect_width, frame.shape[0] // 3 * 1 + rect_height), (0, 255, 0), -1) else: cv2.putText(frame, "Up Left", (1024, 440 - 15), font_type, 3, font_color, line_type) cv2.rectangle(overlay, (rect_margin, rect_margin), (rect_width, rect_height), (0, 255, 0), -1) # Set the opacity alpha = 0.2 cv2.addWeighted(overlay, alpha, frame, 1 - alpha, 0, frame) # Draw the red ball at the previous x-y position. cv2.circle(frame, (self.circ_cent_x, self.circ_cent_y), 50, (0, 0, 255), -1) # Update the balls x-y coordinates. self.circ_cent_x += int(change_x) self.circ_cent_y += int(change_y) # Make sure the ball stays inside the image. if self.circ_cent_x > self.x_max: self.circ_cent_x = self.x_max if self.circ_cent_x < 0: self.circ_cent_x = 0 if self.circ_cent_y > self.y_max: self.circ_cent_y = self.y_max if self.circ_cent_y < 0: self.circ_cent_y = 0 # Send the post processed frame to the FIFO file for display self.result_thread.set_frame_data(frame)

def adjust_x_vel(self, velocity, pct_of_center):

103

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

""" Helper for computing the next x coordinate. velocity - x direction velocity. pct_of_center - The percantage around the center of the image that we should consider a dead zone. """ x_vel = 0 if self.circ_cent_x < (1.0 - pct_of_center) * self.x_max/2: x_vel = velocity if self.circ_cent_x > (1.0 - pct_of_center) * self.x_max/2: x_vel = -1 *velocity return x_vel

def adjust_y_vel(self, velocity, pct_of_center): """ Helper for computing the next y coordinate. velocity - y direction velocity. pct_of_center - The percantage around the center of the image that we should consider a dead zone. """ y_vel = 0 if self.circ_cent_y < (1.0 - pct_of_center) * self.y_max/2: y_vel = velocity if self.circ_cent_y > (1.0 - pct_of_center) * self.y_max/2: y_vel = -1 * velocity return y_vel

def send_data(self, frame, parsed_results): """ Method that handles all post processing and sending the results to a FIFO file. frame - The frame that will be post processed. parsed_results - A dictionary containing the inference results. """ label = parsed_results[0]["label"] # Use the probability to determine the velocity, scale it by 100 so that the ball # moves across the screen at reasonable rate. velocity = parsed_results[0]["prob"] * 100 pct_of_center = 0.05

if label == 0: self.update_coords(frame, velocity, velocity, label) elif label == 1: self.update_coords(frame, velocity, self.adjust_y_vel(velocity, pct_of_center), label) elif label == 2: self.update_coords(frame, velocity, -1*velocity, label) elif label == 3: self.update_coords(frame, self.adjust_x_vel(velocity, pct_of_center), velocity, label) elif label == 4: self.update_coords(frame, self.adjust_x_vel(velocity, pct_of_center), self.adjust_y_vel(velocity, pct_of_center), label) elif label == 5: self.update_coords(frame, self.adjust_x_vel(velocity, pct_of_center), -1*velocity, label) elif label == 6: self.update_coords(frame, -1*velocity, velocity, label) elif label == 7: self.update_coords(frame, -1*velocity, self.adjust_y_vel(velocity, pct_of_center), label) elif label == 8: self.update_coords(frame, -1*velocity, -1*velocity, label)

def get_results(self, parsed_results, output_map): """ Method converts the user entered number of top inference labels and associated probabilities to json format. parsed_results - A dictionary containing the inference results.

104

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

output_map - A dictionary that maps the numerical labels returned the inference engine to human readable labels. """ if self.quadrants <= 0 or self.quadrants > len(parsed_results): return json.dumps({"Error" : "Invalid"})

top_result = parsed_results[0:self.quadrants] cloud_output = {} for obj in top_result: cloud_output[output_map[obj['label']]] = obj['prob'] return json.dumps(cloud_output)

def head_detection(): """ This method serves as the main entry point of our lambda. """ # Creating a client to send messages via IoT MQTT to the cloud client = greengrasssdk.client('iot-data') # This is the topic where we will publish our messages too iot_topic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME']) try: # define model prefix and the amount to down sample the image by. input_height = 84 input_width = 84 model_name="frozen_model" # Send message to IoT via MQTT client.publish(topic=iot_topic, payload="Optimizing model") ret, model_path = mo.optimize(model_name, input_width, input_height, platform='tf') # Send message to IoT via MQTT client.publish(topic=iot_topic, payload="Model optimization complete") if ret is not 0: raise Exception("Model optimization failed, error code: {}".format(ret)) # Send message to IoT via MQTT client.publish(topic=iot_topic, payload="Loading model") # Load the model into cl-dnn model = awscam.Model(model_path, {"GPU": 1}) # Send message to IoT via MQTT client.publish(topic=iot_topic, payload="Model loaded") # We need to sample a frame so that we can determine where the center of # the image is located. We assume that # resolution is constant during the lifetime of the Lambda. ret, sample_frame = awscam.getLastFrame() if not ret: raise Exception("Failed to get frame from the stream") # Construct the custom helper object. This object just lets us handle postprocessing # in a managable way. head_pose_detection = HeadDetection(sample_frame.shape[1]/2, sample_frame.shape[0]/2) # Dictionary that will allow us to convert the inference labels # into a human a readable format. output_map = ({0:'Bottom Right', 1:'Middle Right', 2:'Top Right', 3:'Bottom Middle', 4:'Middle Middle', 5:'Top Middle', 6:'Bottom Left', 7:'Middle Left', 8:'Top Left'}) # This model is a ResNet classifier, so our output will be classification. model_type = "classification" # Define a rectangular region where we expect the persons head to be. crop_upper_left_y = 440 crop_height = 640 crop_upper_left_x = 1024 crop_width = 640 while True: # Grab the latest frame off the mjpeg stream. ret, frame = awscam.getLastFrame() if not ret: raise Exception("Failed to get frame from the stream")

105

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

# Mirror Image frame = cv2.flip(frame, 1) # Draw the rectangle around the area that we expect the persons head to be. cv2.rectangle(frame, (crop_upper_left_x, crop_upper_left_y), (crop_upper_left_x + crop_width, crop_upper_left_y + crop_height), (255, 40, 0), 4) # Crop the the frame so that we can do inference on the area of the frame where # expect the persons head to be. frame_crop = frame[crop_upper_left_y:crop_upper_left_y + crop_height, crop_upper_left_x:crop_upper_left_x + crop_width] # Down sample the image. frame_resize = cv2.resize(frame_crop, (input_width, input_height)) # Renormalize the image so that the color magnitudes are between 0 and 1 frame_resize = frame_resize.astype(np.float32)/255.0 # Run the down sampled image through the inference engine. infer_output = model.doInference(frame_resize) # Parse the results so that we get back a more manageble data structure. parsed_results = model.parseResult(model_type, infer_output)[model_type] # Post process the image and send it to the FIFO file head_pose_detection.send_data(frame, parsed_results) # Send the results to MQTT in JSON format. client.publish(topic=iot_topic, payload=head_pose_detection.get_results(parsed_results, output_map))

except Exception as ex: msg = "Lambda has failure, error msg {}: ".format(ex) client.publish(topic=iot_topic, payload=msg)# Entry point of the lambda function.head_detection()

ParameterLocalDisplaykelas didefinisikan dalam fungsi Lambda di atas serializes gambar diproses,dalam thread khusus, untuk file FIFO tertentu yang berfungsi sebagai sumber untuk memutar ulang hasilinferensi sebagai aliran proyek.

ParameterHeadDetectionkelas menangani pasca-proses data diurai, termasuk memanggil posisi kepalaterdeteksi dan berpose di layar lokal aliran proyek.

Parameterheade_detectionfungsi mengkoordinasikan seluruh proses untuk menyimpulkanpose kepala frame capture dariAWS DeepLensumpan video, termasuk memuat artefak model yangdigunakan untuk AndaAWS DeepLensPerangkat. Untuk memuat model, Anda harus menentukanjalan ke artefak model. Untuk mendapatkan jalur ini Anda dapat memanggilmo.optimizemetode danmenentukan"frozen_model"sebagaimodel_namenilai input. Nama model ini sesuai dengan nama filetanpa.pbdari artefak model yang di-upload ke Amazon S3.

Setelah melatih model Anda dan mengunggahnya ke S3 dan membuat fungsi Lambda di akun Anda, Andasekarang siapmembuat dan menyebarkan proyek deteksi pose kepala (p. 106).

Membuat dan Menyebarkan Proyek Deteksi Pose KepalaSebelum membuatAWS DeepLensproyek, Anda harus mengimpor model keAWS DeepLens. Karena asliSageMaker-terlatih model artefak diubah menjadi file protobuff, Anda harus memperlakukan model artefakdiubah sebagai eksternal dilatih.

Untuk mengimpor model yang terlatih SageMaker yang disesuaikan untuk deteksi pose kepala

1. Pergi keAWS DeepLenskonsol.2. MemiilihModeldari panel navigasi utama.3. MemiilihImpor model.

106

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

4. PadaImpor model ke AWS DeepLensHalaman, lakukan hal berikut:

a. Di bawahMengimpor sumberpilihModel yang dilatih secara eksternal.b. Di bawahPengaturan model, lakukan hal berikut:

i. UntukJalur artefak Model, ketik URL S3 model, misalnya,s3://deeplens-sagemaker-models-<my-name>/headpose/TFartifacts/<sagemaker-job-name>/output/frozen_model.pb.

ii. UntukNama model, ketikkan nama untuk model Anda, misalnya,model deteksi-headpose-saya.

iii. UntukKerangka modelpilihTensorFlow.iv. UntukDeskripsi - Opsional, ketik deskripsi tentang model, jika memilih untuk melakukannya.

Setelah mengimpor model, Anda sekarang dapat membuatAWS DeepLensproyek untuk menambahkanmodel yang diimpor dan kesimpulan dipublikasikan fungsi Lambda.

Untuk membuat kustomAWS DeepLensproyek untuk deteksi pose kepala

1. DiAWS DeepLenskonsol, pilihProyekdari panel navigasi utama.2. DiProyekhalaman, pilihBuat proyek baru.3. PadaPilih tipe proyekhalaman, pilihMembuat proyek kosong. Lalu, pilih Selanjutnya.4. PadaTentukan rincian proyekHalaman, lakukan hal berikut:

• Di bawahInformasi Proyek, ketikkan nama untuk proyek Anda diNama Proyekfield input dan,opsional, memberikan deskripsi proyek diDeskripsi - Opsionalbidang input.

5. Di bawahKonten Proyek, lakukan hal berikut:

a. MemiilihTambahkan model. Kemudian, pilih tombol radio di samping model deteksi pose kepalaAnda yang diimpor sebelumnya dan pilihTambahkan model.

b. MemiilihTambahkan fungsi. Kemudian, pilih tombol radio di sebelah fungsi Lambda yangditerbitkan untuk deteksi pose kepala dan pilihTambahkan fungsi.

Fungsi harus dipublikasikan diAWS Lambdadan dinamakan dengandeeplens-awalan untukmembuatnya terlihat di sini. Jika Anda telah menerbitkan beberapa versi fungsi, pastikan untukmemilih fungsi versi koreksi.

6. Pilih Create (Buat).

Dengan proyek yang dibuat, Anda siap untuk menerapkannya ke terdaftarAWS DeepLensPerangkat.Pastikan untuk menghapus proyek aktif dari perangkat sebelum melanjutkan lebih lanjut.

1. DiProyekhalaman DAWS DeepLensL konsol, pilih proyek yang baru dibuat untuk deteksi pose kepala.2. Di halaman rincian proyek yang dipilih, pilihMenyebarkan ke perangkat.3. PadaPerangkat targethalaman, pilih tombol radio di samping perangkat terdaftar Anda dan kemudian

pilihTinjau.4. PadaMemeriksa dan menyebarkanhalaman, pilihDeploysetelah memverifikasi rincian proyek.5. Pada halaman detail perangkat, periksa status penyebaran dengan memeriksaStatus

perangkatdanStatus pendaftaran. Jika merekaOnlinedanTerdaftar, masing-masing, penyebaranberhasil. Jika tidak, pastikan bahwa model yang diimpor dan fungsi Lambda yang diterbitkan valid.

6. Setelah proyek berhasil dikerahkan, Anda dapat melihat output proyek dengan salah satu cara berikut:

a. Lihat output berformat JSON yang diterbitkan oleh fungsi inferensi Lambda diAWS IoTKonsol inti.

107

AWS DeepLens Panduan DeveloperMembangun dan Menjalankan Proyek Deteksi Pose Kepala

b. Lihat video streaming di browser web yang didukung. Untuk instruksi,the section called “LihatVideo Stream dariAWS DeepLensPerangkat di Browser.” (p. 54).

Ini melengkapi tutorial ini untuk membangun dan menyebarkan proyek deteksi pose kepala Anda.

108

AWS DeepLens Panduan DeveloperBoot Perangkat Anda dengan Aman

Mengelola AndaAWSDeepLensPerangkat

Topik berikut menjelaskan cara mengelola AndaAWS DeepLensperangkat dan mengakses sumber dayaperangkat dariAWS IoT GreengrassFungsi Lambda:

Topik• Boot Anda dengan amanAWS DeepLensPerangkat (p. 109)• PerbaruiAWS DeepLensPerangkat (p. 109)• Pembatalkan pendaftaran AndaAWS DeepLensPerangkat (p. 110)• MenghapusAWS DeepLensSumber Daya (p. 111)• MemulihkanAWS DeepLensPerangkat ke Pengaturan Pabrik (p. 112)

Boot Anda dengan amanAWS DeepLensPerangkatUntuk melindungiAWS DeepLensperangkat dari serangan berbahaya, dikonfigurasi untuk boot denganaman. Pengaturan boot aman mencegah perangkat memuat sistem operasi yang tidak sah, termasuk versiyang berada di bawah dukungan arus utama. Jika penyerang melewati pengaturan boot aman dan memuatsistem operasi lain atau versi lain, perangkat bisa menjadi tidak stabil dan garansi akan batal.

PerbaruiAWS DeepLensPerangkatSaat Anda mengatur perangkat, Anda memiliki opsi untuk mengaktifkan pembaruan otomatis(lihatSiapkanAWS DeepLensPerangkat (p. 27)). Jika Anda mengaktifkan pembaruan otomatis, Anda hanyaperlu melakukan reboot perangkat agar perangkat lunak diperbarui di perangkat Anda. Jika Anda tidakmengaktifkan pembaruan otomatis, Anda harus memperbarui perangkat secara manual secara berkala.

Note

Jika pembaruan Anda terjebak dalam loop tak berujung, coba periksa dan nyalakanPembaruanyang tidak didukungpilihan di bawahInstal pembaruan dari:padaPembaruantabPerangkat Lunak &Pembaruan, sebuah utilitas sistem Ubuntu pada perangkat.

Untuk memperbaruiAWS DeepLenspada perangkat

1. TancapkanAWS DeepLensdan nyalakan.2. Gunakan kabel micro HDMI untuk menghubungkanAWS DeepLenske monitor.3. Connect mouse USB dan keyboard keAWS DeepLens.4. Saat layar login muncul, masuk ke perangkat menggunakan kata sandi SSH yang Anda tetapkan saat

Anda mendaftarkannya.5. Mulai terminal Anda dan jalankan masing-masing perintah berikut:

sudo apt-get updatesudo apt-get install awscamsudo reboot

109

AWS DeepLens Panduan DeveloperPembatalkan pendaftaran AndaAWS DeepLensPerangkat

Untuk memperbaruiAWS DeepLensmenggunakan terminal SSH

1. Pergi keAWS DeepLenskonsol, dan lakukan hal berikut:

a. PilihPerangkatdari panel navigasi utama.b. Dari daftar perangkat, pilihAWS DeepLensperangkat untuk membuka halaman informasi

perangkat.c. DariRincian perangkatbagian, menyalin alamat IP lokal yang dipilihAWS DeepLensperangkat

2. Mulai terminal dan ketik perintah SSH berikut, menggunakan alamat IP contoh di atas(192.168.1.36):

ssh [email protected]

3. Jalankan masing-masing perintah berikut:

sudo apt-get updatesudo apt-get install awscamsudo reboot

Pembatalkan pendaftaran AndaAWSDeepLensPerangkat

Mengatalkan pendaftaran AndaAWS DeepLensdisassociatesAWSakun dan kredensi dari perangkat.Sebelum Anda membatalkan pendaftaran perangkat Anda, hapus foto atau video yang disimpan didalamnya.

Untuk membatalkan pendaftaran AndaAWS DeepLens

1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/home?region=us-east-1#firstrun/.

2. Dari panel navigasi utama, pilihPerangkat, lalu pilih perangkat yang ingin Anda batalkan pendaftaran.3. Di sampingProyek saat inipada halaman perangkat yang dipilih, pilihHapus proyek saat ini dari

perangkat.

Important

Hapus foto atau video yang disimpan di perangkat, menggunakan SSH dan kata sandi SSHyang Anda tetapkan saat mendaftarkan perangkat untuk masuk ke perangkat. Arahkan kefolder tempat foto atau video disimpan dan hapus.

4. Saat diminta, pilihyakonfirmasi.5. Di sampingPengaturan Perangkat, pilihPembatalkan pendaftaran.

110

AWS DeepLens Panduan DeveloperMenghapusAWS DeepLensSumber Daya

6. Saat diminta, pilihPembatalkan pendaftarankonfirmasi.

KlasterAWS DeepLenssekarang deregistered. Untuk menggunakannya lagi, ulangi setiap langkah berikut:

• Daftarkan AndaAWS DeepLensPerangkat (p. 9)• Connect keAWS DeepLensJaringan Wi-Fi perangkat (p. 23)• SiapkanAWS DeepLensPerangkat (p. 27)• VerifikasiAWS DeepLensStatus Pendaftaran Perangkat (p. 32)

MenghapusAWS DeepLensSumber DayaKetika Anda membangun aplikasi visi komputer Anda dan menerapkannya keAWS DeepLensperangkat,Anda menyimpanAWS DeepLenssumber daya—seperti profil perangkat, proyek yang digunakan,dan model—diAWSCloud. Ketika Anda selesai dengan AndaAWS DeepLensproject, Anda dapatmenggunakan konsol AWS untuk menghapus model, proyek, danAWS DeepLenslog dari CloudWatchLogs. Untuk menghapus profil perangkat terdaftar, lihatPembatalkan pendaftaran AndaAWSDeepLensPerangkat (p. 110).

Topik• HapusAWS DeepLensSumber Daya MenggunakanAWSKonsol (p. 111)

HapusAWS DeepLensSumber DayaMenggunakanAWSKonsolTopik

• MenghapusAWS DeepLensProyek (p. 111)• MenghapusAWS DeepLensModel (p. 111)• MenghapusAWS DeepLensProfil perangkat (p. 112)• HapusAWS DeepLensLogs dari CloudWatch Logs (p. 112)

MenghapusAWS DeepLensProyek1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/home?region=us-

east-1#firstrun/.2. Di panel navigasi, pilihProyek.3. PadaProyekhalaman, pilih tombol di samping proyek yang ingin Anda hapus.4. DiTindakandaftar, pilihHapus.5. DiHapusnama proyekkotak dialog, pilihHapusuntuk mengkonfirmasi bahwa Anda ingin menghapus

proyek.

MenghapusAWS DeepLensModel1. BukaAWS DeepLenskonsol dihttps://console.aws.amazon.com/deeplens/home?region=us-

east-1#firstrun/.2. Di panel navigasi, pilihModel.3. PadaModelhalaman, pilih tombol di samping model yang ingin Anda hapus.4. DiTindakandaftar, pilihHapus.

111

AWS DeepLens Panduan DeveloperMemulihkanAWS DeepLenske pengaturan pabrik

5. DiHapusnama modelkotak dialog, pilihHapusuntuk mengkonfirmasi bahwa Anda ingin menghapusmodel.

MenghapusAWS DeepLensProfil perangkatUntuk menghapus profil perangkat yang tidak digunakan, Anda membatalkan pendaftaran perangkat.Untuk informasi selengkapnya, lihat Pembatalkan pendaftaran AndaAWS DeepLensPerangkat (p. 110).

HapusAWS DeepLensLogs dari CloudWatch LogsJika Anda mengekspos informasi yang dapat diidentifikasi secara pribadi diAWS IoT Greengrasslogpengguna yang dibuat di Amazon CloudWatch Logs saat Anda menjalankanAWS DeepLensproject,gunakan konsol CloudWatch Logs untuk menghapusnya.

1.Masuk ke AWS Management Console dan buka konsol CloudWatch di https://console.aws.amazon.com/cloudwatch/.

2. Di panel navigasi, pilih Log.3. PadaGrup loghalaman, pilih tombol di sampingAWS IoT Greengrasslog pengguna yang ingin Anda

hapus. Log dimulai dengan/aws/greengrass/Lambda/....4. DiTindakandaftar, pilihHapus grup log.5. DiHapus grup logkotak dialog, pilihYa, Hapusuntuk mengkonfirmasi bahwa Anda ingin menghapus log.

Note

Ketika fungsi Lambda untuk proyek Anda berjalan lagi, grup log yang dihapus akan dibuatulang.

MemulihkanAWS DeepLensPerangkat kePengaturan Pabrik

Setelah menggunakanAWS DeepLens, Anda mungkin ingin mengatur ulang perangkat ke pengaturanpabriknya. Menyiapkan ulangAWS DeepLensmembutuhkan beberapa langkah. Pertama, Anda harusmempartisi drive USB menjadi dua bagian dan membuat partisi pertama dapat di-boot. Selanjutnya, Andajuga perlu mendownload file yang diperlukan untuk pemulihan pabrik. File-file ini lebih besar dari gabungan10 GB. Akhirnya, Prosedur kedua menjelaskan bagaimana menggunakan flash drive yang dipartisi danisinya untuk mengembalikan AndaAWS DeepLenske pengaturan pabriknya.

• Mempartisi drive USB menjadi dua bagian. (p. 112)• Menggunakan drive USB yang dipartisi untuk memulihkanAWS DeepLenspesawat (p. 118)

Mempersiapkan untuk melakukan reset pabrikpadaAWS DeepLenspesawatMenyiapkan ulangAWS DeepLensmenghapus data apa pun pada perangkat dan mengembalikannya kepengaturan pabriknya. Proses ini membutuhkan perangkat keras tambahan. Topik ini menjelaskan apayang Anda butuhkan untuk memulai dan memandu Anda untuk melalui proses.

PrasyaratSebelum memulai, pastikan Anda telah menyiapkan item berikut ini:

112

AWS DeepLens Panduan DeveloperMempersiapkan untuk melakukan reset

pabrik padaAWS DeepLenspesawat

• 1 USB drive, 16 GB atau lebih besar• Sebuah DeepLens (v1.0) atauAWS DeepLens2019 Edition (v1.1) perangkat.

Untuk mempelajari selengkapnyaAWS DeepLensversi, lihatthe section called “Versi Perangkat” (p. 1).• Sebuah komputer untuk memfasilitasi persiapan:

• Anda dapat mengaturAWS DeepLenskamera sebagai komputer Linux menggunakan pointer,keyboard, monitor, HDMI ke kabel HDMI mikro, dan hub USB.

• Anda juga dapat menghubungkanAWS DeepLenske komputer pribadi melalui SSH. Untuk informasiselengkapnya, lihat Bagaimana Connect Perangkat Anda ke Jaringan Wi-Fi Rumah atau Kantor SaatWi-Fi SSID atau Kata Sandi Berisi Karakter Khusus? (p. 130).

Note

Hal ini dimungkinkan untuk menggunakan micro SD dengan pembaca kartu berbasis USB, tapiinitidak dianjurkan. Setel ulang pabrik tidak dapat dimulai jika slot kartu di bagian belakangAWSDeepLensperangkat sedang digunakan.

PersiapanAnda harus menyelesaikan prosedur di bagian ini sebelum melakukan pengaturan ulang pabrik. Padatingkat tinggi, proses persiapan meliputi berikut ini.

• Memformat flash drive USB ke dalam dua partisi berikut:• Partisi 1: 2 GB FAT32• Partisi 2: NTFS minimal 9 gb

• Membuat USB flash drive dapat di-boot:• Unduh yang diperlukandisesuaikan image Ubuntu ISOdiperlukan untuk 1.0 dan 1.1, dariAWS

DeepLens.• Gunakan gambar yang diunduh untuk mengubah partisi pertama flash drive Anda menjadi perangkat

yang dapat di-boot.• Salin pabrik mengembalikan file pada drive USB:

• Unduh paket pemulihan pabrik terkompresi untuk versi AndaAWS DeepLens:• AWS DeepLensv1.0• AWS DeepLensv1.1.

• Unzip paket dan menempatkan file dibongkar ke partisi 2 (diformat sebagai NTFS) dari drive USB.

Anda hanya melakukan ini sekali untuk mengatur flash drive USB Anda. Setelah itu, Anda dapatmenggunakan flash drive yang sama untuk mengatur ulang AndaAWS DeepLenssesuai kebutuhan.

Ada beberapa cara untuk partisi dan memformat drive USB. Tergantung pada komputer yang Andagunakan, tugas tertentu mungkin berbeda dari satu sistem operasi dengan sistem operasi lainnya.

Prosedur berikut mengharuskan Anda telah mengatur AndaAWS DeepLensperangkat sebagai komputerUbuntu dan menggunakan dua aplikasi pihak ketiga, GParted dan UNetbootin. GParted adalah aplikasipengeditan partisi dan UNetbootin menciptakan drive USB bootable.

Instruksi yang sama berlaku jika Anda menggunakan komputer pribadi yang menjalankan sistem operasiUbuntu.

Untuk mempartisi drive USB dan membuatnya dapat di-boot menggunakan komputer Ubuntu

1. Buka jendela terminal Ubuntu dan jalankan perintah berikut untuk menginstal dan meluncurkanGParted.

113

AWS DeepLens Panduan DeveloperMempersiapkan untuk melakukan reset

pabrik padaAWS DeepLenspesawat

sudo apt-get update; sudo apt-get install gpartedsudo gparted

2. Buka konsol GParted.

3. Di konsol GParted, pilih/dev/sdadari menu drop-down di sudut kanan atas, lalu hapus partisi yang ada.4. Selanjutnya, hapus partisi yang ada.5. Untuk membuat partisi FAT32, pilih ikon file dan kemudian mengatur parameter sebagai berikut.

Ruang kosong sebelumnya:1

Ukuran baru:2048

Ruang bebas berikut: 28551

Sejajarkan ke: MiB

Buat sebagai: Primary Partition

Nama partisi:

Sistem file: fat32

Label: BOOT

114

AWS DeepLens Panduan DeveloperMempersiapkan untuk melakukan reset

pabrik padaAWS DeepLenspesawat

6. Kemudian, pilihTambahkan.7. Untuk membuat partisi NTFS, pilih ikon file dan kemudian mengatur parameter sebagai berikut.

Ruang bebas sebelumnya: 0

Ukuran baru: 28551

Ruang bebas berikut: 0

Sejajarkan ke: MiB

Buat sebagai: Primary Partition

Nama partisi:

Sistem file: nfts

Label: Flash

8. Kemudian, pilihTambahkan.

Setelah berhasil mempartisi drive USB Anda ke partisi FATS32 dan NTFS, partisi drive USB akan munculdi konsol GParted.

115

AWS DeepLens Panduan DeveloperMempersiapkan untuk melakukan reset

pabrik padaAWS DeepLenspesawat

Sekarang Anda siap untuk membuat drive USB yang dipartisi dapat di-boot menggunakan UNetbootin.

Untuk membuat USB drive bootable menggunakan UNetbootin

1. Unduhdisesuaikan image Ubuntu ISO.2. Buka jendela terminal Ubuntu.3. Jalankan perintah berikut untuk menginstal dan meluncurkan Unetbootin.

sudo apt-get update; sudo apt-get install unetbootinsudo unetbootin

4. Di jendela UNetbootin pilihDiskimage.5. Kemudian, pilihISO.6. Selanjutnya, pilih.. untuk membuka file explorer.7. Kemudian, pilih file ISO Ubuntu yang disesuaikan yang Anda unduh sebelumnya.8. Untuk Tipe, pilih Drive USB.9. Untuk Drive, pilih /dev/sda1.10. Kemudian, pilihOKE.

116

AWS DeepLens Panduan DeveloperMempersiapkan untuk melakukan reset

pabrik padaAWS DeepLenspesawat

Note

Gambar Ubuntu yang disesuaikan mungkin lebih baru daripada yang ditampilkan di sini. Jikaya, gunakan gambar Ubuntu dengan versi terbaru.

Sekarang setelah Anda berhasil membuat drive USB bootable. Gunakan prosedur di bawah ini untukmenyalin file pemulihan pabrik ke partisi NTFS dari drive USB Anda.

Note

Anda harus menggunakan paket pemulihan pabrik yang terkait dengan versi yang benar dariAWSDeepLensperangkat.

Untuk menyalin file pemulihan pabrik ke partisi NTFS dari drive usb Anda

1. Unduh paket pemulihan pabrik terkompresi untuk versi AndaAWS DeepLens.

• AWS DeepLensv1.0• AWS DeepLensv1.1

2. Buka paket yang diunduh.

unzip your-file-name.zip

3. Salin file yang tidak terkompresi ke partisi kedua (NTFS) drive USB:

UntukAWS DeepLensv1.0

File gambar

• Deeplens_image_1.3.22.bin• Deeplens_1.3.22.md5

117

AWS DeepLens Panduan DeveloperMemulihkanAWS DeepLenspesawat

File script

• usb_flash

UntukAWS DeepLensv1.1

File gambar

• Image_Deepcam_19ww19.5tpm• Image_Deepcam_19ww19.5_tpm.md5• apl_1.0.15_19ww19.5_PCR_FUSE.dat• pubkey.der.aws

File script

• usb_flash• Seal_and_lukschangeKey

Setelah menyelesaikan prosedur ini Anda harus berhasil dipartisi USB flash drive Anda menjadi dua partisidan menambahkan file yang diperlukan untuk setiap partisi.

Menggunakan drive USB yang dipartisi untukmemulihkanAWS DeepLenspesawatIkuti petunjuk untuk memulihkanAWS DeepLensperangkat ke pengaturan pabriknya. Prosedur di bawahini menganggap Anda telah berhasil menyelesaikan langkah-langkah garis besar dithe section called“Mempersiapkan untuk melakukan reset pabrik padaAWS DeepLenspesawat” (p. 112).

Petunjuk inimemerlukanAnda untuk menghubungkanAWS DeepLensperangkat ke monitor dan keyboard.

Warning

Semua data yang sebelumnya disimpan diAWS DeepLensperangkat akan terhapus.

MemulihkanAWS DeepLensperangkat ke pengaturan pabriknya

1. Masukkan drive USB yang disediakan ke dalamAWS DeepLensperangkat dan nyalakan. Berulang kalitekanESCkunci untuk masuk BIOS.

2. Dari jendela BIOS di monitor Anda, pilihBoot Dari File.3. Kemudian pilihVOLUME USB.4. Kemudian pilihEFI.5. Kemudian pilihSEPATU BOOT.6. Kemudian pilihBootX64.EFI.7. Selanjutnya,AWS DeepLensreset perangkat akan dimulai secara otomatis.

Hal ini terjadi ketika indikator daya LED mulai berkedip dan jendela terminal menampilkan kemajuanAnda. Tidak ada input pengguna lebih lanjut yang diperlukan pada saat ini.

Note

Jika terjadi kesalahan dan pemulihan gagal, mulai ulang prosedur dari langkah 1. Untukpesan galat terperinci, lihatresult.logfile yang dihasilkan pada USB flash drive.

118

AWS DeepLens Panduan DeveloperMemulihkanAWS DeepLenspesawat

8. Setelah lampu LED daya berhenti berkedip dan terminal ditutup, menandakan bahwa reset pabrikselesai. Perangkat kemudian mem-boot ulang sendiri secara otomatis.

Perangkat Anda sekarang dipulihkan. Anda dapat memutuskan USB flash drive Anda dariAWS DeepLens.

119

AWS DeepLens Panduan DeveloperLogs proyek

Pencatatan dan pemecahanmasalahAWS DeepLensProyek

Topik• AWS DeepLensLogs proyek (p. 120)• Pemecahan Masalah AWS DeepLens (p. 122)

AWS DeepLensLogs proyekSaat Anda membuat proyek baru,AWS DeepLensmengkonfigurasi secara otomatisAWS IoTGreengrassBeberapa catatan.AWS IoT Greengrass Log menulis log untukAmazon CloudWatch Logsdanke sistem file lokal perangkat Anda. Ketika sebuah proyek berjalan,AWS DeepLensmengirim pesandiagnostik ke CloudWatch Logs sebagaiAWS IoT Greengrasslog stream dan keAWS DeepLensperangkatsebagai lokallog sistem file. Pesan yang dikirim ke CloudWatch Logs dan log sistem file lokal Anda identik,kecuali bahwa file crash.log hanya tersedia dalam log sistem file.

Topik• CloudWatch Logs Grup Log untukAWS DeepLens (p. 120)• Logs sistem fileAWS DeepLens (p. 121)

CloudWatch Logs Grup Log untukAWS DeepLensCloudWatch Logs mencatat peristiwa untukAWS DeepLensdiatur ke dalam kelompok log berikut.

Grup log Isi

AWS/Greengrass/GreengrassSystem/CertManager

Log diagnostik untuk manajemen sertifikat

AWS/Greengrass/GreengrassSystem/Connection_Manager

Log diagnostik untuk manajemen koneksi perangkat, termasukkonfigurasi fungsi Lambda

AWS/Greengrass/Greengrasssystem/IP_Detector

Log diagnostik untuk deteksi alamat IP

AWS/Greengrass/Greengrasssystem/Python_Runtime

Log diagnostik yang terkait dengan runtime Python

AWS/Greengrass/Greengrasssystem/Router

Log diagnostik yang dibuat saat hasil inferensi diteruskan keAWS IoT

AWS/Greengrass/Greengrasssystem/Runtime

Log diagnostik yang terkait denganAWS IoT Greengrassruntime,misalnya, untuk langganan acara (Message Queuing TelemetryTransport (MQTT)

120

AWS DeepLens Panduan DeveloperLogs sistem file

Grup log Isi

AWS/Greengrass/Greengrasssystem/hantu

Log diagnostik yang terkait dengan bayangan lokalAWS IoT

AWS/Greengrass/GreengrassSystem/SyncManager

Log diagnostik untuk perangkatAWS IoTlangganan topik

AWS/Greengrass/Greengrasssystem/tes

Log diagnostik yang terkait dengan penyediaan kredensi IAM untukmemanggil fungsi Lambda

AWS/greengrass/lambda/lambda_function_name

Log diagnostik yang dilaporkan oleh fungsi inferensi Lambda yangditentukan dariAWS DeepLensproyek

Untuk informasi lebih lanjut tentang CloudWatch Logs, termasuk persyaratan dan batasan akses,lihatCloudWatch LogsdiAWS IoT GreengrassPanduan Pengembang.

Logs sistem fileAWS DeepLensAWS IoT GreengrassLog untukAWS DeepLensjuga disimpan dalam sistem file lokal pada AndaAWSDeepLensperangkat. Log sistem file lokal mencakup log crash, yang tidak tersedia di CloudWatch Logs.

Anda dapat menemukan log sistem file di direktori berikut pada AndaAWS DeepLensperangkat.

Direktori log Deskripsi

/opt/awscam/greengrass/ggc/var/log

Direktori tingkat atas untukAWS IoT Greengrasslog untukAWSDeepLens. Log crash ada di file crash.log di direktori ini.

/opt/awscam/greengrass/ggc/var/log/system

Subdirektori yang berisiAWS IoT Greengrasslog komponen sistem.

/opt/awscam/greengrass/ggc/var/log/user

Subdirektori yang berisi log untuk fungsi inferensi Lambda yangditentukan pengguna.

Untuk informasi lebih lanjut tentangAWS IoT Greengrasslog sistem file untukAWS DeepLens, termasukpersyaratan akses, lihatLogs sistem filediAWS IoT GreengrassPanduan Pengembang.

121

AWS DeepLens Panduan DeveloperPanduan pemecahan masalah

Pemecahan Masalah AWS DeepLensGunakan pedoman berikut untuk memecahkan masalahAWS DeepLens.

Topik• Pemecahan MasalahAWS DeepLensMasalah perangkat lunak (p. 122)• Pemecahan Masalah Pendaftaran Perangkat (p. 127)• Masalah Pemecahan Masalah dengan Model Deployment keAWS DeepLensPerangkat (p. 134)

Pemecahan MasalahAWS DeepLensMasalahperangkat lunakTips pemecahan masalah yang mungkin Anda alamiAWS DeepLensperangkat lunak.

Topik• Bagaimana menanganiimport error – undefined symbol? (p. 122)• Cara Menentukan VersiAWS DeepLensPerangkat lunak yang Anda miliki? (p. 123)• Bagaimana Memeriksa Versi Terbaru dari Paket Perangkat Lunak awscam? (p. 123)• Bagaimana Cara Mengaktifkan Kembali Hotspot Wi-Fi Setelah Memulai Ulang Perangkat? (p. 124)• Bagaimana Memastikan Fungsi Inferensi Lambda yang Berhasil Dikerahkan Bisa Dipanggil? (p. 124)• Bagaimana cara memperbarui paket perangkat lunak awscam ke versi terbaru? (p. 124)• Cara Meng-upgrade awscam Software Paket Dependensi? (p. 125)• Bagaimana cara menginstal pembaruan keamanan pada perangkat? (p. 126)• Bagaimana Menangani Arsitektur yang Tidak Didukung Selama Pembaruan Perangkat? (p. 127)

Bagaimana menanganiimport error – undefinedsymbol?Saat menulis kustomAWS Lambdafungsi inferensi, jika Anda mengimporawscammodul sebelumcv2modulAnda akan mendapatkan kesalahan seperti berikut:

File "my_lambda_detector.py", line 5, inimport awscamFile "/usr/lib/python2.7/dist-packages/awscam/__init__.py", line 1, infrom .model import *File "/usr/lib/python2.7/dist-packages/awscam/model.py", line 14, infrom awscamdldt import getLastFrameImportError: /opt/awscam/intel/deeplearning_deploymenttoolkit/deployment_tools/inference_engine/lib/intel64/libinference_engine.so: undefined symbol:_ZN3tbb10interface78internal15task_arena_base24internal_max_concurrencyEPKNS0_10task_arenaE

Untuk mengatasi kesalahan, Anda perlu memperbarui urutan modul yang diimpor dalam pernyataan imporAnda. Pastikan bahwa Anda mengimporawscammodul sebelumcv2modul.

122

AWS DeepLens Panduan DeveloperPemecahan Masalah Perangkat Lunak pada Perangkat

Cara Menentukan VersiAWS DeepLensPerangkat lunak yangAnda miliki?Perangkat lunak padaAWS DeepLensperangkat adalah paket Debian bernamaawscam. Untuk menemukanversiawscamyang Anda miliki, Anda dapat menggunakanAWS DeepLenskonsol atau terminal padaAWSDeepLensperangkat,

Untuk menggunakanAWS DeepLenskonsol

1. Masuk ke konsol AWS DeepLens tersebut.2. Di panel navigasi, pilihPerangkat.3. DiPerangkatdaftar, pilih perangkat terdaftar Anda.4. CatatVersi perangkat.

Untuk menggunakan terminal padaAWS DeepLenspesawat

1. Connect perangkat Anda ke monitor menggunakan kabel mikro-HDMI, mouse, dan keyboard atausambungkan ke perangkatsshperintah.

2. Di terminal pada perangkat, jalankan perintah berikut:

dpkg -l awscam

3. Cari nomor versi di kolom versi. Sebagai contoh berikut, versi terinstalawscamadalah1.2.3.

Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/ Name Version Architecture Description+++-==============-===========-===============-===============ii awscam 1.2.3 amd64 awscam

Bagaimana Memeriksa Versi Terbaru dari Paket Perangkat Lunakawscam?Anda dapat menggunakan terminal padaAWS DeepLensperangkat untuk melihat apa versiterbaruawscamadalah.

Untuk melihat apa versi terbaru dari awscam menggunakanAWS DeepLenspesawat

1. Connect keAWS DeepLensperangkat.2. Buka terminal di perangkat Anda.3. Jalankan perintah berikut:

sudo apt-get update

sudo apt-cache policy awscam

Contoh berikut menunjukkan output contoh, di mana1.2.3akan menjadi versi terbaru dari awscam padaperangkat Anda:

123

AWS DeepLens Panduan DeveloperPemecahan Masalah Perangkat Lunak pada Perangkat

awscam | 1.2.3 | https://awsdeep-update.us-east-1.amazonaws.com awscam/main amd64 Packages

Bagaimana Cara Mengaktifkan Kembali Hotspot Wi-Fi SetelahMemulai Ulang Perangkat?Jika perangkat Anda kehilangan koneksi Wi-Fi dan memulai ulang perangkat tidak mengaktifkan kembalihotspot Wi-Fi, Anda mungkin akan terpengaruh oleh peningkatan kernel Linux dari Ubuntu. Untukmengatasi hal ini, gulung kembali kernel.

Untuk memutar kembali kernel Linux pada perangkat

1. Buka terminal di perangkat Anda.2. Jalankan perintah berikut:

ifconfig

3. Periksa output perintah. Jika output hanya daftarlocalhostantarmuka jaringan, matikan perangkatdan kemudian hidupkan kembali untuk me-restart sistem.

4. Jika Anda masih belum memiliki akses Wi-Fi, jalankan perintah berikut untuk memeriksa versi kernelLinux yang diinstal.

uname -r

5. Jika Anda memiliki versi 4.13.x-xx dari kernel, Anda terpengaruh oleh upgrade kernel dari Ubuntu.Untuk mengatasi hal ini, kembalikan kernel menggunakan perintah berikut. Gantix-xxdengan nomorversi Anda:

sudo apt remove linux-image-4.13.x-xx-generic linux-headers-4.13.x-xx-genericsudo reboot

Setelah perangkat dimulai ulang, versi kernel harus4.10.17+atau4.13.x-xx-deeplens.

Jika versi Andaawscamperangkat lunak 1.2.0 atau lebih baru, Anda seharusnya tidak memiliki masalah ini.

Bagaimana Memastikan Fungsi Inferensi Lambda yang BerhasilDikerahkan Bisa Dipanggil?Jika Anda berhasil menggunakan fungsi inferensi ke Lambda sebelum 10 Januari 2018, tetapi fungsiLambda tampaknya tidak dipanggil untuk melakukan inferensi, dan versi kernel Linux Anda adalah4.13.0-26, Anda terpengaruh oleh upgrade kernel Linux dari Ubuntu. Untuk mengatasi hal ini, ikuti prosedurdiCara Menentukan VersiAWS DeepLensPerangkat lunak yang Anda miliki? (p. 123)untuk memutarkembali kernel Linux ke Ubuntu 4.10.17+.

Bagaimana cara memperbarui paket perangkat lunak awscam keversi terbaru?Jika Anda mengaktifkan pembaruan otomatis saat Anda mengatur perangkat,AWS DeepLenspembaruansecara otomatisawscamsetiap kali Anda menghidupkan perangkat Anda. Jika Anda menemukan perangkatlunak sudah kedaluwarsa, restartAWS DeepLensperangkat dan tunggu beberapa menit setelah sistemberjalan.

Pembaruan mungkin tertunda atau gagal dalam kondisi berikut:

124

AWS DeepLens Panduan DeveloperPemecahan Masalah Perangkat Lunak pada Perangkat

• Skenario 1: Sistem Ubuntu diperbarui setiap kali Anda me-restart perangkat. Ini blokbersamaanawscampembaruan otomatis. Untuk memeriksa apakah pembaruan Ubuntu berjalan, jalankanperintah berikut ini dari terminal:

sudo lsof /var/lib/dpkg/lock

Jika output terlihat mirip dengan berikut ini, pembaruan Ubuntu bersamaan berjalan:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEunattende 2638 root 4uW REG 179,2 0 21 /var/lib/dpkg/lock

Dalam hal ini, tunggu hingga pembaruan Ubuntu selesai. Jika versi terinstalawscamlebih awal dari1.1.11, restart sistem setelah Ubuntu selesai memperbarui. Jika tidak, tungguawscammemperbarui untukmemulai secara otomatis.

• Skenario 2:awscaminstalasi dapat terganggu oleh restart sistem atau acara lainnya. Jika initerjadi,awscammungkin hanya sebagian dikonfigurasi. Jalankan perintah berikut untuk memeriksa versipaket:

dpkg -l awscam

Jika upgrade belum berhasil diselesaikan, Anda melihat output yang serupa dengan berikut ini:

Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/ Name Version Architecture Description+++-==============-===========-==============-===============iF awscam 1.1.10 amd64 awscam

StatusiFmencegahawscamPembaruan. Untuk mengatasi masalah ini, jalankan perintah berikut:

sudo dpkg --configure -a

Verifikasi status lagi dan restart perangkat untuk membiarkan pembaruan otomatisawscamlanjutkan.• Skenario 3: Jika Anda telah mencoba saran untuk Skenario 1 dan 2, danawscammasih belum diperbarui,

jalankan pembaruan secara manual dengan menjalankan perintah berikut:

sudo apt-get updatesudo apt-get install awscam

Biarkan beberapa menit hingga update selesai. JikaAWS DeepLensmelaporkan kesalahan selamaproses upgrade, lihatCara Meng-upgrade awscam Software Paket Dependensi? (p. 125).

Cara Meng-upgrade awscam Software Paket Dependensi?Saat meng-upgradeawscampada perangkat Anda, Anda mungkin mendapatkan pesan kesalahan tentangdependensi yang tidak terpenuhi. Contoh pesan galat tersebut ditampilkan dalam output berikut:

Reading package lists... DoneBuilding dependency treeReading state information... DoneYou might want to run 'apt-get -f install' to correct these.The following packages have unmet dependencies:

125

AWS DeepLens Panduan DeveloperPemecahan Masalah Perangkat Lunak pada Perangkat

pulseaudio : Depends: libpulse0 (= 1:8.0-0ubuntu3.3) but 1:8.0-0ubuntu3.4 isinstalledpulseaudio-module-bluetooth : Depends: pulseaudio (= 1:8.0-0ubuntu3.4)pulseaudio-module-x11 : Depends: pulseaudio (= 1:8.0-0ubuntu3.4)E: Unmet dependencies. Try using -f.

Untuk mengatasi kesalahan tersebut, jalankan perintah berikut ini dari terminal di perangkat Anda:

sudo apt-get -f install

Jika kesalahan berlanjut atau Anda mendapatkan pesan galat lain yang mirip dengan berikut ini, Andamungkin perlu memaksa instalasi:

Errors were encountered while processing:/var/cache/apt/archives/pulseaudio_1%3a8.0-0ubuntu3.4_amd64.debE: Sub-process /usr/bin/dpkg returned an error code (1)

Untuk memaksa instalasi, jalankan perintah berikut:

sudo dpkg --configure -asudo dpkg -i --force-overwrite /var/cache/apt/archives/pulseaudio_1%3a8.0-0ubuntu3.4_amd64.deb

Jika Anda memiliki kernel Linux versi 4.13-32, Anda mungkin perlu mengubah jalur paket audio pulsake/var/cache/apt/archives/pulseaudio_1%3a8.0-0ubuntu3.7_amd64.debdalam perintahsebelumnya.

Pastikan bahwa paket diinstal dengan memeriksa output dari perintah berikut:

sudo apt-get -f install

Jika beberapa paket menampilkanErrors were encountered while processingpesan kesalahan,jalankan perintah berikut pada masing-masing:

dpkg -i --force-overwrite

Setelah instalasi paksa selesai, jalankan perintah berikut untuk menyelesaikan upgrade:

sudo apt-get upgrade

Bagaimana cara menginstal pembaruan keamanan padaperangkat?Saat menggunakansshuntuk menyambung ke perangkat Anda, Anda mungkin melihat pesan seperti245packages can be updateddan145 updates are security updates.

Secara umum, pembaruan keamanan tidak memengaruhi pengoperasian perangkat Anda. Namun, jikaAnda memiliki masalah keamanan, Anda dapat menerapkan pembaruan keamanan secara manual denganperintah berikut:

sudo apt-get updatesudo apt-get upgrade

Untuk memperbarui semua paket sekaligus, jalankan perintah berikut:

126

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

sudo apt-get dist-upgrade

Jika Anda mendapatkanunmet dependenciespesan kesalahan, ikuti instruksi diCara Meng-upgradeawscam Software Paket Dependensi? (p. 125)untuk mengatasi kesalahan.

Bagaimana Menangani Arsitektur yang Tidak Didukung SelamaPembaruan Perangkat?Jika Anda menjalankansudo apt-get updateperintah dan mendapatkanThe https://awsdeepupdate.us-east-1.amazonaws.com packages repository is not set to public(access denied) causing error: "doesn't support architecture i386"pesan kesalahan,Anda dapat mengabaikannya dengan aman. Parameterawscampaket didukung hanya untuk arsitekturx86_64.

Pemecahan Masalah Pendaftaran PerangkatGunakan pedoman berikut untuk memecahkan masalahAWS DeepLensregistrasi perangkat.

Topik• Mengapa Upaya Saya untuk MenggunakanAWS DeepLensKonsol untuk Mendaftarkan Perangkat

Masuk ke Loop Rupanya Tak Berujung dan Gagal Menyelesaikan? (p. 127)• SayaAWS DeepLensPerangkat Edisi 2019 (v1.1) Apakahn'tMendeteksiedSelama Registrasi (p. 128)• Cara Melakukan Pembaruan Pertama Kali padaAWS DeepLensPerangkat (p. 128)• Bagaimana Cara Mengubah Perangkat Anda Kembali ke Mode Penyiapan untuk Menyelesaikan

Pendaftaran Perangkat atau Memperbarui Pengaturan Perangkat? (p. 129)• Bagaimana Connect Perangkat Anda ke Jaringan Wi-Fi Rumah atau Kantor Saat Wi-Fi SSID atau Kata

Sandi Berisi Karakter Khusus? (p. 130)• Peran IAM Apa yang Harus Dipilih Saat Tidak Tersedia? (p. 131)• Bagaimana Melihat Output Proyek di Browser Chrome di Mac El Capitan atau Sebelumnya? (p. 131)• Cara Memperbaiki File Sertifikat yang Tidak Lengkap (.zip)? (p. 132)• Cara Memperbaiki File Sertifikat yang Diunggah Salah? (p. 132)• Bagaimana Mengatasi Batas Pengguna Maksimum Melebihi Pembatasan untuk Perangkat, Proyek,

atau Model? (p. 132)• Cara Memperbaiki Deregistrasi GagalAWS DeepLensPerangkat? (p. 132)• Cara Mengatasi Registrasi GagalAWS DeepLensPerangkat? (p. 132)• Bagaimana Cara Membuka Halaman Pengaturan Perangkat Saat Alamat IP Lokal Perangkat

(192.168.0.1) Tidak Dapat Diakses? (p. 133)• Bagaimana Cara Membuat Jaringan Wi-Fi Perangkat Terlihat di Komputer Anda Saat Indikator Wi-Fi

Perangkat Berkedip atau Setelah Komputer Anda Terhubung ke Perangkat? (p. 133)• Bagaimana Cara Memperbaiki Setel Ulang Wi-Fi Perangkat yang Tidak Berhasil? (p. 134)

Mengapa Upaya Saya untuk MenggunakanAWSDeepLensKonsol untuk Mendaftarkan Perangkat Masuk ke LoopRupanya Tak Berujung dan Gagal Menyelesaikan?Bila Anda menggunakanAWS DeepLenskonsol untuk mendaftarkan perangkat, jika pendaftaran gagaluntuk menyelesaikan setelah Anda memilihPerangkat, Anda mungkin telah menggunakan browser yangtidak didukung. Pastikan bahwa Anda tidak menggunakan browser berikut:

127

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

Browser yang tidak didukung untukAWS DeepLensKonsol

• Internet Explorer 11 pada Windows 7

SayaAWS DeepLensPerangkat Edisi 2019 (v1.1)Apakahn'tMendeteksiedSelama RegistrasiSaat mendaftarkanAWS DeepLens2019 Edition (v1.1) perangkat, komputer Andamungkintidakmendeteksi perangkat setelah Anda terhubungiake komputer Anda dengan kabel USB. InimencegahSmenyelesaikanpendaftaran.

Untuk memastikan bahwa perangkat Anda dapat dideteksi, pastikanitu:

• Perangkat Anda dinyalakan.• Komputer Anda terkoneksi ke perangkat melalui perangkatREGISTRASIPort USB dibawah.• Komputer Andan'tterhubung ke Ethernet dan jaringan VPN.• Firewall Andan'tmemblokirAWS DeepLenskoneksi jaringan.• Anda menggunakan Chrome, Firefox,atau Safari dan memilikiterpasangyang terbarusistem

operasimemperbarui.

Jika-mukomputer masih tidak mendeteksipesawat, putuskankabel USBdariport USB PENDAFTARAN padaperangkat,menghubungkannya kembali, danmenunggubeberapamenitS.

Jika itu tidak berhasil, periksa urutan layanan antarmuka jaringan di komputer Anda. Urutan layananantarmuka jaringanbisamencegah perangkat Anda terdeteksi saat pendaftaran. Misalnya, jika antarmukaUSB-C memiliki preferensi yang lebih tinggi atas antarmuka USB standar di komputer Anda, komputerAndadapatdefaultsangUSB-Cpelabuhanuntuk memindai perangkat USB terlampir. Akibatnya, ykitaAWSDeepLensperangkat akantidak terlihatke komputer Anda. Dalam kasus ini,menyusun ulang preferensijenis jaringan. Untuk melakukannya,melihat Cara memprioritaskan koneksi internet yang digunakan MacAndaatauCara mengubah urutan prioritas adaptor jaringanWindows 10.

Cara Melakukan Pembaruan Pertama Kali padaAWSDeepLensPerangkatJika Anda memilikiAWS DeepLensPerangkat 2019 (v1.1) dikirim sebelum 28/3/2020 dan tidak menjalankanversi perangkat lunak v1.4.5, Anda mungkin perlu melakukan pembaruan perangkat lunak satu kali.

Untuk melakukan pembaruan, Anda memerlukan:

• Penjepit kertas kecil atau pin untuk mengatur ulang perangkat• AWS DeepLens2019 (v1.1) perangkat dan catu daya

Untuk melakukan pembaruan baru:

1. TerhubungAWS DeepLensperangkat.2. Di bagian belakangAWS DeepLensperangkat, masukkan klip kertas atau pin ke lubang jarum reset.

Setelah Anda mendengar klik, tunggu sekitar 20 detik agar indikator Wi-Fi (lampu tengah) berkedip.

Saat indikator Wi-Fi berkedip, perangkat Anda dalam mode pengaturan.3. Masuk keAWS Management ConsoleuntukAWS DeepLenspadahttps://console.aws.amazon.com/

deeplens/.

128

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

4. DiAWS DeepLenskonsol, pilihPerangkat.5. PilihHW v1.

Warning

Anda harus memilih HW v1 meskipun perangkat Anda v1.1.6. Berikan namaAWS DeepLensperangkat. pilihUnduh sertifikatnya. untuk mengunduh sertifikat ke

komputer Anda.7. PilihUnduh sertifikatnyauntuk mengunduh sertifikat ke komputer Anda.8. Ikuti petunjuk pada layar untuk terhubung keAWS DeepLensJaringan Wi-Fi dan lanjutkan proses

pendaftaran.9. Setelah menyelesaikan proses pendaftaran, Anda akan melihat pemberitahuan di dalam halaman

detail perangkat yang menyatakan bahwa pembaruan tersedia untuk perangkat Anda. Gulir ke bawahke klik bawahPerbarui.

Note

Diperlukan waktu 10 menit agar perangkat Anda diperbarui.10. Saat pembaruan selesai, perangkat akan dimulai ulang. Saat perangkat kembali online, perangkat

akan diperbarui ke v1.4.5.

Setelah AndaAWS DeepLensperangkat diperbarui untuk v1.4.5, Anda dapat menggunakan kabel USBuntuk update masa depan.

Bagaimana Cara Mengubah Perangkat Anda Kembali ke ModePenyiapan untuk Menyelesaikan Pendaftaran Perangkat atauMemperbarui Pengaturan Perangkat?Jika Anda tidak melihat SSID jaringan Wi-Fi perangkat Anda di antara jaringan Wi-Fi yang tersedia dikomputer Anda dan indikator Wi-Fi perangkat (lampu LED tengah) tidak berkedip, Anda tidak dapatmenyambung ke perangkat untuk mengatur perangkat dan menyelesaikan pendaftaran.

Perangkat Anda berada dalam mode penyetelan saat indikator Wi-Fi (lampu LED tengah) di bagiandepan perangkat berkedip. Saat Anda mulai mendaftarkan perangkat, perangkat akan di-boot ke modepengaturan setelah Anda menyalakannya. Hanya dalam mode pengaturan adalah Wi-Fi perangkat(AMDC-NNNN) jaringan terlihat dalam daftar jaringan Wi-Fi yang tersedia di komputer Anda. Setelah 30menit, perangkat keluar dari mode pengaturan, dan indikator Wi-Fi tetap menyala dan berhenti berkedip,

Perangkat Anda harus berada dalam mode pengaturan agar Anda dapat menghubungkan komputer keperangkat, mengonfigurasi perangkat untuk menyelesaikan pendaftaran atau memperbarui pengaturanperangkat, atau untuk melihat output proyek yang digunakan. Jika Anda tidak menyelesaikan pengaturandalam waktu yang ditentukan, Anda harus mengatur ulang perangkat kembali ke mode pengaturan dankemudian menghubungkan kembali komputer Anda ke jaringan Wi-Fi perangkat.

Setelah menghubungkan komputer ke jaringan Wi-Fi perangkat, navigasikan kehttp://deeplens.configdari browser web untuk membuka halaman konfigurasi perangkat dan menyelesaikanpengaturan perangkat Anda. Untuk registrasi awal, Anda mungkin ingin mengetikhttp://deeplens.amazon.netdi bilah alamat browser untuk membuka halaman konfigurasi.

Untuk petunjuk terperinci agar tersambung ke jaringan Wi-Fi perangkat Anda, lihatthe section called“Connect ke Perangkat” (p. 23).

129

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

Bagaimana Connect Perangkat Anda ke Jaringan Wi-Fi Rumahatau Kantor Saat Wi-Fi SSID atau Kata Sandi Berisi KarakterKhusus?Jika jaringan rumah atau kantor Anda Nama Wi-Fi (SSID) atau kata sandi berisi karakter khusus(termasuk tanda kutip tunggal, garis miring belakang, atau spasi putih), Anda mungkin tidak dapatmenghubungkanAWS DeepLensperangkat ke jaringan Wi-Fi rumah atau kantor saat menyiapkanperangkat di halaman konfigurasi perangkat (http://deeplens.amazon.netatauhttp://deeplens.config).

Untuk mengatasi hal ini, ikuti langkah-langkah di bawah ini untuk menggunakan perintah SSH untuk masukke perangkat dan menghubungkannya ke jaringan Wi-Fi rumah atau kantor Anda.

Untuk menghubungkan perangkat DeepLens Anda ke jaringan Wi-Fi rumah atau kantor Anda saatSSID Wi-Fi dan kata sandi berisi karakter khusus

1. Connect ke jaringan Wi-Fi perangkat Anda.

a. Nyalakan DeepLens Anda dan tekan tombol daya di bagian depan untuk menghidupkanperangkat. Lewati langkah ini jika perangkat sudah dinyalakan.

b. Tunggu sampai perangkat masuk ke mode pengaturan saat indikator Wi-Fi di bagian depanperangkat mulai berkedip. Jika Anda melewatkan langkah sebelumnya, Anda dapat mengubahperangkat ke mode pengaturannya dengan menekan klip kertas ke lubang jarum reset di bagianbelakang perangkat dan, setelah merasakan klik, tunggu sekitar 20 detik agar indikator Wi-Fiberkedip.

c. Connect komputer Anda ke jaringan Wi-Fi perangkat dengan memilih perangkat jaringanWi-Fi SSID (dariAMDC-NNNNformat) dari daftar jaringan yang tersedia dan ketik kata sandijaringan. SSID dan kata sandi dicetak di bagian bawah perangkat Anda. Di komputerWindows, pilihMenghubungkan menggunakan kunci keamanan sebagai gantinyaketika dimintauntukMasukkan PIN dari label router (biasanya 8 digit).

2. Setelah koneksi Wi-Fi dibuat, buka peramban web di komputer Anda dan ketikhttp://deeplens.amazon.net/#deviceAccessdi bilah alamat.

3. DiMengonfigurasikan akses perangkathalaman, pilihAktifkandi bawahServer SSH. Buat kata sandiperangkat jika Anda belum melakukannya. Pilih Save (Simpan).

Important

Setelah memilihSimpanjangan memilihSelesai. Jika tidak, Anda akan terputus dari perangkatdan tidak dapat melanjutkan langkah berikut.Jika Anda telah memilihSelesaimengikutiLangkah 1-3di atas untuk kembali ke jaringan Wi-Fiperangkat sebelum melanjutkan ke langkah berikutnya.

4. Saat komputer terkoneksi ke perangkat (AMDC-NNNN) koneksi Wi-Fi jaringan, buka terminal dikomputer Anda dan jalankan perintah SSH berikut untuk masuk ke perangkat Anda:

ssh [email protected]

Ketik kata sandi perangkat.

Note

Pada komputer yang menjalankan Windows, Anda dapat menggunakan PuTTY atau klienSSH serupa untuk menjalankan perintah SSH.

5. Setelah Anda login, jalankan perintah shell berikut di terminal:

130

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

sudo nmcli device wifi con '<wifi_ssid>' password '<wifi_password>' ifname mlan0

Ganti<wifi_ssid>dan<wifi_password>dengan SSID dan kata sandi untuk koneksi Wi-Fi, masing-masing.

Anda harus melampirkan SSID dan kata sandi dalam tanda kutip tunggal. Jika SSID atau katasandi berisi kutipan tunggal, lepaskan setiap instance dengan awalan garis miring belakang (\) danmelampirkan mereka dalam sepasang tanda kutip tunggal. Misalnya, jika kutipan tunggal munculdalam aslinya<wifi_ssid>sebagaiJane's Home Network, versi lolos adalahJane'\''s HomeNetwork.

Setelah perintah dijalankan, verifikasi bahwa perangkat Anda terhubung ke internet dengan melakukanping situs web publik.

6. Pergi kehttp://deeplens.amazon.netatauhttp://deeplens.configdi browser Andauntuk melanjutkan pengaturan perangkat, seperti yang ditentukan olehLangkah 3.bdi SiapkanPerangkat (p. 27).

Saat diminta, perbarui perangkat lunak perangkat ke versi 1.3.10 atau yang lebih tinggi. Pembaruanmemastikan bahwa AndaAWS DeepLensperangkat dapat terhubung ke jaringan Wi-Fi rumah ataukantor Anda dariAWS DeepLenskonsol sehingga Anda tidak perlu mengulangi solusi ini.

Peran IAM Apa yang Harus Dipilih Saat Tidak Tersedia?Jika peran IAM yang diperlukan tidak tersedia di akun Anda saat mendaftarkan perangkatmenggunakanAWS DeepLenskonsol untuk yang pertama, Anda akan diminta untuk membuat perandengan satu klik tombol.

Bagaimana Melihat Output Proyek di Browser Chrome di Mac ElCapitan atau Sebelumnya?Pada komputer Mac (El Capitan dan sebelumnya), Anda harus memberikan kata sandi untuk mengunggahsertifikat streaming ke gantungan kunci saat menggunakan Chrome. Untuk menggunakan Chrome untukmelihat output proyek yang dialirkan dari perangkat Anda, Anda harus memperbarui perangkat lunakperangkat untuk mengaitkan kata sandiDeepLensdengan sertifikat terlebih dahulu dan kemudian gunakankata sandi untuk menambahkan sertifikat streaming ke gantungan kunci. Langkah-langkah rinci dalamprosedur berikut.

MengaturDeepLenspassword pada perangkat untuk mengaktifkan melihat output proyek diChrome pada Mac El Capitan atau sebelumnya

1. Memperbarui perangkat lunak perangkat untuk mengaturDeepLenskata sandi untuk sertifikatstreaming:

a. Connect keAWS DeepLensperangkat menggunakan koneksi SSH atau UHDMi.b. Pada terminal perangkat, ketik$wget https://s3.amazonaws.com/cert-fix/

cert_fix.zip.c. Jenis$unzip cert_fix.zipunzip file.d. Jenis$cd cert_fixuntuk melangkah ke direktori yang di-unzip.e. Jenis$sudo bash install.suntuk menginstal pembaruan.f. Mulai ulang perangkat Anda.

2. Setelah perangkat dimulai, unggah sertifikat streaming ke Mac Anda (El Capitan atau versi lebih lama)untuk melihat output proyek:

131

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

a. Hubungkan (p. 23)komputer Anda ke perangkat Wi-Fi (AMDC-NNNN) jaringanb. Buka halaman pengaturan perangkat di browser Anda menggunakandeeplens.configURLc. PilihMengaktifkan sertifikat streaming. Abaikan petunjuk browser.d. PilihUnduh sertifikat streamingtombol.e. Setelah sertifikat diunduh, ganti nama sertifikat yang diunduh

daridownloadkepadamy_device.p12atausome_other_unique_string.p12.f. Klik dua kali pada sertifikat Anda untuk mengunggahnya ke dalam gantungan kunci.g. Gantungan kunci akan meminta Anda untuk password sertifikat, masukkanDeepLens.h. Untuk melihat output proyek yang dialirkan dari perangkat Anda, buka

Chrome di komputer Mac Anda dan arahkan ke halaman web server videoperangkathttps://your_device_ip:4000atau menggunakanAWS DeepLenskonsol untukmembuka halaman.

Anda akan diminta untuk memilih sertifikat streaming dari gantungan kunci. Namun, gantungankunci mengacu pada sertifikat streaming apa pun yang diunggahLangkah 2.fdi atasclientcert. Untuk membedakan beberapa entri key-chain yang sama, gunakan tanggal kedaluwarsadan tanggal validasi saat memilih sertifikat streaming.

i. Tambahkan pengecualian keamanan. Saat diminta, masukkan nama pengguna dan kata sandisistem komputer Anda, dan pilih agar browser mengingatnya sehingga Anda tidak perlu terusmemasukkannya.

Cara Memperbaiki File Sertifikat yang Tidak Lengkap (.zip)?Jika Anda mendownload file.zip sertifikat dan lupa untuk memilihSelesaitombol, Anda mendapatkan filesertifikat yang tidak lengkap dan, oleh karena itu, tidak dapat digunakan. Untuk memperbaikinya, hapus filezip yang diunduh dan daftar ulang perangkat Anda.

Cara Memperbaiki File Sertifikat yang Diunggah Salah?Jika Anda secara tidak sengaja mengunggah berkas sertifikat (.zip) yang salah, unggah berkas sertifikat(.zip) yang benar untuk menimpa file yang salah.

Bagaimana Mengatasi Batas Pengguna Maksimum MelebihiPembatasan untuk Perangkat, Proyek, atau Model?Deregister perangkat, menghapus proyek, atau menghapus model sebelum menambahkan yang baru.

Cara Memperbaiki Deregistrasi GagalAWS DeepLensPerangkat?Hentikan deregistrasi dan daftar ulang perangkatnya.

Untuk menghentikan deregistering dan kemudian mendaftar ulangAWS DeepLenspesawat

1. Balikkan perangkat kembali ke mode pengaturannya dengan memasukkan klip kertas kecil ke lubangjarum reset di bagian belakang perangkat.

2. Reregister perangkat dengan nama perangkat baru.3. Unggah sertifikat baru untuk mengganti yang lama.

Cara Mengatasi Registrasi GagalAWS DeepLensPerangkat?Registrasi perangkat sering gagal karena Anda memiliki izin yang salah atau tidak mencukupi. Pastikanbahwa peran dan izin IAM yang benar ditetapkan untukAWSlayanan yang Anda gunakan.

132

AWS DeepLens Panduan DeveloperPemecahan Masalah Pendaftaran Perangkat

Misalnya, saat menyetel izin diAWS DeepLenskonsol, Anda harus telah membuat peran IAM denganizin yang diperlukan untukAWS IoT Greengrassdan terkait peran ini denganPeran IAM untuk AWSGreengrasspilihan. Jika pendaftaran gagal, pastikan bahwa Anda telah membuat dan menentukan peranyang benar, lalu daftar ulang perangkat.

Menentukan peran Lambda yang ada untukPeran IAM untukAWSLambdajuga dapat menyebabkanpendaftaran gagal jika nama peran tidak dimulai denganAWSDeepLens. Menentukan peran yang namanyatidak dimulaiAWSDeepLenstidak memengaruhi penyebaran fungsi Lambda.

Untuk mengatur peran dengan benar, ikuti petunjuk diDaftarkan AndaAWS DeepLensPerangkat (p. 9)danperiksa denganAWS DeepLenskiat konsol untuk setiap peran.

Bagaimana Cara Membuka Halaman Pengaturan Perangkat SaatAlamat IP Lokal Perangkat (192.168.0.1) Tidak Dapat Diakses?JikaAWS DeepLensperangkat sedang menjalankan perangkat lunak (awscam) versi 1.3.6 atau yanglebih baru, Anda dapat membuka halaman pengaturan perangkat dengan menavigasi kehttp://deeplens.amazon.net(pertama kali Anda mendaftarkan perangkat) atauhttp://deeplens.configdijendela browser di komputer Anda. Komputer Anda harusterhubung ke perangkat (AMDC-nnnn) JaringanWi-Fi (p. 23).

Jika perangkat Anda menjalankan versi sebelumnyaawscampaket, update o versi terbaru denganmenjalankan perintah berikut dari terminal pada perangkat:

sudo apt updatesudo apt install awscam

Jika Anda tidak ingin memperbaruiawscampaket ke versi terbaru belum, Anda dapat menavigasikehttp://192.168.0.1untuk meluncurkan halaman pengaturan perangkat jikaAWS DeepLenspaketperangkat lunak perangkat lebih tua dari 1.2.4 atau Anda dapat menavigasi ke http://10.105.168.217 jikapaket perangkat lunak perangkat adalah 1.2.4 atau yang lebih baru

Jika perangkat lunak perangkat Anda lebih tua dari 1.2.4 dan router jaringan Wi-Fi rumah atau kantorAnda juga menggunakan192.168.0.1sebagai alamat IP default, atur ulang alamat IP router ke,misalnya,192.168.1.0. Untuk petunjuk tentang menyetel ulang alamat IP router Anda, lihat dokumentasiuntuk router Anda. Misalnya, untuk mengubah alamat IP router D-Link, lihatBagaimana cara mengubahAlamat IP router saya?.

Jika jaringan Wi-Fi perangkat Anda tidak responsif, atur ulang perangkat dan sambungkan kembali keperangkat tersebut. Untuk mengatur ulang perangkat, tekan pin padaATUR ULANGtombol di bagianbelakang perangkat, dan tunggu sampai indikator Wi-Fi (di bagian depan perangkat) berkedip.

Bagaimana Cara Membuat Jaringan Wi-Fi Perangkat Terlihat diKomputer Anda Saat Indikator Wi-Fi Perangkat Berkedip atauSetelah Komputer Anda Terhubung ke Perangkat?Bila Anda tidak dapat melihat jaringan Wi-Fi perangkat di laptop meskipun lampu LED tengah padaperangkat berkedip atau jika komputer Anda masih terhubung ke jaringan Wi-Fi perangkat setelah lampuLED tengah berhenti berkedip, segarkan jaringan Wi-Fi yang tersedia di komputer Anda. Biasanya, inimelibatkan mematikan laptop Wi-Fi dan menyalakannya kembali.

Dibutuhkan waktu hingga 2 menit untuk me-reboot perangkat dan agar perangkat jaringan Wi-Fi siapmenerima permintaan koneksi.

133

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Deployment ke Perangkat

Bagaimana Cara Memperbaiki Setel Ulang Wi-Fi Perangkat yangTidak Berhasil?Jika indikator Wi-Fi perangkat (lampu LED tengah) tidak berkedip setelah Anda mengatur ulang perangkatdengan menekan pin ke lubang jarum reset di bagian belakangnya, hubungkan perangkat ke internetdengan kabel Ethernet, hubungkan perangkat ke monitor. keyboard dan mouse, masuk ke perangkat, bukajendela terminal, dan jalankan perintah berikut untuk mengatur ulangawscampaket:

sudo systemctl status softap.service

Jika perintah mengembalikan kode kesalahan 203, instal ulangawscam-webserverdengan menjalankanperintah berikut padaAWS DeepLensPerangkat:

sudo apt-get install --reinstall awscam-webserversudo reboot

Reboot yang berhasil mengatur jaringan Wi-Fi perangkat, dan lampu LED tengah pada perangkat akanmulai berkedip.

Masalah Pemecahan Masalah dengan ModelDeployment keAWS DeepLensPerangkatGunakan informasi berikut untuk memecahkan masalah yang terjadi saat menyebarkan model keAWSDeepLensperangkat.

Topik• Bagaimana Mengatasi Kesalahan Akses Ditolak Ditemui Saat Mengunduh Model Setelah Pendaftaran

Perangkat Pergi melalui tanpa Kesalahan? (p. 134)• Bagaimana Mengatasi Kesalahan ModelDownloadFailed? (p. 134)• Resolve Model Optimization Kegagalan Dilaporkan Sebagai std# bad_alloc () (p. 135)• Cara Mengatasi Kegagalan Optimasi Model Disebabkan oleh Atribut langkah Hilang? (p. 135)• Cara Mengatasi Kegagalan Optimasi Model Saat Objek Daftar Hilang Atribut bentuk? (p. 135)• Bagaimana Memastikan Kesimpulan yang Wajar untuk Model? (p. 136)• Cara Menentukan MengapaAWS DeepLensMengklasifikasikan Data Salah Ketika Model Berkinerja

Baik pada Validasi Set? (p. 136)

Bagaimana Mengatasi Kesalahan Akses Ditolak Ditemui SaatMengunduh Model Setelah Pendaftaran Perangkat Pergi melaluitanpa Kesalahan?Saat mengatur izin selama registrasi perangkat, pastikan bahwa Anda memiliki peran IAMAWS IoTGreengrassdibuat dan peran dikaitkan denganPeran grup IAM untukAWSGreengrasspilihan pada konsolsaat menetapkan izin selama pendaftaran perangkat. Jika tidak, daftar ulang perangkat dengan peran yangbenar.

Bagaimana Mengatasi Kesalahan ModelDownloadFailed?Saat menggunakanAWS DeepLenskonsol, Anda harus memberikan dua peran IAM untukAWSIoT Greengrass: Peran IAMAWSGreengrassdanPeran grup IAM untukAWSGreengrass.Jika Anda menentukan peran IAM yang sama untuk keduanya, Anda mendapatkan

134

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Deployment ke Perangkat

kesalahan ini. Untuk memperbaikinya, tentukanAWSDeepLensGreengrassRoleuntukPeranIAMAWSGreengrassdanAWSDeepLensGreengrassGroupRoleuntukPeran grup IAMuntukAWSGreengrass.

Resolve Model Optimization Kegagalan Dilaporkan Sebagai std#bad_alloc ()Hal ini terjadi karena versi MXNet pada perangkat tidak cocok dengan versi yang digunakan untuk melatihmodel. Upgrade versi MXNet pada perangkat dengan menjalankan perintah berikut dari terminal padaperangkat:

sudo pip3 install mxnet==1.0.0

Kami berasumsi bahwa versi MXNet yang digunakan untuk pelatihan adalah1.0.0. Jika Andamenggunakan versi yang berbeda untuk pelatihan, ubah nomor versi yang sesuai.

Cara Mengatasi Kegagalan Optimasi Model Disebabkan olehAtribut langkah Hilang?Jika Anda belum menentukanstrideargumen dalam daftar parameter hiper untuk pooling layer, modeloptimizer gagal dan melaporkan pesan galat berikut:

AttributeError: 'MxNetPoolingLayer' object has no attribute 'stride_x'

Hal ini terjadi karenastrideargumen dihapus dari daftar parameter hyper lapisan MXNet pooling terbaru.

Untuk memperbaiki masalah, tambahkan"stride": "(1, 1)"ke file simbol. Dalam editor teks, edit filesimbol Anda sehingga lapisan penggabungan terlihat seperti ini:

{ "op": "Pooling", "name": "pool1", "attr": { "global_pool": "True", "kernel": "(7, 7)", "pool_type": "avg", "stride": "(1, 1)" }, "inputs": <your input shape>},

Setelahstrideproperti ditambahkan ke semua lapisan pooling, Anda seharusnya tidak lagi mendapatkankesalahan dan semuanya harus bekerja seperti yang diharapkan. Untuk informasi selengkapnya,lihatposting forum ini.

Cara Mengatasi Kegagalan Optimasi Model Saat Objek DaftarHilang Atribut bentuk?Anda menerima pesan galat berikut selama optimasi model ketika nama layer untuk operator non-nullmemiliki akhiran:

File "/opt/intel/deeplearning_deploymenttoolkit_2017.1.0.5852/deployment_tools/model_optimizer/model_optimizer_mxnet/mxnet_convertor/mxnet_layer_utils.py", line 75, in transform_convolution_layerres = np.ndarray(l.weights.shape)AttributeError: 'list' object has no attribute 'shape'

135

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Deployment ke Perangkat

Di editor teks, buka file simbol model Anda (<model_name>-symbol.json. Hapus akhiran dari semuanama layer untuk operator non-null. Berikut adalah contoh bagaimana operator non-null didefinisikan:

{ "op": "Convolution", "name": "deep_dog_conv0_fwd", "attr": { "dilate": "(1, 1)", "kernel": "(3, 3)", "layout": "NCHW", "no_bias": "False", "num_filter": "64", "num_group": "1", "pad": "(0, 0)", "stride": "(2, 2)" }}

Perubahan"name": "deep_dog_conv0_fwd"kepada"name": "deep_dog_conv0"x.

Sebaliknya, berikut ini adalah contoh operator null:

{ "op": "null", "name": "deep_dog_conv0_weight", "attr": { "__dtype__": "0", "__lr_mult__": "1.0", "__shape__": "(64, 0, 3, 3)", "__wd_mult__": "1.0" }},

Untuk lapisan softmax, jika"attr": "{}"properti hilang, menambahkannya ke file JSON. Misalnya:

{ "op": "SoftmaxOutput", "name": "softmax", "attr": {}, "inputs": [[192,0,0]]}

Akhirnya, pastikan bahwa Anda hanya menggunakan layer yang didukung dalam model Anda. Untuk daftarlayer MXnet yang didukung, lihatModel MXNet (p. 46).

Bagaimana Memastikan Kesimpulan yang Wajar untuk Model?Untuk memastikan kesimpulan yang wajar berdasarkan model tertentu, tinggi dan lebar model optimizerharus sesuai dengan tinggi dan lebar gambar dalam set pelatihan. Misalnya, jika Anda melatih model Andamenggunakan gambar yang 512 piksel X 512 piksel, Anda harus mengatur tinggi dan lebar model optimizermenjadi 512 X 512. Jika tidak, kesimpulan tidak akan masuk akal.

Cara Menentukan MengapaAWS DeepLensMengklasifikasikanData Salah Ketika Model Berkinerja Baik pada Validasi Set?AWS DeepLensmengklasifikasikan data secara tidak benar bahkan jika model berkinerja baik pada setvalidasi ketika data pelatihan Anda tidak dinormalisasi. Melatih kembali model dengan data pelatihan yangdinormalisasi.

136

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Deployment ke Perangkat

Jika data pelatihan telah dinormalisasi, juga menormalkan data input sebelum meneruskannya ke mesininferensi.

137

AWS DeepLens Panduan DeveloperawscamModul

AWS DeepLensPustaka PerangkatParameterAWS DeepLensperpustakaan perangkat terdiri dari satu set modul Python yang menyediakanobjek dan metode untuk berbagai operasi perangkat:

• Parameterawscammodul untuk menjalankan kode inferensi berdasarkan model proyek.• Parametermomodul untuk mengubah artefak model deep learning Caffe, Apache MXNet atau

TensorFlow Anda menjadiAWS DeepLensartefak Model dan melakukan optimasi yang diperlukan.• ParameterDeepLens_Kinesis_Videomodul untuk mengintegrasikan dengan Kinesis Video Streams

untuk mengelola streaming dariAWS DeepLensperangkat ke aliran Kinesis Video Streams.

Topik• awscamModul untuk Inferensi (p. 138)• Model Optimasi (mo) Modul (p. 144)• Modul Deeplens_kinesis_video untuk Integrasi Amazon Kinesis Video Streams (p. 155)

awscamModul untuk InferensiGunakanawscammodul untuk mengambil frame video dari AndaAWS DeepLensperangkat dan memuatmodel deep learning ke mesin inferensi perangkat. Gunakan model untuk menjalankan inferensi padabingkai gambar yang diambil.

Saat Anda membuat fungsi inferensi AWS Lambda untuk digunakan padaAWS DeepLensproyek,Anda menggunakanawscammodul. Parameterawscammembutuhkancv2modul. Parametercv2modulmemiliki ketergantungan padaawscammodul, sehingga Anda harus mengimporawscammodul sebelummengimporcv2modul.

Topik• awscam.getLastFrame Fungsi (p. 138)• Model Obyek (p. 139)

awscam.getLastFrame FungsiMengambil frame terbaru dari aliran video. Streaming video berjalan terus-menerus ketikaAWSDeepLenssedang berjalan.

Sintaks Permintaan

import awscamret, video_frame = awscam.getLastFrame()

Parameter

• Tidak ada

Tipe Pengembalian

• ret—A nilai Boolean (true atau false) yang menunjukkan apakah panggilan berhasil.

138

AWS DeepLens Panduan DeveloperModel Obyek

• video_frame—A numpy.ndarray yang mewakili bingkai video.

Model Obyekclass awscam.Model

MerupakanAWS DeepLensModel Machine Learning.

import awscammodel = awscam.Model(model_topology_file, loading_config, runtime)

Metode• Konstruktor Model (p. 140)• Metode Model.doinference (p. 141)• model.parseResultMetode (p. 143)

139

AWS DeepLens Panduan DeveloperModel Obyek

Konstruktor ModelMembuatawscam.Modelobjek untuk menjalankan inferensi dalam jenis tertentu dari prosesor dan runtimekesimpulan tertentu. Untuk model yang tidak disusun oleh Neo,Modelobjek mengekspos parsing outputinferensi mentah untuk mengembalikan hasil inferensi model-spesifik.

Sintaks Permintaan

import awscammodel = awscam.Model(model_topology_file, loading_config, runtime=0)

Parameter

• model_topology_file—Wajib. Saatruntime=0, nilai parameter ini adalah path ke modeldioptimalkan (.xml) file output olehmo.optimize (p. 140)Metode. Ketika runtime=1, nilai parameterini adalah nama folder yang berisi artefak model dikompilasi, yang mencakup.jsonfile, a.paramsfile,dan.jadiberkas.

Model neo-dikompilasi hanya mendukung jenis model Klasifikasi. Model lain mendukung Klasifikasi,Segmentasi, dan Single Shot MultiBox Detector (SSD).

Note

Saat menerapkan model SSD yang terlatih SageMaker, Anda harus terlebih dahulumenjalankandeploy.py(tersedia darihttps://github.com/apache/incubator-mxnet/tree/v1.x/example/ssd/) untuk mengkonversi artefak model menjadi model deployable.Setelah mengkloning atau mengunduh repositori MXNet, jalankangit reset --hard 73d88974f8bca1e68441606fb0787a2cd17eb364perintah sebelummemanggildeploy.pyuntuk mengkonversi model, jika versi terbaru tidak bekerja.

• loading_config(dict) —Diperlukan. Menentukan apakah model harus dimuat ke GPU atau CPU.Format parameter ini adalah kamus.

Nilai yang valid:• {"GPU":1}— Memuat model ke GPU. Untuk menjalankan inferensi dalam runtime Neo (runtime=1),

Anda harus memilih GPU ({'GPU':1}).• {"GPU":0}—Load model ke dalam CPU.

• runtimeInt-opsional. Menentukan runtime untuk menjalankan inferensi di.

Nilai yang valid:• 0—Intel DLDT sebagai runtime inferensi default.• 1—The Neo runtime untuk menjalankan inferensi pada model dikompilasi.

140

AWS DeepLens Panduan DeveloperModel Obyek

Metode Model.doinferenceMenjalankan inferensi pada bingkai video (file gambar) dengan menerapkan model dimuat. Metodemengembalikan hasil inferensi.

Sintaks Permintaan

import awscammodel = awscam.Model(model_topology_file, loading_config)raw_inference_results = model.doInference(video_frame)

Parameter

• video_frame—Wajib. Bingkai video dari feed video AWS DeepLens.

Tipe Pengembalian

• dict— Hasil inferensi, sebagai kamus lapisan output berdasarkan model dimuat.

Pengembalian

Mengembalikandictdengan entri dari pasangan nilai kunci. Kunci entri adalah identifier dari lapisanoutput model. Untuk output inferensi yang berjalan di runtime Intel DLDT default, pengenal lapisan outputadalah nama layer output seperti yang ditentukan dalam model. Misalnya, dengan MXNet, nama layeroutput didefinisikan dalam file.json model. Untuk output inferensi berjalan di runtime Neo, pengenallapisan output adalah nomor ordinal dari lapisan output seperti yang didefinisikan dalam model. Nilai entriadalahlistobjek yang memegang probabilitas inputvideo_frameatas gambar berlabel yang digunakanuntuk melatih model.

Example

Contoh output:

Menjalankan inferensi dalam runtime Intel DLDT pada model dengan layer outputbernamaSoftMax_67dari enam label, hasil inferensi memiliki format berikut.

{ ‘SoftMax_67’: array( [ 2.41881448e-08, 3.57339691e-09, 1.00263861e-07, 5.40415579e-09, 4.37702547e-04, 6.16787545e-08 ], dtype=float32)}

Jika runtime Neo (runtime=1) digunakan untuk menjalankan inferensi, hasil inferensi mentahadalahdictobjek, di manaresults[i]memegangithlapisan output. Misalnya, untuk jaringan klasifikasigambar seperti Resnet-50 dengan hanya satu lapisan output Softmax,results[0]adalahNumpyarraydengan ukuranN x 1yang memberikan probabilitas untuk masing-masingNjenis gambar berlabel.

Contoh output berikut menunjukkan hasil inferensi mentah dari model yang sama (di atas) berjalan diruntime Neo.

141

AWS DeepLens Panduan DeveloperModel Obyek

{ 0 : array( [ 2.41881448e-08, 3.57339691e-09, 1.00263861e-07, 5.40415579e-09, 4.37702547e-04, 6.16787545e-08 ], dtype=float32)}

142

AWS DeepLens Panduan DeveloperModel Obyek

model.parseResultMetodeMengurai hasil kesimpulan mentah dari beberapa model yang umum digunakan, seperti klasifikasi, SSD,dan model segmentasi, yang tidak dikompilasi dengan Neo. Untuk model yang disesuaikan, Anda menulisfungsi parsing Anda sendiri.

Sintaks Permintaan

import awscammodel = awscam.Model(model_topology_file, loading_config)raw_infer_result = model.doInference(video_frame)result = model.parseResult(model_type, raw_infer_result)

Parameter

• model_type—String yang mengidentifikasi jenis model yang akan digunakan untuk menghasilkaninferensi. Diperlukan.

Nilai yang benar:classification,ssd, dansegmentation

Note

Saat menerapkan model SSD yang terlatih SageMaker, Anda harus terlebih dahulumenjalankandeploy.py(tersedia darihttps://github.com/apache/incubator-mxnet/tree/v1.x/example/ssd/) untuk mengkonversi artefak model menjadi model deployable.Setelah mengkloning atau mengunduh repositori MXNet, jalankangit reset --hard 73d88974f8bca1e68441606fb0787a2cd17eb364perintah sebelummemanggildeploy.pyuntuk mengkonversi model, jika versi terbaru tidak bekerja.

• raw_infer_result—Output dari fungsimodel.doInference(video_frame). Diperlukan.

Tipe Pengembalian

• dict

Pengembalian

Mengembalikandictdengan entri tunggal dari pasangan nilai kunci. Kuncinya adalahmodel_typenilai.Nilainya adalah daftardictbenda. Masing-masing yang dikembalikandictbenda berisi probabilitasdihitung dengan model untuk label tertentu. Untuk beberapa jenis model, sepertissd, yangkembalidictobjek juga berisi informasi lain, seperti lokasi dan ukuran kotak pembatas objek gambardisimpulkan terletak di.

Example

Output sampel:

Untuk inferensi mentah yang dilakukan dalam runtime Intel DLDT, hasil inferensi yang diuraipadaclassificationtipe model memiliki format berikut:

{ "classification":[ {"label":"318", "prob":0.5}, {"label":"277", "prob":0.3}, ..., {"label":"433", "prob":0.001} ]

143

AWS DeepLens Panduan DeveloperModul

}

Hasil inferensi diurai sesuai padassdTipe model berisi informasi kotak dan memiliki format berikut:

{ "ssd": [ {"label": "318", "xmin": 124, "xmax": 245, "ymin": 10, "ymax": 142, "prob": 0.5}, {"label": "277", "xmin": 89, "xmax": 166, "ymin": 233, "ymax": 376, "prob": 0.3}, ..., {"label": "433", "xmin": 355, "xmax": 468, "ymin": 210, "ymax": 266, "prob": 0.001} ]}

Untuk kesimpulan yang dilakukan dalam runtime Neo, hasil inferensi yang diurai sama dengan hasilinferensi mentah.

Model Optimasi (mo) ModulParametermoModul Python adalahAWS DeepLensModel optimasi perpustakaan yang dapat Anda gunakanuntuk mengkonversi AndaCaffe, Apache MXNet, atau TensorFlow (p. 46)artefakAWS DeepLensartefakModel dan melakukan optimasi yang diperlukan.

Untuk mengoptimalkan model, panggilmo.optimizefungsi dan menentukan parameter masukan yangsesuai.

Topik• Metode mo.optimize (p. 144)• Pemecahan Masalah Model Optimizer (p. 148)

Metode mo.optimizeMENGUBAHAWS DeepLensartefak dari Caffe (.prototxtatau.caffemodel), MXnet(.jsondan.params), atau TensorFlow (.pb) representasi keAWS DeepLensrepresentasi dan melakukanoptimasi yang diperlukan.

Sintaks

import mores = mo.optimize(model_name, input_width, input_height, platform, aux_inputs)

Parameter Permintaan

• model_name: Nama model untuk mengoptimalkan.

Jenis:string

Diperlukan: Ya• input_width: Lebar gambar input dalam piksel. Nilai harus berupa bilangan bulat bukan negatif kurang

dari atau sama dengan 1024.

Jenis:integer.

Diperlukan: Ya

144

AWS DeepLens Panduan DeveloperMetode mengoptimalkan

• input_height: Ketinggian gambar input dalam piksel. Nilai harus berupa bilangan bulat bukan negatifkurang dari atau sama dengan 1024.

Jenis:integer.

Diperlukan: Ya• platform: Platform sumber untuk optimasi. Untuk nilai yang valid, lihat tabel berikut.

Jenis:string

Diperlukan: Tidak

ValidplatformNilai:

Nilai Deskripsi

Caffe atau caffe optimasi mengkonversi artefak Model Caffe(dari.prototxtatau.caffemodel) untukAWSDeepLensartefak.

MXNet,mxNetataumx optimasi mengkonversi Apache MXNet artefakModel (dari.jsondan.params) untukAWSDeepLensartefak. Ini adalah pilihan default.

TensorFlowatautensorflowatautf optimasi mengkonversi TensorFlow Model artefak(grafik beku.pb) untukAWS DeepLensartefak.

• aux_inputs: Sebuah objek kamus Python yang berisi input tambahan, termasuk entri umum untuksemua platform dan entri khusus untuk platform individu.

Tipe:Dict

Diperlukan: Tidak

Validaux_inputsEntri kamus

Nama Item Platform yang Berlaku Deskripsi

--img-format Semua Format gambar. Nilai default-nyaadalah BGR.

--img-channels Semua Jumlah saluran gambar. Nilaidefault-nya adalah 3.

--precision Semua Tipe data gambar. Nilai default-nya adalah FP16.

--fuse Semua Sebuah saklar untukmenghidupkan (ON) atau off(OFF) sekering operasi linierke konvolusi. Nilai default-nyaadalah ON.

--models-dir Semua Direktori model. Direktoridefault adalah /opt/awscam/artifacts.

--output-dir Semua Direktori output. Direktoridefault adalah /opt/awscam/artifacts.

145

AWS DeepLens Panduan DeveloperMetode mengoptimalkan

Nama Item Platform yang Berlaku Deskripsi

--input_proto Caffe Jalur file prototxt. Nilai defaultadalah string kosong ("").

--epoch MXNet Nomor Epoch. Nilai default-nyaadalah 0.

--input_model_is_text TensorFlow Bendera Boolean yangmenunjukkan apakahfile model input dalamteksprotobufformat (True)atau tidak (False). Nilai default-nya adalah False.

Pengembalian

Parameteroptimizemengembalikan hasil yang berisi hal berikut:

• model_path: Jalur artefak model yang dioptimalkan ketika mereka berhasil dikembalikan.

Tipe: string• status: Status operasional fungsi. Untuk kemungkinan penyebab kegagalan dan tindakan korektif

ketika metode panggilan gagal, lihat tabel status di bawah ini.

Jenis: bilangan bulat

status Penyebab Action

0 Optimasi model berhasil. Tidak ada tindakan yangdiperlukan.

1 Pengoptimalan model gagalkarena platform yang dimintatidak didukung.

• Pilih platform yang didukung.• Pastikan bahwa nama

platform dieja dengan benar.

2 Pengoptimalan model gagalkarena Anda menggunakanversi platform yang tidakkonsisten.

• Pastikan Anda menjalankanplatform versi terbaru. Untukmemeriksa versi Anda, padaprompt perintah, jalankanpipinstall mxnet.

• Pastikan tidak ada lapisanyang tidak didukung dalammodel untuk platform target.

• Pastikan perangkat lunakawscam Anda diperbarui.

• LihatPemecahanMasalah Model Optimizer (p. 148)untuk tindakanyang direkomendasikanuntuk pesan kesalahanyang dilaporkan diCloudWatch Logs untukAWSDeepLensdan padaAWSDeepLensperangkat.

146

AWS DeepLens Panduan DeveloperMetode mengoptimalkan

Untuk memuat model yang dioptimalkan untuk inferensi, hubungiawscam.Model (p. 140)API danmenentukanmodel_pathkembali dari fungsi ini.

147

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

Pemecahan Masalah Model OptimizerPada bagian ini, Anda akan menemukan daftar pertanyaan dan jawaban yang sering diajukan tentangkesalahan yang dilaporkan oleh model optimizer. ParameterAWS DeepLensModel optimizer tergantungpada Intel Computer Vision SDK, yang diinstal denganAWS DeepLensperangkat lunak. Untuk kesalahanyang tidak tercakup di sini, lihatSupport SDK Intel Computer Visiondan mengajukan pertanyaan di forum.

Topik• Bagaimana menangani”Caffe.proto saat ini tidak mengandung lapangan.“ kesalahan? (p. 149)• Cara membuat model Caffe telanjang dengan hanya prototxt? (p. 149)• Bagaimana menangani”Tidak dapat membuat port untuk node dengan id.“ kesalahan? (p. 149)• Cara Menangani”File proto tidak valid: tidak ada pesan tingkat atas 'layer' atau 'layer'.“ kesalahan?

(p. 149)• Bagaimana menangani”Masukan gaya lama (melalui 'input_dims') tidak didukung. Harap tentukan input

melalui 'input_shape'.“ kesalahan? (p. 150)• Bagaimana menangani”Kesalahan nilai berkas prototxt tidak valid.“ kesalahan? (p. 151)• Bagaimana menangani”Kesalahan terjadi saat membangun Caffe.net dalam fungsi fallback Caffe.“

kesalahan? (p. 151)• Bagaimana menangani”Tidak dapat menyimpulkan bentuk karena pengecualian di Caffe.“ kesalahan?

(p. 151)• Bagaimana menangani”Tidak dapat menyimpulkan bentuk untuk node {} karena tidak ada Caffe

tersedia. Silakan mendaftar python menyimpulkan fungsi untuk op atau menggunakan Caffe untukinferensi bentuk.“ kesalahan? (p. 151)

• Bagaimana menangani”Bentuk masukan diperlukan untuk mengkonversi model MXNet. Harap berikandengan —input_width dan —input_height.“ kesalahan? (p. 152)

• Bagaimana menangani”Tidak dapat menemukan berkas prototxt: untuk Caffe silahkan tentukan —input_proto - berkas protobuf yang menyimpan topologi dan —input_model yang menyimpan bobotterlatih.“ kesalahan? (p. 152)

• Bagaimana menangani”Model input yang ditentukan tidak ada.“ kesalahan? (p. 152)• Bagaimana menangani”Gagal membuat direktori... Izin ditolak!“ kesalahan? (p. 152)• Bagaimana menangani”Ditemukan node data tanpa input dan nilai.“ kesalahan? (p. 152)• Bagaimana menangani”Placeholder node tidak memiliki port input, tapi port input disediakan.“

kesalahan? (p. 152)• Bagaimana menangani”Tidak ada atau beberapa placeholder dalam model, tetapi hanya satu bentuk

yang disediakan, tidak dapat mengaturnya.“ kesalahan? (p. 152)• Bagaimana menangani”Tidak dapat menulis berkas peristiwa untuk tensorboard ke direktori.“

kesalahan? (p. 153)• Bagaimana menangani”Berhenti bentuk/nilai propagasi pada node.“ kesalahan? (p. 153)• Bagaimana menangani”Tensorflow modul tidak ditemukan. Silakan instal tensorflow 1.2 atau lebih

tinggi.“ kesalahan? (p. 153)• Bagaimana menangani”Tidak dapat membaca file model: file model TensorFlow salah atau hilang.“

kesalahan? (p. 153)• Bagaimana menangani”Tidak dapat melakukan pra-proses grafik TensorFlow setelah membaca dari

berkas model. File korup atau memiliki format yang tidak didukung.“ kesalahan? (p. 153)• Bagaimana menangani”Nama model input tidak dalam format yang diharapkan, tidak dapat

mengekstrak nomor iterasi.“ kesalahan? (p. 153)• Bagaimana menangani”Tidak dapat mengkonversi jenis placeholder karena tidak semua outputnya

adalah 'Cast' untuk mengapung operasi.“ kesalahan? (p. 153)• Bagaimana menangani”Tipe data tidak didukung.“ kesalahan? (p. 153)

148

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

• Bagaimana menangani”Tidak ada node dengan nama...Kesalahan? (p. 154)• Bagaimana menangani”MXNet tidak ditemukan. Silakan instal mxnet 1.0.0Kesalahan? (p. 154)• Bagaimana menangani”Kesalahan berikut terjadi saat memuat model mxnet...Kesalahan? (p. 154)• Bagaimana menangani”... elemen... yang dipotong menjadi tak terbatas sementara mengkonversi

gumpalan untuk node [...] untuk...Kesalahan? (p. 154)• Bagaimana menangani”... elemen... dipotong menjadi nol sementara mengkonversi gumpalan untuk

node [...] untuk...Kesalahan? (p. 154)• Bagaimana menangani”topologi tidak mengandung lapisan 'input'.“ kesalahan? (p. 154)

Bagaimana menangani”Caffe.proto saat ini tidak mengandunglapangan.“ kesalahan?Model Anda memiliki lapisan khusus yang tidak didukung oleh model optimizer.

Cara membuat model Caffe telanjang dengan hanya prototxt?Untuk membuat model Caffe telanjang dengan hanya.prototxt, impor modul Caffe dan jalankan yangberikut ini:

python3

import caffe net = caffe.Net('PATH_TO_PROTOTXT/my_net.prototxt', caffe.TEST) net.save('PATH_TO_PROTOTXT/my_net.caffemodel')

Bagaimana menangani”Tidak dapat membuat port untuk nodedengan id.“ kesalahan?Model Anda memiliki lapisan khusus yang tidak didukung oleh model optimizer. Hapus lapisan khusus.

Cara Menangani”File proto tidak valid: tidak ada pesan tingkatatas 'layer' atau 'layer'.“ kesalahan?Struktur topologi Caffe dijelaskan dalamcaffe.protoberkas. Misalnya, dalam modeloptimizer Anda mungkin menemukan default berikutprotoberkas: /opt/awscam/intel/deeplearning_deploymenttoolkit/deployment_tools/model_optimizer/mo/front/caffe/proto/my_caffe.proto. File ini berisi struktur, misalnya:

message NetParameter { // ... some other parameters

// The layers that make up the net. Each of their configurations, including // connectivity and behavior, is specified as a LayerParameter. repeated LayerParameter layer = 100; // Use ID 100 so layers are printed last.

// DEPRECATED: use 'layer' instead. repeated V1LayerParameter layers = 2; }

Ini berarti bahwa setiap topologi harus mengandung lapisan sebagai struktur tingkat atas diprotoxt. Untukinformasi selengkapnya, lihatTopologi LeNet.

149

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

Bagaimana menangani”Masukan gaya lama (melalui 'input_dims')tidak didukung. Harap tentukan input melalui 'input_shape'.“kesalahan?Struktur topologi Caffe dijelaskan dalamcaffe.protoberkas. Misalnya, dalam optimizermodel, Anda dapat menemukan file proto default berikut: /opt/awscam/intel/deeplearning_deploymenttoolkit/deployment_tools/model_optimizer/mo/front/caffe/proto/my_caffe.proto. File ini berisi struktur, misalnya:

message NetParameter { optional string name = 1; // Consider giving the network a name. // DEPRECATED. See InputParameter. The input blobs to the network. repeated string input = 3; // DEPRECATED. See InputParameter. The shape of the input blobs. repeated BlobShape input_shape = 8;

// 4D input dimensions are deprecated. Use "input_shape" instead. // If specified, for each input blob, there should be four // values specifying the num, channels, and height and width of the input blob. // Therefore, there should be a total of (4 * #input) numbers. repeated int32 input_dim = 4; // ... other parameters }

Tentukan layer input dari model yang disediakan menggunakan salah satu format berikut:

1. Format lapisan masukan 1:

input: "data" input_shape { dim: 1 dim: 3 dim: 227 dim: 227 }

2. Format lapisan masukan 2:

input: "data" input_shape { dim: 1 dim: 3 dim: 600 dim: 1000 } input: "im_info" input_shape { dim: 1 dim: 3 }

3. Format lapisan masukan 3:

layer { name: "data"

150

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

type: "Input" top: "data" input_param {shape: {dim: 1 dim: 3 dim: 600 dim: 1000}} }

layer { name: "im_info" type: "Input" top: "im_info" input_param {shape: {dim: 1 dim: 3}} }

4. Format lapisan masukan 4:

input: "data" input_dim: 1 input_dim: 3 input_dim: 500

Namun, jika model Anda berisi lebih dari satu layer input, model optimizer dapat mengubah model denganlapisan input format 1, 2, dan 3. Anda tidak dapat menggunakan format 4 dalam topologi multi-input.

Bagaimana menangani”Kesalahan nilai berkas prototxt tidakvalid.“ kesalahan?Lihat the section called “Cara Menangani”File proto tidak valid: tidak ada pesan tingkat atas 'layer' atau'layer'.“ kesalahan? ” (p. 149) dan the section called “Bagaimana menangani”Tidak dapat menemukanberkas prototxt: untuk Caffe silahkan tentukan —input_proto - berkas protobuf yang menyimpan topologidan —input_model yang menyimpan bobot terlatih.“ kesalahan? ” (p. 152).

Bagaimana menangani”Kesalahan terjadi saat membangunCaffe.net dalam fungsi fallback Caffe.“ kesalahan?Model optimizer tidak dapat menggunakan modul Caffe untuk membangun jaring, sementaraitu mencoba untuk menyimpulkan lapisan tertentu dalam kerangka Caffe. Pastikanbahwa.caffemodeldan.prototxtfile sudah benar. Untuk memastikan bahwa masalahnya tidakada di.prototxtfile, lihatthe section called “Cara membuat model Caffe telanjang dengan hanyaprototxt?” (p. 149).

Bagaimana menangani”Tidak dapat menyimpulkan bentuk karenapengecualian di Caffe.“ kesalahan?Model Anda memiliki lapisan khusus yang tidak didukung oleh model optimizer. Hapus setiap lapisankustom.

Bagaimana menangani”Tidak dapat menyimpulkan bentuk untuknode {} karena tidak ada Caffe tersedia. Silakan mendaftarpython menyimpulkan fungsi untuk op atau menggunakan Caffeuntuk inferensi bentuk.“ kesalahan?Model Anda memiliki lapisan khusus yang tidak didukung oleh model optimizer. Hapus setiap lapisankustom.

151

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

Bagaimana menangani”Bentuk masukan diperlukan untukmengkonversi model MXNet. Harap berikan dengan —input_width dan —input_height.“ kesalahan?Untuk mengonversi model MXnet ke IR, Anda harus menentukan bentuk input, karena modelMXNet tidak berisi informasi tentang bentuk input. Menggunakan–input_shapebendera untukmenentukaninput_widthdaninput_height.

Bagaimana menangani”Tidak dapat menemukan berkas prototxt:untuk Caffe silahkan tentukan —input_proto - berkas protobufyang menyimpan topologi dan —input_model yang menyimpanbobot terlatih.“ kesalahan?Model optimizer tidak dapat menemukanprototxtfile untuk model tertentu. Secara default,.prototxtfileharus berada di direktori yang sama dengan model input dengan nama yang sama (kecuali untuk ekstensi).Jika salah satu kondisi ini tidak puas, gunakan--input_protountuk menentukan jalurprotoxtberkas.

Bagaimana menangani”Model input yang ditentukan tidak ada.“kesalahan?Kemungkinan besar, Anda telah menentukan jalur yang salah ke model. Pastikan bahwa path benar danfile ada.

Bagaimana menangani”Gagal membuat direktori... Izin ditolak!“kesalahan?Model optimizer tidak dapat membuat direktori yang ditentukan sebagai–output_dirparameter. Pastikanbahwa Anda memiliki izin untuk membuat direktori yang ditentukan.

Bagaimana menangani”Ditemukan node data tanpa input dannilai.“ kesalahan?Salah satu lapisan dalam topologi yang ditentukan mungkin tidak memiliki input atau nilai. Pastikanbahwa.caffemodeldan.protobuffile berisi semua input dan nilai-nilai yang diperlukan.

Bagaimana menangani”Placeholder node tidak memiliki portinput, tapi port input disediakan.“ kesalahan?Anda mungkin telah menentukan node input untuk node placeholder, tetapi model tidak mengandung nodeinput. Pastikan bahwa model memiliki input atau menggunakan node input yang didukung model.

Bagaimana menangani”Tidak ada atau beberapa placeholderdalam model, tetapi hanya satu bentuk yang disediakan, tidakdapat mengaturnya.“ kesalahan?Anda mungkin hanya menyediakan satu bentuk untuk node placeholder untuk model yang tidakmengandung input atau beberapa input. Pastikan bahwa Anda telah menyediakan data yang benar untuknode placeholder.

152

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

Bagaimana menangani”Tidak dapat menulis berkas peristiwauntuk tensorboard ke direktori.“ kesalahan?Model optimizer gagal menulis file peristiwa di direktori yang ditentukan karena direktori itu tidak ada atauAnda tidak memiliki izin untuk menulis untuk itu. Pastikan bahwa direktori ada dan Anda memiliki izinmenulis yang diperlukan.

Bagaimana menangani”Berhenti bentuk/nilai propagasi padanode.“ kesalahan?Model optimizer tidak dapat menyimpulkan bentuk atau nilai untuk node yang ditentukan karena: fungsiinferensi memiliki bug, node input memiliki nilai atau bentuk yang salah, atau bentuk input tidak valid.Verifikasi bahwa fungsi inferensi, nilai input, atau bentuk yang benar.

Bagaimana menangani”Tensorflow modul tidak ditemukan.Silakan instal tensorflow 1.2 atau lebih tinggi.“ kesalahan?Untuk menggunakan model optimizer untuk mengkonversi model TensorFlow, instal TensorFlow 1.2 ataulebih tinggi.

Bagaimana menangani”Tidak dapat membaca file model: filemodel TensorFlow salah atau hilang.“ kesalahan?File model harus berisi snapshot grafik TensorFlow dari format biner. Pastikan bahwa —input_model_is_text disediakan untuk model dalam format teks, dengan menentukan--input_model_is_textparameter sebagaifalse. Secara default, model ditafsirkan file biner.

Bagaimana menangani”Tidak dapat melakukan pra-proses grafikTensorFlow setelah membaca dari berkas model. File korup ataumemiliki format yang tidak didukung.“ kesalahan?Pastikan bahwa Anda telah menentukan file model yang benar, file memiliki format yang benar, dan isi filetidak rusak.

Bagaimana menangani”Nama model input tidak dalam formatyang diharapkan, tidak dapat mengekstrak nomor iterasi.“kesalahan?File model MXNet harus dalam format.json atau .para. Menggunakan format yang benar.

Bagaimana menangani”Tidak dapat mengkonversi jenisplaceholder karena tidak semua outputnya adalah 'Cast' untukmengapung operasi.“ kesalahan?Gunakan tipe data FP32 untuk node placeholder model. Jangan gunakan UINT8 sebagai tipe input datauntuk node placeholder.

Bagaimana menangani”Tipe data tidak didukung.“ kesalahan?Model optimizer tidak dapat mengkonversi model ke tipe data yang ditentukan. Mengatur tipe data dengan–precisionparameter denganFP16,FP32,half, ataufloatnilai-nilai.

153

AWS DeepLens Panduan DeveloperPemecahan Masalah Model Optimizer

Bagaimana menangani”Tidak ada node dengannama...Kesalahan?Model optimizer tidak dapat mengakses node yang tidak ada. Pastikan untuk menentukan placeholderyang benar, nama input node, atau nama output node.

Bagaimana menangani”MXNet tidak ditemukan. Silakan instalmxnet 1.0.0Kesalahan?Untuk memastikan bahwa model optimizer dapat mengkonversi model MXNet, instal MXNet 1.0.0 ataulebih tinggi.

Bagaimana menangani”Kesalahan berikut terjadi saat memuatmodel mxnet...Kesalahan?Pastikan bahwa jalur yang ditentukan benar, bahwa model ada dan tidak rusak, dan bahwa Anda memilikiizin yang cukup untuk bekerja dengan model.

Bagaimana menangani”... elemen... yang dipotong menjadi takterbatas sementara mengkonversi gumpalan untuk node [...]untuk...Kesalahan?Saat Anda menggunakan--precision=FP16opsi baris perintah, model optimizer mengubah semuagumpalan di node keFP16ketik. Jika nilai dalam gumpalan berada di luar kisaran nilai FP16 yang valid,model optimizer mengubah nilai menjadi infinity positif atau negatif. Tergantung pada model, ini dapatmenghasilkan hasil kesimpulan yang salah atau mungkin tidak menimbulkan masalah. Periksa jumlahelemen ini dan jumlah elemen dalam gumpalan yang digunakan yang dicetak dengan nama node.

Bagaimana menangani”... elemen... dipotong menjadinol sementara mengkonversi gumpalan untuk node [...]untuk...Kesalahan?Saat Anda menggunakan--precision=FP16opsi baris perintah, model optimizer mengubah semuagumpalan di node keFP16ketik. Jika nilai dalam gumpalan begitu dekat dengan nol sehingga tidak dapatdirepresentasikan sebagai nilai FP16 yang valid, model optimizer mengubahnya menjadi benar nol.Tergantung pada model, ini mungkin menghasilkan hasil kesimpulan yang salah atau mungkin tidakmenimbulkan masalah. Periksa jumlah elemen ini dan jumlah elemen dalam gumpalan yang digunakanyang dicetak dengan nama node.

Bagaimana menangani”topologi tidak mengandung lapisan'input'.“ kesalahan?Parameterprototxtfile untuk topologi Caffe Anda mungkin dimaksudkan untuk pelatihanketika model optimizer mengharapkan penyebaran siap.prototxtberkas. Untuk menyiapkanpenyebaran.prototxtfile, ikutiinstruksidisediakan di GitHub. Biasanya, mempersiapkan topologi deploy-ready melibatkan penghapusan lapisan data, menambahkan lapisan input, dan menghapus lapisankerugian.

154

AWS DeepLens Panduan DeveloperDeepLens_Kinesis_VideoModul

Modul Deeplens_kinesis_video untuk IntegrasiAmazon Kinesis Video Streams

Arus Amazon Kinesis Video StreamsAWS DeepLensPerpustakaan video adalah modul Python yangmerangkumProdusen Arus Kinesis Video StreamsuntukAWS DeepLensperangkat. Gunakan modul iniuntuk mengirim umpan video dariAWS DeepLensperangkat untuk Kinesis Video Streams, dan untukmengontrol kapan harus memulai dan menghentikan streaming video dari perangkat. Ini berguna jikaAnda perlu melatih model deep-learning Anda sendiri. Dalam hal ini, Anda dapat mengirim umpan videodengan interval waktu yang diberikan dariAWS DeepLensperangkat untuk Kinesis Video Streams danmenggunakan data sebagai masukan untuk pelatihan.

Modul, DeepLens_kinesis_video, sudah diinstal pada AndaAWS DeepLensperangkat. Anda dapatmemanggil modul ini dalam fungsi Lambda yang disebarkan keAWS DeepLensperangkat sebagai bagiandariAWS DeepLensproyek.

Contoh Python berikut menunjukkan cara menggunakan modul DeepLens_kinesis_video untukmengalirkan umpan video lima jam dari pemanggilAWS DeepLensperangkat untuk Kinesis Video Streams.

import timeimport osimport DeepLens_Kinesis_Video as dkvfrom botocore.session import Sessionimport greengrasssdk

def greengrass_hello_world_run(): # Create the green grass client so that we can send messages to IoT console client = greengrasssdk.client('iot-data') iot_topic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME'])

# Stream configuration, name and retention # Note that the name will appear as deeplens-myStream stream_name = 'myStream' retention = 2 #hours

# Amount of time to stream wait_time = 60 * 60 * 5 #seconds

# Use the boto session API to grab credentials session = Session() creds = session.get_credentials()

# Create producer and stream. producer = dkv.createProducer(creds.access_key, creds.secret_key, creds.token, "us-east-1") client.publish(topic=iot_topic, payload="Producer created") kvs_stream = producer.createStream(stream_name, retention) client.publish(topic=iot_topic, payload="Stream {} created".format(stream_name))

# Start putting data into the KVS stream kvs_stream.start() client.publish(topic=iot_topic, payload="Stream started") time.sleep(wait_time) # Stop putting data into the KVS stream kvs_stream.stop() client.publish(topic=iot_topic, payload="Stream stopped")

# Execute the function abovegreengrass_hello_world_run()

155

AWS DeepLens Panduan DeveloperFungsi CreateProducer

Dalam contoh ini, kita sebutdkv.createProduceruntuk instantiate klien Kinesis VideoStreams Producer SDK. Kami kemudian memanggilproducer.createStreamuntuk mengaturstreaming dariAWS DeepLensperangkat. Kami mengontrol panjang umpan video denganmeneleponmy_stream.start,time.sleepdanmy_stream.stop. Video yang disimpan disimpan diKinesis Video Streams selama dua jam karena kami mengaturretentionparameter2.

Topik• Deeplens_kinesis_video.createProducer Fungsi (p. 156)• Objek produsen (p. 157)• Objek Stream (p. 158)

Deeplens_kinesis_video.createProducer FungsiMenciptakan sebuah instance dari objek klien Kinesis Video Streams Producer SDK untukAWS DeepLens.Gunakan instance untuk menghubungkanAWS DeepLensperangkat keAWSCloud dan untuk mengelolaaliran video dari perangkat ke Kinesis Video Streams.

Sintaks

import DeepLens_Kinesis_Video as dkvproducer = dkv.createProducer(aws_access_key, aws_seccrete_key, session_token, aws_region)

Parameter

• aws_access_key

Jenis: “string”

Diperlukan: Ya

Kunci akses IAM akun AWS Anda.• aws_secret_key

Jenis: “string”

Diperlukan: Ya

Kunci rahasia IAM akun AWS Anda.• session_token

Jenis: “string”

Diperlukan: Tidak

Token sesi, jika ada. Nilai kosong berarti token yang tidak ditentukan.• aws_region

Jenis: “string”

Diperlukan: Ya

ParameterAWSWilayah untuk mengalirkan data ke. UntukAWS DeepLensaplikasi, satu-satunya nilaivalidus-east-1.

156

AWS DeepLens Panduan DeveloperObjek produsen

Pengembalian

• SEBUAHProducerobjek. (p. 157)

Contoh

import DeepLens_Kinesis_Video as dkvproducer = dkv.createProducer("ABCDEF...LMNO23PU", "abcDEFGHi...bc8defGxhiJ", "", "us-east-1")

Objek produsenSebuah objek yang mewakili klien Kinesis Video Streams Producer SDK yang digunakan untuk membuataliran yang untuk mengirim umpan video dariAWS DeepLensperangkat.

Topik• Metode Producer.createStream (p. 157)

Metode Producer.createStreamMembuat objek aliran Kinesis Video Streams untuk mengirim umpan video dariAWS DeepLensperangkatuntuk.

Sintaks

stream = producer (p. 157).createStream(stream_name, retention)

Parameter

• stream_name

Jenis: “string”

Diperlukan: Ya

Nama aliran Kinesis yang AndaAWS DeepLensmengirimkan umpan video ke. Jika stream tidak ada,Kinesis Video Streams membuatnya. Jika tidak, ia menggunakan aliran yang ada untuk menerimaumpan video. Anda dapat memiliki beberapa aliran selama mereka memiliki nama dan pegangan yangunik.

• retention

Jenis: int

Diperlukan: Ya

Waktu, dalam jam, untuk mempertahankan data yang dialirkan. Untuk melihat data diPratinjaupadakonsol Kinesis Video Streams, atur parameter ini lebih besar dari atau sama dengan 2 jam.

Pengembalian

• SEBUAHAliran (p. 158)objek.

157

AWS DeepLens Panduan DeveloperObjek Stream

Objek StreamObjek yang merangkum aliran Kinesis untuk umpan video dari AndaAWS DeepLensperangkat danmengekspos metode untuk mengendalikan kapan harus memulai dan menghentikan data streaming.

Topik• Properti Stream.isActive (p. 158)• Metode Stream.start (p. 158)• Metode Stream.stop (p. 158)

Properti Stream.isActiveMengembalikan bendera boolean untuk menunjukkan apakah produsen mengirimkan data ke aliran ini.

Sintaks

stream (p. 158).isActive

Parameter

• Tidak ada

Pengembalian

• Jenis: Boolean

Nilai:truejika aliran aktif. Jika tidak, false.

Metode Stream.startMemberitahu produser untuk mulai mengirim umpan video dariAWS DeepLensperangkat ke aliran Kinesis.

Sintaks

stream (p. 158).start()

Parameter

• Tidak ada

Pengembalian

• Tidak ada

Metode Stream.stopMemberitahu produser untuk berhenti mengirim umpan video dariAWS DeepLensperangkat ke aliranKinesis.

Sintaks

158

AWS DeepLens Panduan DeveloperObjek Stream

stream (p. 158).stop()

Parameter

• Tidak ada

Pengembalian

• Tidak ada

159

AWS DeepLens Panduan DeveloperPerlindungan Data

KeamananBagian ini memberikan pedoman untuk mengamankan berbagai aspekAWS DeepLens.

Topik• Perlindungan Data (p. 160)• Identity and Access Management untuk AWS DeepLens (p. 160)• Manajemen Pembaruan (p. 174)• Kepatuhan Keamanan (p. 175)

Perlindungan DataAWS DeepLenstidak mengumpulkan data dari perangkat. Bingkai video dari kamera dan hasil kesimpulanterbatas pada perangkat secara lokal. Sebagai pengguna, Anda mengontrol bagaimana dan di manamempublikasikan hasil inferensi ke layanan AWS lain dalam fungsi Lambda proyek. Akun Anda tetapmenjadi kepemilikan tunggal dari data yang terpengaruh terlepas dari layanan yang dipublikasikan.

ParameterAWS DeepLensmendukung enkripsi full-disk tingkat perangkat keras untuk penyimpanan datapada perangkat. Anda harus mengkonfigurasi enkripsi data pada perangkat.

Untuk tujuan pendaftaran dan pemeliharaan perangkat, komunikasi antara AndaAWS DeepLensperangkatdan komputer Anda memerlukan koneksi HTTPS, kecuali untuk menghubungkan ke perangkat softAPendpoint dalam mode pengaturan perangkat yang memerlukan otentikasi dengan kata sandi. Kata sandidefault dicetak di bagian bawahAWS DeepLensperangkat.

Untuk enkripsi disk pada perangkat, kunci disimpan dalam komponen perangkat keras yang dikenalsebagai Trusted Platform Module (TPM).

Model tidak pernah dihapus dari perangkat. Untuk menghapus data dari perangkat, Anda harus terhubungkeAWS DeepLensperangkat menggunakan SSH dan secara manual menghapus data. Anda juga dapatmelakukan reset pabrik.

Identity and Access Management untuk AWSDeepLens

AWS Identity and Access Management(IAM) adalahLayanan AWSyang membantu administratordalam mengendalikan akses keAWSsumber daya. Administrator IAM mengontrol siapa yang dapatterautentikasi (masuk) dan berwenang (memiliki izin) untuk menggunakan sumber daya AWS DeepLens.IAM adalahLayanan AWSyang dapat Anda gunakan tanpa biaya tambahan.

Topik• Penonton (p. 161)• Mengautentikasi Menggunakan Identitas (p. 161)• Mengelola Akses Menggunakan Kebijakan (p. 163)

160

AWS DeepLens Panduan DeveloperPenonton

• Bagaimana AWS DeepLens Bekerja dengan IAM (p. 165)• Contoh Kebijakan Berbasis Identitas AWS DeepLens (p. 167)• Pemecahan Masalah Identitas dan Akses AWS DeepLens (p. 173)

PenontonCara menggunakan AWS Identity and Access Management (IAM) berbeda, tergantung pada pekerjaanyang Anda lakukan di AWS DeepLens.

Pengguna layanan – Jika Anda menggunakan layanan AWS DeepLens untuk melakukan tugas Anda,administrator Anda akan memberikan kredensial dan izin yang Anda butuhkan. Saat Anda menggunakanlebih banyak fitur AWS DeepLens untuk melakukan pekerjaan, Anda mungkin memerlukan izin tambahan.Memahami cara mengelola akses dapat membantu Anda meminta izin yang tepat dari administrator Anda.Jika Anda tidak dapat mengakses fitur di AWS DeepLens, lihat Pemecahan Masalah Identitas dan AksesAWS DeepLens (p. 173).

Administrator layanan – Jika Anda bertanggung jawab atas sumber daya AWS DeepLens di perusahaanAnda, Anda mungkin memiliki akses penuh ke AWS DeepLens. Tugas Anda adalah menentukan fiturdan sumber daya AWS DeepLens mana yang dapat diakses karyawan Anda. Anda kemudian harusmengirimkan permintaan ke administrator IAM Anda untuk mengubah izin pengguna layanan Anda. Tinjauinformasi di halaman ini untuk memahami konsep dasar IAM. Untuk mempelajari lebih lanjut tentang caraperusahaan Anda dapat menggunakan IAM dengan AWS DeepLens, lihat Bagaimana AWS DeepLensBekerja dengan IAM (p. 165).

Administrator IAM – Jika Anda adalah administrator IAM, Anda mungkin ingin belajar dengan lebih detailtentang cara Anda menulis kebijakan untuk mengelola akses ke AWS DeepLens. Untuk melihat contohkebijakan berbasis identitas AWS DeepLens yang dapat Anda gunakan di IAM, lihat Contoh KebijakanBerbasis Identitas AWS DeepLens (p. 167).

Mengautentikasi Menggunakan IdentitasAutentikasi adalah cara Anda untuk masuk ke AWS menggunakan kredensial identitas Anda. Untukinformasi selengkapnya tentang cara masuk menggunakan AWS Management Console, lihat Masuk keAWS Management Console sebagai pengguna IAM atau pengguna root dalam Panduan Pengguna IAM.

Anda harus terautentikasi (masuk ke AWS) sebagai pengguna root Akun AWS, pengguna IAM, ataudengan menggunakan IAM role. Anda juga dapat menggunakan autentikasi single sign-on milikperusahaan Anda, atau bahkan masuk menggunakan Google atau Facebook. Dalam kasus ini,administrator Anda sebelumnya telah menyiapkan federasi identitas menggunakan IAM role. Saat Andamengakses AWS menggunakan kredensial dari perusahaan lain, secara tidak langsung Anda mengambilsebuah peran.

Untuk masuk secara langsung ke AWS Management Console, gunakan kata sandi Anda dengan alamatemail pengguna asal atau nama pengguna IAM Anda. Anda dapat mengakses AWS secara terprogrammenggunakan kunci akses pengguna asal atau pengguna IAM Anda. AWS menyediakan SDK dan alatbaris perintah untuk menandatangani permintaan Anda secara kriptografis menggunakan kredensial Anda.Jika Anda tidak menggunakan peralatan AWS, Anda harus menandatangani sendiri permintaan tersebut.Lakukan ini menggunakan Versi Tanda Tangan 4, sebuah protokol untuk mengautentikasi permintaan APImasuk. Untuk informasi selengkapnya tentang autentikasi permintaan, lihat proses penandatanganan VersiTanda Tangan 4 dalam Referensi Umum AWS.

Terlepas dari metode autentikasi yang Anda gunakan, Anda mungkin juga diminta untuk menyediakaninformasi keamanan tambahan. Misalnya, AWS menyarankan supaya Anda menggunakan autentikasimulti-faktor (MFA) untuk meningkatkan keamanan akun Anda. Untuk mempelajari selengkapnya, lihatMenggunakan autentikasi multi-faktor (MFA) di AWS dalam Panduan Pengguna IAM.

161

AWS DeepLens Panduan DeveloperMengautentikasi Menggunakan Identitas

Pengguna root Akun AWSKetika Anda pertama kali membuatAkun AWS, Anda memulai dengan identitas masuk tunggal yangmemiliki akses penuh ke semuaLayanan AWSdan sumber daya di akun. Identitas ini disebut penggunaroot Akun AWS dan diakses dengan cara masuk menggunakan alamat email dan kata sandi yang Andagunakan saat membuat akun. Kami sangat menyarankan agar Anda tidak menggunakan penggunaroot untuk tugas sehari-hari, bahkan tugas administratif. Sebagai gantinya, patuhi praktik terbaik dalammenggunakan pengguna root saja untuk membuat pengguna IAM pertama Anda. Kemudian, kuncikredensial pengguna root dengan aman dan gunakan kredensial itu untuk melakukan beberapa tugasmanajemen akun dan layanan saja.

Pengguna dan Grup IAMPengguna IAM adalah identitas dalam akun Akun AWS Anda yang memiliki izin khusus untuk satu orangatau aplikasi. Pengguna IAM dapat memiliki kredensial jangka panjang, seperti nama pengguna dan katasandi atau satu set access key. Untuk mempelajari cara membuat kunci akses, lihat Mengelola access keyuntuk pengguna IAM dalam Panduan Pengguna IAM. Saat Anda membuat access key untuk penggunaIAM, pastikan bahwa Anda melihat pasangan kunci dan menyimpannya dengan aman. Anda tidak dapatmemulihkan secret access key di masa mendatang. Sebaliknya, Anda harus membuat pasangan accesskey baru.

Grup IAM adalah identitas yang menentukan kumpulan dari para pengguna IAM. Anda tidak dapat masuksebagai kelompok. Anda dapat menggunakan grup untuk menentukan izin untuk beberapa penggunasekaligus. Grup membuat izin lebih mudah dikelola untuk set besar pengguna. Misalnya, Anda dapatmemiliki grup yang diberi nama IAMAdmins dan memberikan izin kepada grup tersebut untuk mengelolasumber daya IAM.

Para pengguna berbeda dari peran. Seorang pengguna secara unik terkait dengan satu orang atauaplikasi, tetapi peran ini dimaksudkan untuk dapat digunakan oleh siapa pun yang membutuhkannya.Pengguna memiliki kredensial jangka panjang permanen, tetapi peran memberikan kredensial sementara.Untuk mempelajari selengkapnya, lihat Kapan harus membuat pengguna IAM (bukan peran) dalamPanduan Pengguna IAM.

IAM RoleIAM role adalah identitas dalam akun Akun AWS Anda yang memiliki izin khusus. Peran ini mirip denganpengguna IAM, tetapi tidak terkait dengan orang tertentu. Anda dapat menggunakan IAM role untuksementara di dalam AWS Management Console dengan cara berganti peran. Anda dapat mengambilperan dengan cara memanggil operasi API AWS CLI atau AWS atau menggunakan URL khusus. Untukinformasi selengkapnya tentang metode penggunaan peran, lihat Menggunakan IAM roles dalam PanduanPengguna IAM.

IAM role dengan kredensial sementara berguna dalam situasi berikut:

• Izin pengguna IAM sementara – Pengguna IAM dapat menggunakan IAM role untuk sementara danmendapatkan izin yang berbeda untuk tugas tertentu.

• Akses pengguna gabungan – Alih-alih membuat pengguna IAM, Anda dapat menggunakan identitasyang sudah ada dari AWS Directory Service, direktori pengguna korporasi Anda, atau penyedia identitasweb. Ini dikenal sebagai pengguna gabungan. AWS menugaskan peran kepada pengguna gabungansaat akses diminta melalui penyedia identitas. Untuk informasi selengkapnya tentang penggunagabungan, lihat Pengguna dan peran gabungan dalam Panduan Pengguna IAM.

• Akses lintas akun – Anda dapat menggunakan IAM role agar seseorang (principal tepercaya) di akunlain diizinkan untuk mengakses sumber daya di akun Anda. Peran adalah cara utama untuk memberikanakses lintas akun. Namun, dengan beberapaLayanan AWS, Anda dapat melampirkan kebijakanlangsung ke sumber daya (alih-alih menggunakan peran sebagai proksi). Untuk mempelajari perbedaanantara kebijakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat Perbedaanantara IAM role dan kebijakan berbasis sumber daya dalam Panduan Pengguna IAM.

162

AWS DeepLens Panduan DeveloperMengelola Akses Menggunakan Kebijakan

• Akses lintas layanan— BeberapaLayanan AWSmenggunakan fitur di lainLayanan AWS. Sebagai conoth,ketika Anda melakukan panggilan dalam suatu layanan, biasanya layanan tersebut menjalankan aplikasidi Amazon EC2 atau menyimpan objek di Amazon S3. Layanan mungkin melakukan ini menggunakanizin panggilan principal, menggunakan peran layanan, atau peran tertaut layanan.• Izin prinsipal – Saat Anda menggunakan pengguna IAM atau IAM role untuk melakukan tindakan

di AWS, Anda dianggap sebagai principal. Kebijakan memberikan izin kepada principal. Saat Andamenggunakan beberapa layanan, Anda mungkin melakukan tindakan yang kemudian memicutindakan lain di layanan yang berbeda. Dalam hal ini, Anda harus memiliki izin untuk melakukan keduatindakan tersebut. Untuk melihat apakah suatu tindakan memerlukan tindakan mandiri tambahandalam kebijakan, lihat Tindakan, Sumber Daya, dan Kunci Syarat untuk AWS DeepLens dalamReferensi Otorisasi Layanan.

• Peran layanan – Peran layanan adalah IAM role yang diambil oleh layanan untuk melakukan tindakanatas nama Anda. Administrator IAM dapat membuat, memodifikasi, dan menghapus peran layanandari dalam IAM. Untuk informasi selengkapnya, lihatMembuat peran untuk mendelegasikan izinkeLayanan AWSdiPanduan Pengguna IAM.

• Peran yang terhubung dengan layanan— Peran yang terhubung dengan layanan adalah jenis peranlayanan yang tertaut denganLayanan AWS. Layanan dapat menggunakan peran untuk melakukantindakan atas nama Anda. Peran tertaut layanan muncul di akun IAM Anda dan dimiliki oleh layanantersebut. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan.

• Aplikasi yang berjalan di Amazon EC2 – Anda dapat menggunakan IAM role untuk mengelola kredensialsementara untuk aplikasi yang berjalan pada instans EC2, dan membuat permintaan API AWS CLI atauAWS. Menyimpan access key di dalam instans EC2 lebih disarankan. Untuk menugaskan sebuah peranAWS ke instans EC2 dan membuatnya tersedia untuk semua aplikasinya, Anda dapat membuat sebuahprofil instans yang dilampirkan ke instans. Profil instans berisi peran dan memungkinkan program yangberjalan di instans EC2 untuk mendapatkan kredensial sementara. Untuk informasi selengkapnya, lihatMenggunakan IAM role untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2 dalamPanduan Pengguna IAM.

Untuk mempelajari kapan waktunya menggunakan IAM role atau pengguna IAM, lihat Kapan harusmembuat IAM role (bukan pengguna) dalam Panduan Pengguna IAM.

Mengelola Akses Menggunakan KebijakanAnda mengendalikan akses di AWS dengan membuat kebijakan dan melampirkannya ke identitas IAMatau sumber daya AWS. Kebijakan adalah objek di AWS, yang saat terkait dengan identitas atau sumberdaya, akan menentukan izinnya. Anda dapat masuk sebagai pengguna root atau pengguna IAM, atauAnda dapat menggunakan IAM role. Ketika Anda kemudian membuat permintaan, AWS mengevaluasikebijakan berbasis identitas atau kebijakan berbasis sumber daya yang terkait. Izin dalam kebijakan dapatmenentukan permintaan yang diizinkan atau ditolak. Sebagian besar kebijakan disimpan di AWS sebagaidokumen JSON. Untuk informasi selengkapnya tentang struktur dan isi dokumen kebijakan JSON, lihatGambaran Umum kebijakan JSON dalam Panduan Pengguna IAM.

Administrator dapat menggunakan kebijakan JSON AWS untuk menentukan siapa yang memiliki akses kehal apa. Yaitu, principal dapat melakukan tindakan pada suatu sumber daya, dan dalam suatu syarat.

Setiap entitas IAM (pengguna atau peran) dimulai tanpa izin. Dengan kata lain, secara default, penggunatidak dapat melakukan apa pun, termasuk mengubah kata sandi mereka sendiri. Untuk memberikanizin kepada pengguna untuk melakukan sesuatu, administrator harus melampirkan kebijakan izinkepada pengguna. Atau administrator dapat menambahkan pengguna ke grup yang memiliki izin yangdimaksudkan. Ketika administrator memberikan izin untuk grup, semua pengguna dalam grup tersebutdiberikan izin tersebut.

Kebijakan IAM mendefinisikan izin untuk suatu tindakan terlepas dari metode yang Anda gunakan untukpengoperasiannya. Misalnya, Anda memiliki kebijakan yang mengizinkan tindakan iam:GetRole.Pengguna dengan kebijakan tersebut dapat memperoleh informasi peran dari API AWS ManagementConsole, the AWS CLI, or the AWS.

163

AWS DeepLens Panduan DeveloperMengelola Akses Menggunakan Kebijakan

Kebijakan Berbasis IdentitasKebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke identitas,seperti pengguna IAM, grup pengguna, atau peran. Kebijakan ini mengontrol tipe tindakan yang dapatdilakukan oleh pengguna dan peran, di sumber daya mana, dan dalam syarat. Untuk mempelajari caramembuat kebijakan berbasis identitas, lihat Membuat kebijakan IAM dalam Panduan Pengguna IAM.

Kebijakan berbasis identitas dapat dikategorikan lebih lanjut sebagai kebijakan inline atau kebijakanterkelola. Kebijakan inline disematkan secara langsung ke satu pengguna, grup, atau peran. Kebijakanterkelola adalah kebijakan mandiri yang dapat Anda lampirkan ke beberapa pengguna, grup, dan perandalam akun Akun AWS Anda. Kebijakan terkelola meliputi kebijakan yang dikelola AWS dan kebijakanyang dikelola pelanggan. Untuk mempelajari cara memilih antara kebijakan terkelola atau kebijakan inline,lihat Memilih antara kebijakan terkelola dan kebijakan inline dalam Panduan Pengguna IAM.

Kebijakan Berbasis Sumber DayaKebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumberdaya. Contoh kebijakan berbasis sumber daya adalah kebijakan tepercaya IAM role dan kebijakan bucketAmazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanandapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya yangdilampiri kebijakan tersebut, kebijakan menetapkan tindakan apa yang dapat dilakukan oleh principaltertentu di sumber daya tersebut dan dalam kondisi apa. Anda harus menentukan principal dalamkebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi,atauLayanan AWS.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidakdapat menggunakan kebijakan yang dikelola AWS dari IAM dalam kebijakan berbasis sumber daya.

Daftar Kontrol Akses (ACL)Daftar kontrol akses (ACL) mengendalikan principal mana (anggota akun, pengguna, atau peran) yangmemiliki izin untuk mengakses sumber daya. ACL serupa dengan kebijakan berbasis sumber daya,meskipun tidak menggunakan format dokumen kebijakan JSON.

Amazon S3, AWS WAF, dan Amazon VPC adalah contoh layanan yang mendukung ACL. Untukmempelajari ACL selengkapnya, lihat Gambaran umum daftar kontrol akses (ACL) dalam PanduanDeveloper Amazon Simple Storage Service.

Tipe Kebijakan LainnyaAWS mendukung tipe kebijakan tambahan, yang kurang umum. Tipe kebijakan ini dapat mengatur izinmaksimum yang diberikan kepada Anda oleh tipe kebijakan yang lebih umum.

• Batasan izin – Batasan izin adalah fitur lanjutan tempat Anda mengatur izin maksimum yang dapatdiberikan oleh kebijakan berbasis identitas kepada entitas IAM (pengguna atau IAM role). Anda dapatmenetapkan batas izin untuk suatu entitas. Izin yang dihasilkan adalah persimpangan antara kebijakanberbasis identitas milik entitas dan batas izinnya. Kebijakan berbasis sumber daya yang menentukanpengguna atau peran dalam bidang Principal tidak dibatasi oleh batasan izin. Penolakan eksplisitdalam salah satu kebijakan ini dapat membatalkan izin. Untuk informasi selengkapnya tentang batasanizin, lihat Batasan izin untuk entitas IAM dalam Panduan Pengguna IAM.

• Kebijakan Kontrol Layanan (SCPs) – SCP adalah kebijakan JSON yang menentukan izin maksimumuntuk sebuah organisasi atau unit organisasi (OU) di AWS Organizations. AWS Organizations adalahlayanan untuk mengelompokkan dan mengelola beberapa akun Akun AWS secara terpusat yangdimiliki oleh bisnis Anda. Jika Anda mengaktifkan semua fitur di sebuah organisasi, maka Anda dapatmenerapkan kebijakan kontrol layanan (SCP) ke salah satu atau ke semua akun Anda. SCP membatasiizin untuk entitas dalam akun anggota, termasuk setiap pengguna root Akun AWS. Untuk informasi

164

AWS DeepLens Panduan DeveloperBagaimana AWS DeepLens Bekerja dengan IAM

selengkapnya tentang Organizations dan SCP, lihat Cara kerja SCP dalam Panduan Pengguna AWSOrganizations.

• Kebijakan sesi – Kebijakan sesi adalah kebijakan lanjutan yang Anda berikan sebagai parameter saatAnda membuat sesi sementara secara terprogram bagi peran atau pengguna gabungan. Izin sesi yangdihasilkan adalah persimpangan kebijakan berbasis identitas pengguna atau peran dan kebijakan sesi.Izin juga dapat berasal dari kebijakan berbasis sumber daya. Penolakan eksplisit dalam salah satukebijakan ini membatalkan izin. Untuk informasi selengkapnya, lihat Kebijakan sesi dalam PanduanPengguna IAM.

Berbagai Tipe KebijakanKetika beberapa tipe kebijakan berlaku untuk sebuah permintaan, izin yang dihasilkan lebih rumit untukdipahami. Untuk mempelajari cara AWS menentukan untuk mengizinkan permintaan ketika beberapa tipekebijakan dilibatkan, lihat Logika evaluasi kebijakan dalam Panduan Pengguna IAM.

Bagaimana AWS DeepLens Bekerja dengan IAMSebelum Anda menggunakan IAM untuk mengelola akses ke AWS DeepLens, Anda harus memahami fiturIAM apa yang tersedia untuk digunakan dengan AWS DeepLens. Untuk mendapatkan tampilan tingkattinggi tentang cara AWS DeepLens dan layanan AWS lainnya bekerja dengan IAM, lihat Layanan AWSyang bekerja dengan IAM dalam Panduan Pengguna IAM.

Topik• Kebijakan Berbasis Identitas AWS DeepLens (p. 165)• Kebijakan Berbasis Sumber Daya AWS DeepLens (p. 166)• Daftar Kontrol Akses (ACL) (p. 166)• Otorisasi Berdasarkan Tag AWS DeepLens (p. 166)• AWS DeepLensPeran IAM (p. 166)

Kebijakan Berbasis Identitas AWS DeepLensDengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yangdiizinkan atau ditolak, serta kondisi di mana tindakan tersebut diperbolehkan atau ditolak. AWS DeepLensmendukung tindakan tertentu, sumber daya, dan kunci syarat. Untuk mempelajari semua elemen yangAnda gunakan dalam kebijakan JSON, lihat Referensi elemen kebijakan IAM JSON dalam PanduanPengguna IAM.

Tindakan

Administrator dapat menggunakan kebijakan JSON AWS untuk menentukan siapa yang memiliki akses kehal apa. Yaitu, principal mana yang dapat melakukan tindakan pada sumber daya apa, dan dalam syaratapa.

Elemen Action dari kebijakan JSON menjelaskan tindakan-tindakan yang dapat Anda gunakan untukmengizinkan atau menolak akses dalam sebuah kebijakan. Tindakan kebijakan biasanya memiliki namayang sama sebagai operasi API AWS terkait. Ada beberapa pengecualian, misalnya tindakan hanyadengan izin yang tidak memiliki operasi API yang cocok. Ada juga beberapa operasi yang memerlukanbeberapa tindakan dalam kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Sertakan tindakan dalam kebijakan untuk memberikan izin guna melakukan operasi yang terkait.

Tindakan kebijakan di AWS DeepLens menggunakan prefiks berikut sebelum tindakan: aws-deeplense:.Misalnya, untuk memberikan izin kepada seseorang untuk menjalankan instans Amazon EC2 dengan

165

AWS DeepLens Panduan DeveloperBagaimana AWS DeepLens Bekerja dengan IAM

Amazon EC2RunInstancesAPI operasi, Anda termasukec2:RunInstancestindakan dalam kebijakanmereka. Pernyataan kebijakan harus menyertakan elemen Action atau NotAction. AWS DeepLensmenentukan set tindakan sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

"Action": [ "ec2:action1", "ec2:action2"

Anda dapat menentukan beberapa tindakan menggunakan wildcard (*). Misalnya, untuk menentukansemua tindakan yang dimulai dengan kata Describe, sertakan tindakan berikut:

"Action": "ec2:Describe*"

Untuk melihat daftar tindakan AWS DeepLens, lihat Tindakan Ditentukan oleh AWS DeepLens di PanduanPengguna IAM.

Sumber daya

AWS DeepLenstidak mendukung penentuan ARN sumber daya dalam kebijakan.

Kunci kondisi

AWS DeepLenstidak memberikan kunci ketentuan khusus layanan.

Kebijakan Berbasis Sumber Daya AWS DeepLensAWS DeepLens tidak men-support kebijakan berbasis sumber daya.

Daftar Kontrol Akses (ACL)AWS DeepLenstidak mendukung daftar kontrol akses (ACL).

Otorisasi Berdasarkan Tag AWS DeepLensAWS DeepLenstidak mendukung penandaan sumber daya atau mengendalikan akses berdasarkan tag.

AWS DeepLensPeran IAMIAM role adalah entitas dalam akun AWS Anda yang memiliki izin khusus.

Menggunakan Kredensial Sementara dengan AWS DeepLens

AWS DeepLens mendukung penggunaan kredensial sementara.

Peran Tertaut Layanan

Peran terkait layanan mengizinkan layanan AWS untuk mengakses sumber daya di layanan lain untukmenyelesaikan tindakan atas nama Anda. Peran terkait layanan muncul di akun IAM Anda dan dimilikioleh layanan tersebut. Administrator IAM dapat melihat tetapi tidak dapat mengedit izin untuk peran yangditautkan dengan layanan.

AWS DeepLens tidak mendukung peran terkait layanan.

166

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

Peran Layanan

Fitur ini memungkinkan layanan untuk menerima peran layanan atas nama Anda. Peran ini mengizinkanlayanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda.Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun tersebut. Ini berarti administrator IAM dapatmengubah izin untuk peran ini. Namun, hal itu dapat merusak fungsionalitas layanan.

AWS DeepLens mendukung peran layanan

Memilih IAM Role diAWS DeepLens

Saat Anda membuatwidgetsumber daya dalamAWS DeepLens, Anda harus memilih peran untukmemungkinkanAWS DeepLensuntuk mengakses Amazon EC2 atas nama Anda. Jika sebelumnya Andatelah membuat peran layanan atau peran tertaut layanan, makaAWS DeepLensmemberi Anda daftar peranyang dapat dipilih. Penting untuk memilih peran yang mengizinkan akses untuk memulai dan menghentikaninstans Amazon EC2. Untuk informasi selengkapnya, lihatTAMBAHKAN XREF KE DOKUMEN ANDA DISINI.

Contoh Kebijakan Berbasis Identitas AWS DeepLensSecara default, pengguna dan peran IAM tidak memiliki izin untuk membuat atau memodifikasi sumberdaya AWS DeepLens. Mereka juga tidak dapat melakukan tugas dengan menggunakan API AWSManagement Console, AWS CLI, atau AWS. Administrator IAM harus membuat kebijakan IAM yangmemberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber dayayang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna IAM ataugrup yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumenkebijakan JSON ini, lihat Membuat Kebijakan pada Tab JSON dalam Panduan Pengguna IAM.

Topik• Praktik Terbaik Kebijakan (p. 167)• Menggunakan Konsol AWS DeepLens (p. 168)• Izinkan Pengguna untuk Melihat Izin Mereka Sendiri (p. 172)

Praktik Terbaik KebijakanKebijakan berbasis identitas sangat kuat. Kebijakan ini menentukan apakah seseorang dapat membuat,mengakses, atau menghapus sumber daya AWS DeepLens di akun Anda. Tindakan ini dapat dikenai biayauntuk Akun AWS. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan danrekomendasi ini:

• Mulai gunakan kebijakan terkelola AWS – Untuk mulai menggunakan AWS DeepLens dengan cepat,gunakan kebijakan terkelola AWS untuk memberikan izin yang dibutuhkan oleh karyawan Anda.Kebijakan ini sudah tersedia di akun Anda dan dikelola serta diperbarui oleh AWS. Untuk informasiselengkapnya, lihat Memulai menggunakan izin dengan kebijakan yang dikelola AWS dalam PanduanPengguna IAM.

• Pemberian hak istimewa terendah – Ketika Anda membuat kebijakan kustom, berikan izin yangdiperlukan saja untuk melakukan tugas. Mulai dengan satu set izin minimum dan berikan izin tambahansesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalufleksibel, lalu mencoba memperketatnya nanti. Untuk informasi selengkapnya, lihat Pemberian hakistimewa terendah dalam Panduan Pengguna IAM.

• Aktifkan autentikasi multifaktor (MFA) untuk operasi sensitif – Untuk keamanan ekstra, mintalahpengguna IAM untuk menggunakan autentikasi multifaktor (MFA) guna mengakses sumber daya atau

167

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

operasi API yang sensitif. Untuk informasi selengkapnya, lihat Menggunakan autentikasi multifaktor(MFA) dalam AWS dalam Panduan Pengguna IAM.

• Gunakan syarat kebijakan untuk keamanan tambahan – Selama bisa dilakukan, tentukan persyaratanagar kebijakan berbasis identitas Anda mengizinkan akses ke sumber daya. Misalnya, Anda dapatmenulis persyaratan untuk menentukan jangkauan alamat IP yang diizinkan untuk mengajukanpermintaan. Anda juga dapat menulis ketentuan untuk mengizinkan permintaan hanya dalam rentangtanggal atau waktu tertentu, atau untuk mengharuskan penggunaan SSL atau MFA. Untuk informasilebih lanjut, lihat Elemen kebijakan IAM JSON: Ketentuan dalam Panduan Pengguna IAM.

Menggunakan Konsol AWS DeepLensUntuk mengakses konsol AWS DeepLens tersebut, Anda harus memiliki rangkaian izin minimum. Izin iniharus memperbolehkan Anda untuk membuat daftar dan melihat perincian tentang sumber daya AWSDeepLens di akun AWS Anda. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat dari izinminimum yang diperlukan, konsol tersebut tidak akan berfungsi sebagaimana dimaksudkan untuk entitas(pengguna atau peran IAM) dengan kebijakan tersebut.

Untuk memastikan bahwa entitas tersebut masih dapat menggunakanAWS DeepLenskonsol, jugamelampirkan berikutAWSkebijakan yang berhasil ke entitas. Untuk informasi selengkapnya, lihatMenambahkan izin ke Pengguna dalam Panduan Pengguna IAM:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeepLensIoTThingAccess", "Effect": "Allow", "Action": [ "iot:CreateThing", "iot:DeleteThing", "iot:DeleteThingShadow", "iot:DescribeThing", "iot:GetThingShadow", "iot:UpdateThing", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:*:*:thing/deeplens_*" ] }, { "Sid": "DeepLensIoTCertificateAccess", "Effect": "Allow", "Action": [ "iot:AttachThingPrincipal", "iot:DetachThingPrincipal" ], "Resource": [ "arn:aws:iot:*:*:thing/deeplens_*", "arn:aws:iot:*:*:cert/*" ] }, { "Sid": "DeepLensIoTCreateCertificateAndPolicyAccess", "Effect": "Allow", "Action": [ "iot:CreateKeysAndCertificate", "iot:CreatePolicy", "iot:CreatePolicyVersion" ], "Resource": [

168

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

"*" ] }, { "Sid": "DeepLensIoTAttachCertificatePolicyAccess", "Effect": "Allow", "Action": [ "iot:AttachPrincipalPolicy" ], "Resource": [ "arn:aws:iot:*:*:policy/deeplens*", "arn:aws:iot:*:*:cert/*" ] }, { "Sid": "DeepLensIoTDataAccess", "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:*:*:thing/deeplens_*" ] }, { "Sid": "DeepLensIoTEndpointAccess", "Effect": "Allow", "Action": [ "iot:DescribeEndpoint" ], "Resource": [ "*" ] }, { "Sid": "DeepLensAccess", "Effect": "Allow", "Action": [ "deeplens:*" ], "Resource": [ "*" ] }, { "Sid": "DeepLensS3ObjectAccess", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::deeplens*/*" ] }, { "Sid": "DeepLensS3Buckets", "Effect": "Allow", "Action": [ "s3:DeleteBucket", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::deeplens*" ] },

169

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

{ "Sid": "DeepLensCreateS3Buckets", "Effect": "Allow", "Action": [ "s3:CreateBucket" ], "Resource": [ "*" ] }, { "Sid": "DeepLensIAMPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "greengrass.amazonaws.com", "sagemaker.amazonaws.com" ] } } }, { "Sid": "DeepLensIAMLambdaPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/deeplens*" ], "Condition": { "StringEquals": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Sid": "DeepLensGreenGrassAccess", "Effect": "Allow", "Action": [ "greengrass:AssociateRoleToGroup", "greengrass:AssociateServiceRoleToAccount", "greengrass:CreateResourceDefinition", "greengrass:CreateResourceDefinitionVersion", "greengrass:CreateCoreDefinition", "greengrass:CreateCoreDefinitionVersion", "greengrass:CreateDeployment", "greengrass:CreateFunctionDefinition", "greengrass:CreateFunctionDefinitionVersion", "greengrass:CreateGroup", "greengrass:CreateGroupCertificateAuthority", "greengrass:CreateGroupVersion", "greengrass:CreateLoggerDefinition", "greengrass:CreateLoggerDefinitionVersion", "greengrass:CreateSubscriptionDefinition", "greengrass:CreateSubscriptionDefinitionVersion", "greengrass:DeleteCoreDefinition", "greengrass:DeleteFunctionDefinition", "greengrass:DeleteGroup",

170

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

"greengrass:DeleteLoggerDefinition", "greengrass:DeleteSubscriptionDefinition", "greengrass:DisassociateRoleFromGroup", "greengrass:DisassociateServiceRoleFromAccount", "greengrass:GetAssociatedRole", "greengrass:GetConnectivityInfo", "greengrass:GetCoreDefinition", "greengrass:GetCoreDefinitionVersion", "greengrass:GetDeploymentStatus", "greengrass:GetDeviceDefinition", "greengrass:GetDeviceDefinitionVersion", "greengrass:GetFunctionDefinition", "greengrass:GetFunctionDefinitionVersion", "greengrass:GetGroup", "greengrass:GetGroupCertificateAuthority", "greengrass:GetGroupCertificateConfiguration", "greengrass:GetGroupVersion", "greengrass:GetLoggerDefinition", "greengrass:GetLoggerDefinitionVersion", "greengrass:GetServiceRoleForAccount", "greengrass:GetSubscriptionDefinition", "greengrass:GetSubscriptionDefinitionVersion", "greengrass:ListCoreDefinitionVersions", "greengrass:ListCoreDefinitions", "greengrass:ListDeployments", "greengrass:ListDeviceDefinitionVersions", "greengrass:ListDeviceDefinitions", "greengrass:ListFunctionDefinitionVersions", "greengrass:ListFunctionDefinitions", "greengrass:ListGroupCertificateAuthorities", "greengrass:ListGroupVersions", "greengrass:ListGroups", "greengrass:ListLoggerDefinitionVersions", "greengrass:ListLoggerDefinitions", "greengrass:ListSubscriptionDefinitionVersions", "greengrass:ListSubscriptionDefinitions", "greengrass:ResetDeployments", "greengrass:UpdateConnectivityInfo", "greengrass:UpdateCoreDefinition", "greengrass:UpdateDeviceDefinition", "greengrass:UpdateFunctionDefinition", "greengrass:UpdateGroup", "greengrass:UpdateGroupCertificateConfiguration", "greengrass:UpdateLoggerDefinition", "greengrass:UpdateSubscriptionDefinition" ], "Resource": [ "*" ] }, { "Sid": "DeepLensLambdaAdminFunctionAccess", "Effect": "Allow", "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:ListFunctions", "lambda:ListVersionsByFunction", "lambda:PublishVersion", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:*:*:function:deeplens*"

171

AWS DeepLens Panduan DeveloperContoh Kebijakan Berbasis Identitas

] }, { "Sid": "DeepLensSageMakerAccess", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:training-job/deeplens_*" ] }, { "Sid": "DeepLensAcuityStreamAccess", "Effect": "Allow", "Action": [ "acuity:CreateStream", "acuity:DescribeStream", "acuity:DeleteStream" ], "Resource": [ "arn:aws:acuity:*:*:stream/deeplens*/*" ] }, { "Sid": "DeepLensAcuityEndpointAccess", "Effect": "Allow", "Action": [ "acuity:GetDataEndpoint" ], "Resource": [ "*" ] } ]}

Akses yang lebih granular tidak dianjurkan. Perangkat biasanya diakses melalui konsol dan bukan melaluipanggilan API. Tidak ada API publik untukAWS DeepLens.

Izinkan Pengguna untuk Melihat Izin Mereka SendiriContoh ini menunjukkan cara Anda dapat membuat kebijakan yang mengizinkan para pengguna IAMuntuk melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan inimencakup izin untuk menyelesaikan tindakan ini pada konsol atau secara terprogram menggunakan AWSCLI atau API AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"]

172

AWS DeepLens Panduan DeveloperPemecahan Masalah

}, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ]}

Pemecahan Masalah Identitas dan Akses AWSDeepLensGunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yangmungkin Anda temukan saat bekerja dengan AWS DeepLens dan IAM.

Topik• Saya tidak memiliki izin untuk melakukan tindakan di AWS DeepLens (p. 173)• Saya tidak Berwenang untuk Melakukan iam:PassRole (p. 173)• Saya Ingin Melihat Access Key Saya (p. 174)• Saya Seorang Administrator dan Ingin Mengizinkan Orang Lain Mengakses AWS DeepLens (p. 174)

Saya tidak memiliki izin untuk melakukan tindakan di AWSDeepLensJika AWS Management Console memberi tahu Anda bahwa Anda tidak memiliki izin untuk melakukantindakan, Anda harus menghubungi administrator untuk mendapatkan bantuan. Administrator Anda adalahorang yang memberikan nama pengguna dan kata sandi Anda.

Contoh kesalahan berikut terjadi ketikamateojacksonPengguna IAM mencoba menggunakan konsoluntuk melihat detail tentangPerangkattetapi tidak memilikiaws-deeplense:GetDeviceizin.

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: aws-deeplense:GetWidget on resource: my-example-widget

Dalam hal ini, Mateo meminta administratornya untuk memperbarui kebijakannya agar dia dapatmengakses sumber daya my-example-widget menggunakan tindakan aws-deeplense:GetWidget.

Saya tidak Berwenang untuk Melakukan iam:PassRoleJika Anda menerima kesalahan bahwa Anda tidak terotorisasi untuk melakukan tindakan iam:PassRole,Anda harus menghubungi administrator untuk mendapatkan bantuan. Administrator Anda adalah orangyang memberikan Anda nama pengguna dan kata sandi Anda. Minta orang tersebut untuk memperbaruikebijakan Anda agar Anda dapat memberikan peran ke AWS DeepLens.

173

AWS DeepLens Panduan DeveloperManajemen Pembaruan

BeberapaLayanan AWSmemungkinkan Anda untuk memberikan peran yang sudah ada ke layanantersebut, alih-alih membuat peran layanan baru atau peran tertaut layanan. Untuk melakukannya, Andaharus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama marymajor mencoba menggunakankonsol tersebut untuk melakukan tindakan di AWS DeepLens. Namun, tindakan tersebut memerlukanlayanan untuk memiliki izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskanperan tersebut ke layanan.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

Dalam kasus ini, Mary meminta administrator untuk memperbarui kebijakannya agar mengizinkannya untukmelakukan tindakan iam:PassRole.

Saya Ingin Melihat Access Key SayaSetelah membuat access key pengguna IAM, Anda dapat melihat access key ID Anda setiap saat. Namun,Anda tidak dapat melihat secret access key Anda lagi. Jika Anda kehilangan secret key, Anda harusmembuat pasangan access key baru.

Access key terdiri dari dua bagian: access key ID (misalnya, AKIAIOSFODNN7EXAMPLE) dan secret accesskey (misalnya, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). Seperti nama pengguna dan katasandi, Anda harus menggunakan access key ID dan secret access key sekaligus untuk mengautentikasipermintaan Anda. Kelola access key Anda seaman nama pengguna dan kata sandi Anda.

Important

Jangan memberikan access key Anda kepada pihak ke tiga, bahkan untuk membantu menemukanID pengguna kanonis Anda. Anda mungkin memberi seseorang akses permanen ke akun Anda,dengan melakukan ini.

Saat Anda membuat pasangan access key, Anda diminta menyimpan access key ID dan secret accesskey di lokasi yang aman. secret access key hanya tersedia saat Anda membuatnya. Jika Anda kehilangansecret access key Anda, Anda harus menambahkan access key baru ke pengguna IAM Anda. Andadapat memiliki maksimum dua access key. Jika Anda sudah memiliki dua, Anda harus menghapus satupasangan kunci sebelum membuat pasangan baru. Untuk melihat instruksi, lihat Mengelola access keydalam Panduan Pengguna IAM.

Saya Seorang Administrator dan Ingin Mengizinkan Orang LainMengakses AWS DeepLensUntuk mengizinkan orang lain mengakses AWS DeepLens, Anda harus membuat entitas IAM (penggunaatau peran) untuk orang atau aplikasi yang memerlukan akses. Mereka akan menggunakan kredensialuntuk entitas tersebut untuk mengakses AWS. Anda kemudian harus melampirkan kebijakan yang memberimereka izin yang tepat di AWS DeepLens.

Untuk segera memulai, lihat Membuat pengguna dan grup IAM pertama Anda yang didelegasikan diPanduan Pengguna IAM.

Manajemen PembaruanAWS DeepLensmembuat pembaruan perangkat lunak perangkat yang tersedia. Sebagai pengguna, Andamemutuskan apakah akan menginstal pembaruan ke perangkat atau tidak. Anda dapat melakukannyadiAWS DeepLenskonsol. Untuk patch keamanan, Anda akan dipaksa untuk menginstal patch.

174

AWS DeepLens Panduan DeveloperKepatuhan Keamanan

AWS DeepLensmenyediakan pembaruan perangkat lunak perangkat, secara berkala, sebagai patchperangkat lunak atau fitur baru. Anda dapat memilih untuk mem-flash ulang gambar.

Kepatuhan KeamananAuditor pihak ketiga menilai keamanan dan kepatuhanLayanan AWSsebagai bagian daribeberapaAWSprogram kepatuhan, seperti SOC, PCI, FedRAMP, dan HIPAA.

Untuk mempelajari apakah atau lainnyaLayanan AWSberada dalam lingkup program kepatuhan tertentu,lihatAWSLayanan dalam Lingkup oleh Program Kepatuhan. Untuk informasi umum, lihat ProgramKepatuhan AWS.

Anda bisa mengunduh laporan audit pihak ketiga menggunakan AWS Artifact. Untuk informasiselengkapnya, lihat Mengunduh Laporan di AWS Artifact.

Tanggung jawab kepatuhan Anda saat menggunakan Layanan AWS ditentukan oleh sensitivitas pada dataAnda, tujuan kepatuhan perusahaan Anda, serta hukum dan peraturan yang berlaku. AWS menyediakansumber daya berikut untuk membantu kepatuhan:

• Panduan Quick Start Keamanan dan Kepatuhan – Panduan deployment ini membahas pertimbanganarsitektur dan menyediakan langkah-langkah untuk men-deploy lingkungan dasar di AWS yang menjadifokus keamanan dan kepatuhan.

• Merancang untuk Whitepaper Keamanan dan Kepatuhan HIPAA— Whitepaper ini menjelaskanbagaimana perusahaan dapat menggunakanAWSuntuk membuat aplikasi yang memenuhi syaratHIPAA.

Note

Tidak semuaLayanan AWSHIPAA memenuhi syarat. Untuk informasi lebih lanjut, lihatReferensiLayanan yang Layak HIPAA.

• Sumber Daya Kepatuhan AWS – Kumpulan buku kerja dan panduan ini mungkin berlaku untuk industridan lokasi Anda.

• Mengevaluasi Sumber Daya dengan Aturan di Panduan Developer AWS Config – Layanan AWS Configmenilai seberapa baik konfigurasi sumber daya Anda dalam mematuhi praktik internal, pedoman industri,dan peraturan.

• AWS Security Hub— IniLayanan AWSmenyediakan pandangan komprehensif tentang status keamananAnda dalamAWSyang membantu Anda memeriksa kepatuhan Anda terhadap standar industri dan praktikterbaik yang terkait dengan keamanan.

• AWS Audit Manager— IniLayanan AWSmembantu Anda terus mengauditAWSpenggunaan untukmenyederhanakan cara Anda mengelola risiko dan kepatuhan terhadap peraturan dan standar industri.

175

AWS DeepLens Panduan Developer

Riwayat dokumen untuk AWSDeepLens

• Versi API: 2017-08-31

Tabel berikut menjelaskan penambahan dan perubahan padaAWS DeepLensDokumentasi PanduanDeveloper.

pembaruan-riwayat-perubahan pembaruan-riwayat-deskripsi pembaruan-riwayat-tanggal

Rilis dariAWS DeepLensEdisi2019 (v1.1) (p. 176)

Meningkatkan pengalamanpendaftaran perangkat danmenambahkan dukunganSageMaker Neo untuk optimasiinferensi otomatis. Untukinformasi selengkapnya,lihatPendaftaranAWSDeepLensPerangkat Edisi 2019(v1.1)danGunakan SageMakerNeo untuk MengoptimalkanInferensi padaAWS DeepLens.

10 Juli 2019

Proyek Contoh KlasifikasiBurung (p. 176)

Menambahkan Klasifikasi BurungkeAWS DeepLensSampelProyek. Untuk informasiselengkapnya, lihatProyekContoh Klasifikasi Burung.

8 April 2019

Support untuk model yangdibuat dengan TensorFlow danCaffe (p. 176)

Menambahkan TensorFlowdan Caffe sebagaikerangka pemodelan yangdidukung. Untuk informasiselengkapnya, lihatModel danLapisan TensorFlow yangDidukungdanModel dan LapisanCaffe yang Didukung.

14 Juni 2018

Pembuatan peran IAM yangdisederhanakan (p. 176)

Memungkinkan pembuatanperan IAM yang diperlukanuntuk menjalankanAWSDeepLensproyek aplikasidengan satu klik tombol diAWSDeepLenskonsol. Untuk informasiselengkapnya, lihatDaftarkanPerangkat Anda.

14 Juni 2018

Booting aman (p. 176) Menambahkan bootingaman. ParameterAWSDeepLensperangkat amansepatu untuk mencegah instalasisistem operasi yang tidak sah.Untuk informasi selengkapnya,

14 Juni 2018

176

AWS DeepLens Panduan Developer

lihatBoot Perangkat Anda denganAman.

Integrasi dengan Arus AmazonKinesis Video Streams (p. 176)

Menggunakan Arus KinesisVideo Streams untukAWSDeepLensPerpustakaan videountuk mengirim umpan videodariAWS DeepLensperangkatuntuk Kinesis Video Streamsuntuk jangka waktu tertentu.Umpan dapat digunakan sebagaimasukan untuk analisis visitambahan atau sebagai datapelatihan untuk model deeplearning visi komputer Anda.Untuk informasi selengkapnya,lihatAWS DeepLensModulPerpustakaan Integrasi VideoKinesis.

14 Juni 2018

Kemampuan untuk melihataliran output perangkat dibrowser (p. 176)

Menambahkan dukungan untukmenggunakan browser untukmelihat aliran perangkat yangbelum diproses atau aliran proyekyang diproses. Untuk informasiselengkapnya, lihatMelihatkanAndaAWS DeepLensOutputPerangkat di Browser.

14 Juni 2018

URL penyiapan perangkatbernama (p. 176)

MembuatAWS DeepLensaplikasipengaturan perangkat dapatdiakses melalui URLhttp://deeplens.config. Untukinformasi selengkapnya,lihatMenyiapkan Perangkat Anda.

5 Juni 2018

Panduan pemecahanmasalah (p. 176)

Menyediakan daftar pertanyaandan jawaban yang umumdiajukan tentang pemecahanmasalah umumAWSDeepLensmasalah. Untukinformasi selengkapnya,lihatPanduan pemecahanmasalah.

3 Mei 2018

Dukungan Gluon (p. 176) Menambahkan dukungan untukmodel Gluon. Untuk informasiselengkapnya, lihatModel MXNetyang Didukung Dipekspos olehGluon API.

13 Maret 2018

Mengimpor dariSageMaker (p. 176)

Menyederhanakan prosesuntuk mengimpor model yangdilatih dengan SageMaker.Untuk informasi selengkapnya,lihatMengimpor Model Anda yangterlatih SageMaker.

22 Februari 2018

177

AWS DeepLens Panduan Developer

Optimalisasi model (p. 176) Menambahkan dukunganuntuk mengoptimalkan modelkustom Anda sehingga berjalanpada GPU bukan CPU. Untukinformasi selengkapnya,lihatOptimalkan ModelKustomdanModel Optimasi (mo)Modul.

31 Januari 2018

Panduan Developer AWSDeepLens (p. 176)

Rilis pertama dari panduanprogrammer untuk membangunaplikasi visi komputer edge-dioptimalkan menggunakanAWSDeepLensdengan model inferensiyang dilatih dalam kerangka kerjadeep learning umum, termasukMXNet.

29 November 2017

178

AWS DeepLens Panduan Developer

Daftar istilah AWSUntuk terminologi AWS terbaru, lihat AWS daftar istilah di AWS Referensi Umum.

179

AWS DeepLens Panduan Developer

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

clxxx