

Pemberitahuan akhir dukungan: Pada 31 Mei 2026, AWS akan mengakhiri dukungan untuk AWS Panorama. Setelah 31 Mei 2026, Anda tidak akan lagi dapat mengakses AWS Panorama konsol atau AWS Panorama sumber daya. Untuk informasi lebih lanjut, lihat [AWS Panorama akhir dukungan](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html). 

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

# Memulai dengan AWS Panorama
<a name="panorama-gettingstarted"></a>

Untuk memulai AWS Panorama, pertama-tama pelajari tentang [konsep layanan](gettingstarted-concepts.md) dan terminologi yang digunakan dalam panduan ini. Kemudian Anda dapat menggunakan AWS Panorama konsol untuk [mendaftarkan AWS Panorama Appliance Anda](gettingstarted-setup.md) dan [membuat aplikasi](gettingstarted-deploy.md). Dalam waktu sekitar satu jam, Anda dapat mengonfigurasi perangkat, memperbarui perangkat lunaknya, dan menerapkan aplikasi sampel. Untuk menyelesaikan tutorial di bagian ini, Anda menggunakan AWS Panorama Appliance dan kamera yang mengalirkan video melalui jaringan lokal.

**catatan**  
Untuk membeli AWS Panorama Appliance, kunjungi [AWS Panorama konsol](https://console.aws.amazon.com/panorama/home#get-device-quote).

[Aplikasi AWS Panorama sampel](gettingstarted-sample.md) menunjukkan penggunaan AWS Panorama fitur. Ini mencakup model yang telah dilatih dengan SageMaker AI dan kode sampel yang menggunakan SDK AWS Panorama Aplikasi untuk menjalankan inferensi dan output video. Contoh aplikasi menyertakan CloudFormation template dan skrip yang menunjukkan cara mengotomatiskan alur kerja pengembangan dan penyebaran dari baris perintah.

Dua topik terakhir dalam bagian ini merinci [persyaratan untuk model dan kamera](gettingstarted-compatibility.md), dan [spesifikasi perangkat keras AWS Panorama Alat](gettingstarted-hardware.md). Jika Anda belum mendapatkan alat dan kamera, atau berencana mengembangkan model visi komputer Anda sendiri, lihat topik ini terlebih dahulu untuk informasi lebih lanjut.

**Topics**
+ [Konsep AWS Panorama](gettingstarted-concepts.md)
+ [Menyiapkan AWS Panorama Appliance](gettingstarted-setup.md)
+ [Menerapkan aplikasi sampel AWS Panorama](gettingstarted-deploy.md)
+ [Mengembangkan aplikasi AWS Panorama](gettingstarted-sample.md)
+ [Model dan kamera visi komputer yang didukung](gettingstarted-compatibility.md)
+ [Spesifikasi AWS Panorama Appliance](gettingstarted-hardware.md)
+ [Kuota layanan](gettingstarted-quotas.md)

# Konsep AWS Panorama
<a name="gettingstarted-concepts"></a>

Di AWS Panorama, Anda membuat aplikasi visi komputer dan menerapkannya ke AWS Panorama Appliance atau perangkat yang kompatibel untuk menganalisis aliran video dari kamera jaringan. Anda menulis kode aplikasi dengan Python dan membangun wadah aplikasi dengan Docker. Anda menggunakan AWS Panorama Application CLI untuk mengimpor model machine learning secara lokal atau dari Amazon Simple Storage Service (Amazon S3). Aplikasi menggunakan AWS Panorama Application SDK untuk menerima input video dari kamera dan berinteraksi dengan model.

**Topics**
+ [Alat Panorama AWS](#gettingstarted-concepts-appliance)
+ [Perangkat yang kompatibel](#gettingstarted-concepts-devices)
+ [Aplikasi](#gettingstarted-concepts-application)
+ [Simpul](#gettingstarted-concepts-node)
+ [Model](#gettingstarted-concepts-model)

## Alat Panorama AWS
<a name="gettingstarted-concepts-appliance"></a>

AWS Panorama Appliance adalah perangkat keras yang menjalankan aplikasi Anda. Anda menggunakan konsol AWS Panorama untuk mendaftarkan alat, memperbarui perangkat lunaknya, dan menerapkan aplikasi ke dalamnya. Perangkat lunak pada AWS Panorama Appliance terhubung ke aliran kamera, mengirimkan bingkai video ke aplikasi Anda, dan menampilkan output video pada tampilan terlampir.

AWS Panorama Appliance adalah *perangkat tepi* yang [ditenagai oleh Nvidia Jetson](gettingstarted-hardware.md) AGX Xavier. Alih-alih mengirim gambar ke AWS Cloud untuk diproses, ia menjalankan aplikasi secara lokal pada perangkat keras yang dioptimalkan. Ini memungkinkan Anda menganalisis video secara real time dan memproses hasilnya secara lokal. Alat ini memerlukan koneksi internet untuk melaporkan statusnya, mengunggah log, dan melakukan pembaruan dan penerapan perangkat lunak.

Untuk informasi selengkapnya, lihat [Mengelola AWS Panorama Appliance](panorama-appliance.md).

## Perangkat yang kompatibel
<a name="gettingstarted-concepts-devices"></a>

Selain AWS Panorama Appliance, AWS Panorama mendukung perangkat yang kompatibel dari Mitra. AWS Perangkat yang kompatibel mendukung fitur yang sama dengan AWS Panorama Appliance. Anda mendaftarkan dan mengelola perangkat yang kompatibel dengan konsol AWS Panorama dan API, serta membuat serta menerapkan aplikasi dengan cara yang sama.

****
+ [Lenovo ThinkEdge® SE7 0](https://techtoday.lenovo.com/us/en/solutions/smb/thinkedge) — Didukung oleh Nvidia Jetson Xavier NX

Konten dan contoh aplikasi dalam panduan ini dikembangkan dengan AWS Panorama Appliance. Untuk informasi selengkapnya tentang fitur perangkat keras dan perangkat lunak tertentu untuk perangkat Anda, lihat dokumentasi pabrikan.

## Aplikasi
<a name="gettingstarted-concepts-application"></a>

Aplikasi berjalan di AWS Panorama Appliance untuk melakukan tugas visi komputer pada aliran video. Anda dapat membangun aplikasi visi komputer dengan menggabungkan kode Python dan model pembelajaran mesin, dan menerapkannya ke AWS Panorama Appliance melalui internet. Aplikasi dapat mengirim video ke layar, atau menggunakan AWS SDK untuk mengirim hasil ke layanan AWS.

Untuk membangun dan menerapkan aplikasi, Anda menggunakan AWS Panorama Application CLI. AWS Panorama Application CLI adalah alat baris perintah yang menghasilkan folder aplikasi default dan file konfigurasi, membangun kontainer dengan Docker, dan mengunggah aset. Anda dapat menjalankan beberapa aplikasi pada satu perangkat.

Untuk informasi selengkapnya, lihat [Mengelola AWS Panorama aplikasi](panorama-applications.md).

## Simpul
<a name="gettingstarted-concepts-node"></a>

Sebuah aplikasi terdiri dari beberapa komponen yang disebut *node*, yang mewakili input, output, model, dan kode. Sebuah node dapat berupa konfigurasi saja (input dan output), atau menyertakan artefak (model dan kode). Node kode aplikasi dibundel dalam *paket node* yang Anda unggah ke jalur akses Amazon S3, tempat AWS Panorama Appliance dapat mengaksesnya. *Manifes aplikasi* adalah file konfigurasi yang mendefinisikan koneksi antara node.

Untuk informasi selengkapnya, lihat [Node aplikasi](applications-nodes.md).

## Model
<a name="gettingstarted-concepts-model"></a>

Model visi komputer adalah jaringan pembelajaran mesin yang dilatih untuk memproses gambar. Model visi komputer dapat melakukan berbagai tugas seperti klasifikasi, deteksi, segmentasi, dan pelacakan. Model visi komputer mengambil gambar sebagai input dan output informasi tentang gambar atau objek dalam gambar.

AWS Panorama mendukung model yang dibangun dengan PyTorch, Apache MXNet, dan. TensorFlow Anda dapat membuat model dengan Amazon SageMaker AI atau di lingkungan pengembangan Anda. Untuk informasi selengkapnya, lihat [Model visi komputer](applications-models.md).

# Menyiapkan AWS Panorama Appliance
<a name="gettingstarted-setup"></a>

Untuk mulai menggunakan AWS Panorama Appliance atau [perangkat yang kompatibel](gettingstarted-concepts.md#gettingstarted-concepts-devices), daftarkan di konsol AWS Panorama dan perbarui perangkat lunaknya. Selama proses penyiapan, Anda membuat *sumber daya* alat di AWS Panorama yang mewakili alat fisik, dan menyalin file ke alat dengan drive USB. Alat menggunakan sertifikat dan file konfigurasi ini untuk terhubung ke layanan AWS Panorama. Kemudian Anda menggunakan konsol AWS Panorama untuk memperbarui perangkat lunak alat dan mendaftarkan kamera.

**Topics**
+ [Prasyarat](#gettingstarted-prerequisites)
+ [Daftarkan dan konfigurasikan AWS Panorama Appliance](#gettingstarted-device)
+ [Tingkatkan perangkat lunak alat](#gettingstarted-upgrade)
+ [Tambahkan aliran kamera](#gettingstarted-setup-camera)
+ [Langkah selanjutnya](#gettingstarted-setup-nextsteps)

## Prasyarat
<a name="gettingstarted-prerequisites"></a>

Untuk mengikuti tutorial ini, Anda memerlukan AWS Panorama Appliance atau perangkat yang kompatibel dan perangkat keras berikut:

****
+ **Tampilan** - Tampilan dengan input HDMI untuk melihat output aplikasi sampel.
+ **Drive USB** (disertakan dengan AWS Panorama Appliance) — Drive memori flash USB 3.0 yang FAT32 diformat dengan penyimpanan minimal 1 GB, untuk mentransfer arsip dengan file konfigurasi dan sertifikat ke AWS Panorama Appliance.
+ **Kamera — Kamera** IP yang menghasilkan aliran video RTSP.

Gunakan alat dan instruksi yang disediakan oleh produsen kamera Anda untuk mengidentifikasi alamat IP kamera dan jalur streaming. Anda dapat menggunakan pemutar video seperti [VLC](https://www.videolan.org/) untuk memverifikasi URL streaming, dengan membukanya sebagai sumber media jaringan:

![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/vlc-stream.png)


Konsol AWS Panorama menggunakan layanan AWS lainnya untuk merakit komponen aplikasi, mengelola izin, dan memverifikasi pengaturan. Untuk mendaftarkan alat dan menyebarkan aplikasi sampel, Anda memerlukan izin berikut:

****
+ [AWSPanoramaFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSPanoramaFullAccess)— Menyediakan akses penuh ke AWS Panorama, jalur akses AWS Panorama di Amazon S3, kredensi alat di, dan log alat di AWS Secrets Manager Amazon. CloudWatch Termasuk izin untuk membuat [peran terkait layanan](permissions-services.md) untuk AWS Panorama.
+ **AWS Identity and Access Management (IAM) — Saat** pertama kali dijalankan, untuk membuat peran yang digunakan oleh layanan AWS Panorama dan AWS Panorama Appliance.

Jika Anda tidak memiliki izin untuk membuat peran di IAM, minta administrator membuka konsol [AWS Panorama](https://console.aws.amazon.com/panorama/home) dan menerima prompt untuk membuat peran layanan.

## Daftarkan dan konfigurasikan AWS Panorama Appliance
<a name="gettingstarted-device"></a>

AWS Panorama Appliance adalah perangkat keras yang terhubung ke kamera berkemampuan jaringan melalui koneksi jaringan lokal. Ini menggunakan sistem operasi berbasis Linux yang mencakup AWS Panorama Application SDK dan perangkat lunak pendukung untuk menjalankan aplikasi visi komputer.

Untuk terhubung ke AWS manajemen alat dan penerapan aplikasi, alat menggunakan sertifikat perangkat. Anda menggunakan konsol AWS Panorama untuk membuat sertifikat penyediaan. Alat menggunakan sertifikat sementara ini untuk menyelesaikan pengaturan awal dan mengunduh sertifikat perangkat permanen.

**penting**  
Sertifikat penyediaan yang Anda hasilkan dalam prosedur ini hanya berlaku selama 5 menit. Jika Anda tidak menyelesaikan proses pendaftaran dalam jangka waktu ini, Anda harus memulai dari awal.

**Untuk mendaftarkan alat**

1. Hubungkan drive USB ke komputer Anda. Siapkan alat dengan menghubungkan jaringan dan kabel daya. Alat menyala dan menunggu drive USB terhubung.

1. Buka halaman [Memulai](https://console.aws.amazon.com/panorama/home#getting-started) konsol AWS Panorama.

1. Pilih **Tambah perangkat**.

1. Pilih **Mulai penyiapan**.

1. Masukkan nama dan deskripsi untuk sumber daya perangkat yang mewakili alat di AWS Panorama. Pilih **Berikutnya**  
![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/setup-name.png)

1. **Jika Anda perlu menetapkan alamat IP, server NTP, atau pengaturan DNS secara manual, pilih Pengaturan jaringan lanjutan.** Jika tidak, pilih **Selanjutnya**.

1. Pilih **Unduh arsip**. Pilih **Berikutnya**.

1. Salin arsip konfigurasi ke direktori root drive USB.

1. Hubungkan drive USB ke port USB 3.0 di bagian depan alat, di sebelah port HDMI.

   Saat Anda menghubungkan drive USB, alat menyalin arsip konfigurasi dan file konfigurasi jaringan ke dirinya sendiri dan terhubung ke AWS Cloud. Lampu status alat berubah dari hijau menjadi biru saat menyelesaikan koneksi, dan kemudian kembali ke hijau.

1. Untuk melanjutkan, pilih **Berikutnya**.  
![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/setup-poweron.png)

1. Pilih **Selesai**.

## Tingkatkan perangkat lunak alat
<a name="gettingstarted-upgrade"></a>

AWS Panorama Appliance memiliki beberapa komponen perangkat lunak, termasuk sistem operasi Linux, SDK [aplikasi AWS Panorama](applications-panoramasdk.md), dan pustaka dan kerangka kerja visi komputer pendukung. Untuk memastikan bahwa Anda dapat menggunakan fitur dan aplikasi terbaru dengan alat Anda, tingkatkan perangkat lunaknya setelah penyiapan dan kapan pun pembaruan tersedia.

**Untuk memperbarui perangkat lunak alat**

1. Buka halaman [Perangkat](https://console.aws.amazon.com/panorama/home#devices) konsol AWS Panorama.

1. Pilih alat.

1. Pilih **Pengaturan**

1. Di bawah **Perangkat lunak sistem**, pilih **Instal pembaruan perangkat lunak**.  
![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/setup-upgrade.png)

1. Pilih versi baru dan kemudian pilih **Instal**.

**penting**  
Sebelum melanjutkan, lepaskan drive USB dari alat dan format untuk menghapus isinya. Arsip konfigurasi berisi data sensitif dan tidak dihapus secara otomatis.

Proses upgrade bisa memakan waktu 30 menit atau lebih. Anda dapat memantau kemajuannya di konsol AWS Panorama atau pada monitor yang terhubung. Saat proses selesai, alat reboot.

## Tambahkan aliran kamera
<a name="gettingstarted-setup-camera"></a>

Selanjutnya, daftarkan aliran kamera dengan konsol AWS Panorama.

**Untuk mendaftarkan aliran kamera**

1. Buka halaman [Sumber data](https://console.aws.amazon.com/panorama/home#data-sources) AWS Panorama console.

1. Pilih **Tambahkan sumber data**.  
![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/setup-addstream.png)

1. Konfigurasikan pengaturan berikut.

****
   + **Nama** — Nama untuk aliran kamera.
   + **Deskripsi** — Deskripsi singkat tentang kamera, lokasinya, atau detail lainnya.
   + **URL RTSP** — URL yang menentukan alamat IP kamera dan jalur ke aliran. Sebagai contoh, `rtsp://192.168.0.77/live/mpeg4/`.
   + **Kredensial** — Jika aliran kamera dilindungi kata sandi, tentukan nama pengguna dan kata sandi.

1. Pilih **Simpan**.

 AWS Panorama menyimpan kredensi kamera Anda dengan aman. AWS Secrets Manager Beberapa aplikasi dapat memproses aliran kamera yang sama secara bersamaan.

## Langkah selanjutnya
<a name="gettingstarted-setup-nextsteps"></a>

Jika Anda mengalami kesalahan selama penyiapan, lihat[Pemecahan Masalah](panorama-troubleshooting.md).

Untuk menerapkan aplikasi sampel, lanjutkan ke [topik berikutnya](gettingstarted-deploy.md).

# Menerapkan aplikasi sampel AWS Panorama
<a name="gettingstarted-deploy"></a>

Setelah [menyiapkan AWS Panorama Appliance atau perangkat yang kompatibel dan memutakhirkan perangkat](gettingstarted-setup.md) lunaknya, terapkan aplikasi contoh. Di bagian berikut, Anda mengimpor contoh aplikasi dengan AWS Panorama Application CLI dan menerapkannya dengan konsol AWS Panorama.

Aplikasi sampel menggunakan model pembelajaran mesin untuk mengklasifikasikan objek dalam bingkai video dari kamera jaringan. Ini menggunakan AWS Panorama Application SDK untuk memuat model, mendapatkan gambar, dan menjalankan model. Aplikasi kemudian melapisi hasil di atas video asli dan mengeluarkannya ke layar yang terhubung.

Dalam pengaturan ritel, menganalisis pola lalu lintas pejalan kaki memungkinkan Anda memprediksi tingkat lalu lintas. Dengan menggabungkan analisis dengan data lain, Anda dapat merencanakan peningkatan kebutuhan staf di sekitar hari libur dan acara lainnya, mengukur efektivitas iklan dan promosi penjualan, atau mengoptimalkan penempatan tampilan dan manajemen inventaris.

**Topics**
+ [Prasyarat](#gettingstarted-deploy-prerequisites)
+ [Impor aplikasi sampel](#gettingstarted-deploy-import)
+ [Deploy aplikasi](#gettingstarted-deploy-deploy)
+ [Lihat outputnya](#gettingstarted-deploy-view)
+ [Aktifkan SDK untuk Python](#gettingstarted-deploy-redeploy)
+ [Bersihkan](#gettingstarted-deploy-cleanup)
+ [Langkah selanjutnya](#gettingstarted-deploy-next)

## Prasyarat
<a name="gettingstarted-deploy-prerequisites"></a>

Untuk mengikuti prosedur dalam tutorial ini, Anda memerlukan terminal atau shell baris perintah untuk menjalankan perintah. Dalam daftar kode, perintah didahului oleh simbol prompt (\$1) dan nama direktori saat ini, bila sesuai.

```
~/panorama-project$ this is a command
this is output
```

Untuk perintah panjang, kita menggunakan karakter escape (`\`) untuk membagi perintah di beberapa baris.

Di Linux dan macOS, gunakan shell dan manajer paket pilihan Anda. Di Windows 10, Anda dapat [menginstal Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) untuk mendapatkan Ubuntu dan Bash versi terintegrasi Windows. Untuk bantuan menyiapkan lingkungan pengembangan di Windows, lihat[Menyiapkan lingkungan pengembangan di Windows](applications-devenvwindows.md).

Anda menggunakan Python untuk mengembangkan aplikasi AWS Panorama dan menginstal alat dengan pip, manajer paket Python. Jika Anda belum memiliki Python, [instal versi terbaru](https://www.python.org/downloads/). Jika Anda memiliki Python 3 tetapi tidak pip, instal pip dengan manajer paket sistem operasi Anda, atau instal versi baru Python, yang dilengkapi dengan pip.

Dalam tutorial ini, Anda menggunakan Docker untuk membangun wadah yang menjalankan kode aplikasi Anda. [Instal Docker dari situs web Docker: Dapatkan Docker](https://docs.docker.com/get-docker/)

Tutorial ini menggunakan AWS Panorama Application CLI untuk mengimpor contoh aplikasi, membangun paket, dan mengunggah artefak. CLI Aplikasi AWS Panorama menggunakan AWS Command Line Interface (AWS CLI) untuk memanggil operasi API layanan. Jika Anda sudah memilikinya AWS CLI, tingkatkan ke versi terbaru. Untuk menginstal CLI Aplikasi AWS Panorama dan, gunakan. AWS CLI`pip`

```
$ pip3 install --upgrade awscli panoramacli
```

Unduh aplikasi sampel, dan ekstrak ke ruang kerja Anda.

****
+ **Contoh aplikasi** — [aws-panorama-sample.zip](https://github.com/awsdocs/aws-panorama-developer-guide/releases/download/v1.0-ga/aws-panorama-sample.zip)

## Impor aplikasi sampel
<a name="gettingstarted-deploy-import"></a>

Untuk mengimpor contoh aplikasi untuk digunakan di akun Anda, gunakan AWS Panorama Application CLI. Folder dan manifes aplikasi berisi referensi ke nomor akun placeholder. Untuk memperbarui ini dengan nomor akun Anda, jalankan `panorama-cli import-application` perintah.

```
aws-panorama-sample$ panorama-cli import-application
```

`SAMPLE_CODE`Paket, dalam `packages` direktori, berisi kode dan konfigurasi aplikasi, termasuk Dockerfile yang menggunakan gambar dasar aplikasi,. `panorama-application` Untuk membangun wadah aplikasi yang berjalan pada alat, gunakan `panorama-cli build-container` perintah.

```
aws-panorama-sample$ ACCOUNT_ID=$(aws sts get-caller-identity --output text --query 'Account')
aws-panorama-sample$ panorama-cli build-container --container-asset-name code_asset --package-path packages/${ACCOUNT_ID}-SAMPLE_CODE-1.0
```

Langkah terakhir dengan AWS Panorama Application CLI adalah mendaftarkan kode aplikasi dan node model, dan mengunggah aset ke jalur akses Amazon S3 yang disediakan oleh layanan. Aset termasuk gambar kontainer kode, model, dan file deskriptor untuk masing-masing. Untuk mendaftarkan node dan mengunggah aset, jalankan `panorama-cli package-application` perintah.

```
aws-panorama-sample$ panorama-cli package-application
Uploading package model
Registered model with patch version bc9c58bd6f83743f26aa347dc86bfc3dd2451b18f964a6de2cc4570cb6f891f9
Uploading package code
Registered code with patch version 11fd7001cb31ea63df6aaed297d600a5ecf641a987044a0c273c78ceb3d5d806
```

## Deploy aplikasi
<a name="gettingstarted-deploy-deploy"></a>

Gunakan konsol AWS Panorama untuk menerapkan aplikasi ke alat Anda.

**Untuk menyebarkan aplikasi**

1. Buka halaman Aplikasi [Penerapan konsol AWS Panorama.](https://console.aws.amazon.com/panorama/home#deployed-applications)

1. Pilih **Menyebarkan aplikasi**.

1. Tempelkan konten manifes aplikasi`graphs/aws-panorama-sample/graph.json`,, ke editor teks. Pilih **Berikutnya**.

1. Untuk **Application name** (Nama aplikasi), masukkan `aws-panorama-sample`.

1. Pilih **Lanjutkan untuk menyebarkan**.

1. Pilih **Mulai penerapan**.

1. Pilih **Berikutnya** tanpa memilih peran.

1. Pilih **Pilih perangkat**, lalu pilih alat Anda. Pilih **Berikutnya**.

1. Pada langkah **Pilih sumber data**, pilih **Lihat input**, dan tambahkan aliran kamera Anda sebagai sumber data. Pilih **Berikutnya**.

1. Pada langkah **Konfigurasi**, pilih **Berikutnya**.

1. Pilih **Deploy**, lalu pilih **Selesai**.

1. Dalam daftar aplikasi yang digunakan, pilih **aws-panorama-sample**.

Segarkan halaman ini untuk pembaruan, atau gunakan skrip berikut untuk memantau penyebaran dari baris perintah.

**Example monitor-deployment.sh**  

```
while true; do
  aws panorama list-application-instances --query 'ApplicationInstances[?Name==`aws-panorama-sample`]'
  sleep 10
done
```

```
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has been scheduled.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has completed data validation.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
...
```

Jika aplikasi tidak mulai berjalan, periksa [log aplikasi dan perangkat](monitoring-logging.md) di Amazon CloudWatch Logs.

## Lihat outputnya
<a name="gettingstarted-deploy-view"></a>

 Ketika penyebaran selesai, aplikasi mulai memproses aliran video dan mengirim log ke CloudWatch.

**Untuk melihat log di CloudWatch Log**

1. Buka [halaman Grup log dari konsol CloudWatch Log](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups).

1. Temukan log aplikasi dan alat AWS Panorama dalam grup berikut:

****
   + **Log perangkat** - `/aws/panorama/devices/device-id`
   + **Log aplikasi** - `/aws/panorama/devices/device-id/applications/instance-id`

```
2022-08-26 17:43:39 INFO     INITIALIZING APPLICATION
2022-08-26 17:43:39 INFO     ## ENVIRONMENT VARIABLES
{'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TERM': 'xterm', 'container': 'podman'...}
2022-08-26 17:43:39 INFO     Configuring parameters.
2022-08-26 17:43:39 INFO     Configuring AWS SDK for Python.
2022-08-26 17:43:39 INFO     Initialization complete.
2022-08-26 17:43:39 INFO     PROCESSING STREAMS
2022-08-26 17:46:19 INFO     epoch length: 160.183 s (0.936 FPS)
2022-08-26 17:46:19 INFO     avg inference time: 805.597 ms
2022-08-26 17:46:19 INFO     max inference time: 120023.984 ms
2022-08-26 17:46:19 INFO     avg frame processing time: 1065.129 ms
2022-08-26 17:46:19 INFO     max frame processing time: 149813.972 ms
2022-08-26 17:46:29 INFO     epoch length: 10.562 s (14.202 FPS)
2022-08-26 17:46:29 INFO     avg inference time: 7.185 ms
2022-08-26 17:46:29 INFO     max inference time: 15.693 ms
2022-08-26 17:46:29 INFO     avg frame processing time: 66.561 ms
2022-08-26 17:46:29 INFO     max frame processing time: 123.774 ms
```

Untuk melihat output video aplikasi, sambungkan alat ke monitor dengan kabel HDMI. Secara default, aplikasi menunjukkan hasil klasifikasi yang memiliki kepercayaan lebih dari 20%.

**Example [squeezenet\$1classes.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/squeezenet_classes.json)**  

```
["tench", "goldfish", "great white shark", "tiger shark",
"hammerhead", "electric ray", "stingray", "cock", "hen", "ostrich",
"brambling", "goldfinch", "house finch", "junco", "indigo bunting",
"robin", "bulbul", "jay", "magpie", "chickadee", "water ouzel",
"kite", "bald eagle", "vulture", "great grey owl",
"European fire salamander", "common newt", "eft",
"spotted salamander", "axolotl", "bullfrog", "tree frog",
...
```

Model sampel memiliki 1000 kelas termasuk banyak hewan, makanan, dan objek umum. Coba arahkan kamera Anda ke keyboard atau cangkir kopi.

![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/mug.jpg)


Untuk kesederhanaan, aplikasi sampel menggunakan model klasifikasi ringan. Model menghasilkan array tunggal dengan probabilitas untuk masing-masing kelasnya. Aplikasi dunia nyata lebih sering menggunakan model deteksi objek yang memiliki output multidimensi. Untuk contoh aplikasi dengan model yang lebih kompleks, lihat[Contoh aplikasi, skrip, dan templat](panorama-samples.md).

## Aktifkan SDK untuk Python
<a name="gettingstarted-deploy-redeploy"></a>

Aplikasi sampel menggunakan AWS SDK for Python (Boto) untuk mengirim metrik ke Amazon CloudWatch. Untuk mengaktifkan fungsionalitas ini, buat peran yang memberikan izin aplikasi untuk mengirim metrik, dan menerapkan ulang aplikasi dengan peran yang dilampirkan.

Contoh aplikasi menyertakan CloudFormation template yang membuat peran dengan izin yang dibutuhkan. Untuk membuat peran, gunakan `aws cloudformation deploy` perintah.

```
$ aws cloudformation deploy --template-file aws-panorama-sample.yml --stack-name aws-panorama-sample-runtime --capabilities CAPABILITY_NAMED_IAM
```



**Untuk menerapkan kembali aplikasi**

1. Buka halaman Aplikasi [Penerapan konsol AWS Panorama.](https://console.aws.amazon.com/panorama/home#deployed-applications)

1. Pilih aplikasi.

1. Pilih **Ganti**.

1. Selesaikan langkah-langkah untuk menyebarkan aplikasi. Dalam **peran Tentukan IAM**, pilih peran yang Anda buat. Namanya dimulai dengan `aws-panorama-sample-runtime`

1. Saat penerapan selesai, buka [CloudWatchkonsol](https://console.aws.amazon.com/cloudwatch/home#metricsV2:graph=~();namespace=~'AWSPanoramaApplication) dan lihat metrik di namespace. `AWSPanoramaApplication` Setiap 150 frame, aplikasi mencatat dan mengunggah metrik untuk pemrosesan bingkai dan waktu inferensi.

## Bersihkan
<a name="gettingstarted-deploy-cleanup"></a>

Jika Anda selesai bekerja dengan aplikasi sampel, Anda dapat menggunakan konsol AWS Panorama untuk menghapusnya dari alat.

**Untuk menghapus aplikasi dari alat**

1. Buka halaman Aplikasi [Penerapan konsol AWS Panorama.](https://console.aws.amazon.com/panorama/home#deployed-applications)

1. Pilih aplikasi.

1. Pilih **Hapus dari perangkat**.

## Langkah selanjutnya
<a name="gettingstarted-deploy-next"></a>

Jika Anda mengalami kesalahan saat menerapkan atau menjalankan aplikasi sampel, lihat[Pemecahan Masalah](panorama-troubleshooting.md).

Untuk mempelajari lebih lanjut tentang fitur dan implementasi aplikasi sampel, lanjutkan [ke topik berikutnya](gettingstarted-sample.md).

# Mengembangkan aplikasi AWS Panorama
<a name="gettingstarted-sample"></a>

Anda dapat menggunakan contoh aplikasi untuk mempelajari tentang struktur aplikasi AWS Panorama, dan sebagai titik awal untuk aplikasi Anda sendiri.

Diagram berikut menunjukkan komponen utama aplikasi yang berjalan pada AWS Panorama Appliance. Kode aplikasi menggunakan AWS Panorama Application SDK untuk mendapatkan gambar dan berinteraksi dengan model, yang tidak memiliki akses langsung ke. Aplikasi mengeluarkan video ke tampilan yang terhubung tetapi tidak mengirim data gambar di luar jaringan lokal Anda.

![\[\]](http://docs.aws.amazon.com/id_id/panorama/latest/dev/images/sample-app.png)


Dalam contoh ini, aplikasi menggunakan AWS Panorama Application SDK untuk mendapatkan frame video dari kamera, memproses data video, dan mengirim data ke model visi komputer yang mendeteksi objek. Aplikasi menampilkan hasilnya pada layar HDMI yang terhubung ke alat.

**Topics**
+ [Manifes aplikasi](#gettingstarted-sample-manifest)
+ [Membangun dengan aplikasi sampel](#gettingstarted-sample-adapting)
+ [Mengubah model visi komputer](#gettingstarted-sample-model)
+ [Preprocessing gambar](#gettingstarted-sample-preprocessing)
+ [Mengunggah metrik dengan SDK untuk Python](#gettingstarted-sample-metrics)
+ [Langkah selanjutnya](#gettingstarted-sample-nextsteps)

## Manifes aplikasi
<a name="gettingstarted-sample-manifest"></a>

Manifes aplikasi adalah file bernama `graph.json` dalam `graphs` folder. Manifes mendefinisikan komponen aplikasi, yaitu paket, node, dan tepi.

Paket adalah kode, konfigurasi, dan file biner untuk kode aplikasi, model, kamera, dan tampilan. Aplikasi sampel menggunakan 4 paket:

**Example `graphs/aws-panorama-sample/graph.json`— Paket**  

```
        "packages": [
            {
                "name": "123456789012::SAMPLE_CODE",
                "version": "1.0"
            },
            {
                "name": "123456789012::SQUEEZENET_PYTORCH_V1",
                "version": "1.0"
            },
            {
                "name": "panorama::abstract_rtsp_media_source",
                "version": "1.0"
            },
            {
                "name": "panorama::hdmi_data_sink",
                "version": "1.0"
            }
        ],
```

Dua paket pertama didefinisikan dalam aplikasi, di `packages` direktori. Mereka berisi kode dan model khusus untuk aplikasi ini. Dua paket kedua adalah kamera generik dan paket tampilan yang disediakan oleh layanan AWS Panorama. `abstract_rtsp_media_source`Paket ini merupakan placeholder untuk kamera yang Anda timpa selama penerapan. `hdmi_data_sink`Paket ini mewakili konektor output HDMI pada perangkat.

Node adalah antarmuka ke paket, serta parameter non-paket yang dapat memiliki nilai default yang Anda timpa pada waktu penerapan. Paket kode dan model mendefinisikan antarmuka dalam `package.json` file yang menentukan input dan output, yang dapat berupa aliran video atau tipe data dasar seperti float, boolean, atau string.

Misalnya, `code_node` node mengacu pada antarmuka dari `SAMPLE_CODE` paket.

```
        "nodes": [
            {
                "name": "code_node",
                "interface": "123456789012::SAMPLE_CODE.interface",
                "overridable": false,
                "launch": "onAppStart"
            },
```

Antarmuka ini didefinisikan dalam file konfigurasi paket,`package.json`. Antarmuka menentukan bahwa paket tersebut adalah logika bisnis dan dibutuhkan aliran video bernama `video_in` dan nomor floating point bernama `threshold` input. Antarmuka juga menentukan bahwa kode tersebut memerlukan buffer aliran video yang diberi nama `video_out` untuk menampilkan video ke tampilan

**Example `packages/123456789012-SAMPLE_CODE-1.0/package.json`**  

```
{
    "nodePackage": {
        "envelopeVersion": "2021-01-01",
        "name": "SAMPLE_CODE",
        "version": "1.0",
        "description": "Computer vision application code.",
        "assets": [],
        "interfaces": [
            {
                "name": "interface",
                "category": "business_logic",
                "asset": "code_asset",
                "inputs": [
                    {
                        "name": "video_in",
                        "type": "media"
                    },
                    {
                        "name": "threshold",
                        "type": "float32"
                    }
                ],
                "outputs": [
                    {
                        "description": "Video stream output",
                        "name": "video_out",
                        "type": "media"
                    }
                ]
            }
        ]
    }
}
```

Kembali dalam manifes aplikasi, `camera_node` node mewakili aliran video dari kamera. Ini termasuk dekorator yang muncul di konsol saat Anda menyebarkan aplikasi, meminta Anda untuk memilih aliran kamera.

**Example `graphs/aws-panorama-sample/graph.json`— Node kamera**  

```
            {
                "name": "camera_node",
                "interface": "panorama::abstract_rtsp_media_source.rtsp_v1_interface",
                "overridable": true,
                "launch": "onAppStart",
                "decorator": {
                    "title": "Camera",
                    "description": "Choose a camera stream."
                }
            },
```

Sebuah node parameter,`threshold_param`, mendefinisikan parameter ambang kepercayaan yang digunakan oleh kode aplikasi. Ini memiliki nilai default 60, dan dapat diganti selama penerapan.

**Example `graphs/aws-panorama-sample/graph.json`— Node parameter**  

```
            {
                "name": "threshold_param",
                "interface": "float32",
                "value": 60.0,
                "overridable": true,
                "decorator": {
                    "title": "Confidence threshold",
                    "description": "The minimum confidence for a classification to be recorded."
                }
            }
```

Bagian terakhir dari manifes aplikasi,`edges`, membuat koneksi antar node. Aliran video kamera dan parameter ambang terhubung ke input node kode, dan output video dari node kode terhubung ke layar.

**Example `graphs/aws-panorama-sample/graph.json`— Tepi**  

```
        "edges": [
            {
                "producer": "camera_node.video_out",
                "consumer": "code_node.video_in"
            },
            {
                "producer": "code_node.video_out",
                "consumer": "output_node.video_in"
            },
            {
                "producer": "threshold_param",
                "consumer": "code_node.threshold"
            }
        ]
```

## Membangun dengan aplikasi sampel
<a name="gettingstarted-sample-adapting"></a>

Anda dapat menggunakan aplikasi sampel sebagai titik awal untuk aplikasi Anda sendiri.

Nama setiap paket harus unik di akun Anda. Jika Anda dan pengguna lain di akun Anda sama-sama menggunakan nama paket generik seperti `code` atau`model`, Anda mungkin mendapatkan versi paket yang salah saat menerapkan. Ubah nama paket kode menjadi salah satu yang mewakili aplikasi Anda.

**Untuk mengganti nama paket kode**

1. Ganti nama folder paket:`packages/123456789012-SAMPLE_CODE-1.0/`.

1. Perbarui nama paket di lokasi berikut.

****
   + **Manifes aplikasi** - `graphs/aws-panorama-sample/graph.json`
   + **Konfigurasi Package** - `packages/123456789012-SAMPLE_CODE-1.0/package.json`
   + **Membangun skrip** - `3-build-container.sh`

**Untuk memperbarui kode aplikasi**

1. Ubah kode aplikasi di`packages/123456789012-SAMPLE_CODE-1.0/src/application.py`.

1. Untuk membangun wadah, jalankan`3-build-container.sh`.

   ```
   aws-panorama-sample$ ./3-build-container.sh
   TMPDIR=$(pwd) docker build -t code_asset packages/123456789012-SAMPLE_CODE-1.0
   Sending build context to Docker daemon  61.44kB
   Step 1/2 : FROM public.ecr.aws/panorama/panorama-application
    ---> 9b197f256b48
   Step 2/2 : COPY src /panorama
    ---> 55c35755e9d2
   Successfully built 55c35755e9d2
   Successfully tagged code_asset:latest
   docker export --output=code_asset.tar $(docker create code_asset:latest)
   gzip -9 code_asset.tar
   Updating an existing asset with the same name
   {
       "name": "code_asset",
       "implementations": [
           {
               "type": "container",
               "assetUri": "98aaxmpl1c1ef64cde5ac13bd3be5394e5d17064beccee963b4095d83083c343.tar.gz",
               "descriptorUri": "1872xmpl129481ed053c52e66d6af8b030f9eb69b1168a29012f01c7034d7a8f.json"
           }
       ]
   }
   Container asset for the package has been succesfully built at  ~/aws-panorama-sample-dev/assets/98aaxmpl1c1ef64cde5ac13bd3be5394e5d17064beccee963b4095d83083c343.tar.gz
   ```

   CLI secara otomatis menghapus aset kontainer lama dari `assets` folder dan memperbarui konfigurasi paket.

1. Untuk mengunggah paket, jalankan`4-package-application.py`.

1. Buka halaman Aplikasi [Penerapan konsol AWS Panorama.](https://console.aws.amazon.com/panorama/home#deployed-applications)

1. Pilih aplikasi.

1. Pilih **Ganti**.

1. Selesaikan langkah-langkah untuk menyebarkan aplikasi. Jika diperlukan, Anda dapat membuat perubahan pada manifes aplikasi, aliran kamera, atau parameter.

## Mengubah model visi komputer
<a name="gettingstarted-sample-model"></a>

Aplikasi sampel mencakup model visi komputer. Untuk menggunakan model Anda sendiri, ubah konfigurasi node model, dan gunakan AWS Panorama Application CLI untuk mengimpornya sebagai aset.

[Contoh berikut menggunakan model MXNet SSD ResNet 50 yang dapat Anda unduh dari GitHub repo panduan ini: ssd\$1512\$1resnet50\$1v1\$1voc.tar.gz](https://github.com/awsdocs/aws-panorama-developer-guide/releases/download/v0.1-preview/ssd_512_resnet50_v1_voc.tar.gz)

**Untuk mengubah model aplikasi sampel**

1. Ganti nama folder paket agar sesuai dengan model Anda. Misalnya, untuk`packages/123456789012-SSD_512_RESNET50_V1_VOC-1.0/`.

1. Perbarui nama paket di lokasi berikut.

****
   + **Manifes aplikasi** - `graphs/aws-panorama-sample/graph.json`
   + **Konfigurasi Package** - `packages/123456789012-SSD_512_RESNET50_V1_VOC-1.0/package.json`

1. Dalam file konfigurasi paket (`package.json`). Ubah `assets` nilai ke array kosong.

   ```
   {
       "nodePackage": {
           "envelopeVersion": "2021-01-01",
           "name": "SSD_512_RESNET50_V1_VOC",
           "version": "1.0",
           "description": "Compact classification model",
           "assets": [],
   ```

1. Buka file deskriptor paket (`descriptor.json`). Perbarui `framework` dan `shape` nilai agar sesuai dengan model Anda.

   ```
   {
       "mlModelDescriptor": {
           "envelopeVersion": "2021-01-01",
           "framework": "MXNET",
           "inputs": [
               {
                   "name": "data",
                   "shape": [ 1, 3, 512, 512 ]
               }
           ]
       }
   }
   ```

   Nilai **bentuk**,`1,3,512,512`, menunjukkan jumlah gambar yang diambil model sebagai input (1), jumlah saluran di setiap gambar (3 - merah, hijau, dan biru), dan dimensi gambar (512 x 512). Nilai dan urutan array bervariasi di antara model.

1. Impor model dengan AWS Panorama Application CLI. CLI Aplikasi AWS Panorama menyalin file model dan deskriptor ke dalam `assets` folder dengan nama unik, dan memperbarui konfigurasi paket.

   ```
   aws-panorama-sample$ panorama-cli add-raw-model --model-asset-name model-asset \
   --model-local-path ssd_512_resnet50_v1_voc.tar.gz \
   --descriptor-path packages/123456789012-SSD_512_RESNET50_V1_VOC-1.0/descriptor.json \
   --packages-path packages/123456789012-SSD_512_RESNET50_V1_VOC-1.0
   {
       "name": "model-asset",
       "implementations": [
           {
               "type": "model",
               "assetUri": "b1a1589afe449b346ff47375c284a1998c3e1522b418a7be8910414911784ce1.tar.gz",
               "descriptorUri": "a6a9508953f393f182f05f8beaa86b83325f4a535a5928580273e7fe26f79e78.json"
           }
       ]
   }
   ```

1. Untuk mengunggah model, jalankan`panorama-cli package-application`.

   ```
   $ panorama-cli package-application
   Uploading package SAMPLE_CODE
   Patch Version 1844d5a59150d33f6054b04bac527a1771fd2365e05f990ccd8444a5ab775809 already registered, ignoring upload
   Uploading package SSD_512_RESNET50_V1_VOC
   Patch version for the package 244a63c74d01e082ad012ebf21e67eef5d81ce0de4d6ad1ae2b69d0bc498c8fd
   upload: assets/b1a1589afe449b346ff47375c284a1998c3e1522b418a7be8910414911784ce1.tar.gz to s3://arn:aws:s3:us-west-2:454554846382:accesspoint/panorama-123456789012-wc66m5eishf4si4sz5jefhx
   63a/123456789012/nodePackages/SSD_512_RESNET50_V1_VOC/binaries/b1a1589afe449b346ff47375c284a1998c3e1522b418a7be8910414911784ce1.tar.gz
   upload: assets/a6a9508953f393f182f05f8beaa86b83325f4a535a5928580273e7fe26f79e78.json to s3://arn:aws:s3:us-west-2:454554846382:accesspoint/panorama-123456789012-wc66m5eishf4si4sz5jefhx63
   a/123456789012/nodePackages/SSD_512_RESNET50_V1_VOC/binaries/a6a9508953f393f182f05f8beaa86b83325f4a535a5928580273e7fe26f79e78.json
   {
       "ETag": "\"2381dabba34f4bc0100c478e67e9ab5e\"",
       "ServerSideEncryption": "AES256",
       "VersionId": "KbY5fpESdpYamjWZ0YyGqHo3.LQQWUC2"
   }
   Registered SSD_512_RESNET50_V1_VOC with patch version 244a63c74d01e082ad012ebf21e67eef5d81ce0de4d6ad1ae2b69d0bc498c8fd
   Uploading package SQUEEZENET_PYTORCH_V1
   Patch Version 568138c430e0345061bb36f05a04a1458ac834cd6f93bf18fdacdffb62685530 already registered, ignoring upload
   ```

1. Perbarui kode aplikasi. Sebagian besar kode dapat digunakan kembali. Kode khusus untuk respons model ada dalam `process_results` metode.

   ```
       def process_results(self, inference_results, stream):
           """Processes output tensors from a computer vision model and annotates a video frame."""
           for class_tuple in inference_results:
               indexes = self.topk(class_tuple[0])
           for j in range(2):
               label = 'Class [%s], with probability %.3f.'% (self.classes[indexes[j]], class_tuple[0][indexes[j]])
               stream.add_label(label, 0.1, 0.25 + 0.1*j)
   ```

   Tergantung pada model Anda, Anda mungkin juga perlu memperbarui `preprocess` metode.

## Preprocessing gambar
<a name="gettingstarted-sample-preprocessing"></a>

Sebelum aplikasi mengirim gambar ke model, ia mempersiapkannya untuk inferensi dengan mengubah ukurannya dan menormalkan data warna. Model yang digunakan aplikasi membutuhkan gambar 224 x 224 piksel dengan tiga saluran warna, agar sesuai dengan jumlah input di lapisan pertamanya. Aplikasi menyesuaikan setiap nilai warna dengan mengubahnya menjadi angka antara 0 dan 1, mengurangi nilai rata-rata untuk warna itu, dan membaginya dengan standar deviasi. Akhirnya, ia menggabungkan saluran warna dan mengubahnya menjadi NumPy array yang dapat diproses model.

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py) - Preprocessing**  

```
    def preprocess(self, img, width):
        resized = cv2.resize(img, (width, width))
        mean = [0.485, 0.456, 0.406]
        std = [0.229, 0.224, 0.225]
        img = resized.astype(np.float32) / 255.
        img_a = img[:, :, 0]
        img_b = img[:, :, 1]
        img_c = img[:, :, 2]
        # Normalize data in each channel
        img_a = (img_a - mean[0]) / std[0]
        img_b = (img_b - mean[1]) / std[1]
        img_c = (img_c - mean[2]) / std[2]
        # Put the channels back together
        x1 = [[[], [], []]]
        x1[0][0] = img_a
        x1[0][1] = img_b
        x1[0][2] = img_c
        return np.asarray(x1)
```

Proses ini memberikan nilai model dalam rentang yang dapat diprediksi yang berpusat di sekitar 0. Ini cocok dengan preprocessing yang diterapkan pada gambar dalam dataset pelatihan, yang merupakan pendekatan standar tetapi dapat bervariasi per model.

## Mengunggah metrik dengan SDK untuk Python
<a name="gettingstarted-sample-metrics"></a>

Aplikasi sampel menggunakan SDK untuk Python untuk mengunggah metrik ke Amazon. CloudWatch

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py) - SDK untuk Python**  

```
    def process_streams(self):
        """Processes one frame of video from one or more video streams."""
        ...
            logger.info('epoch length: {:.3f} s ({:.3f} FPS)'.format(epoch_time, epoch_fps))
            logger.info('avg inference time: {:.3f} ms'.format(avg_inference_time))
            logger.info('max inference time: {:.3f} ms'.format(max_inference_time))
            logger.info('avg frame processing time: {:.3f} ms'.format(avg_frame_processing_time))
            logger.info('max frame processing time: {:.3f} ms'.format(max_frame_processing_time))
            self.inference_time_ms = 0
            self.inference_time_max = 0
            self.frame_time_ms = 0
            self.frame_time_max = 0
            self.epoch_start = time.time()
            self.put_metric_data('AverageInferenceTime', avg_inference_time)
            self.put_metric_data('AverageFrameProcessingTime', avg_frame_processing_time)
 
    def put_metric_data(self, metric_name, metric_value):
        """Sends a performance metric to CloudWatch."""
        namespace = 'AWSPanoramaApplication'
        dimension_name = 'Application Name'
        dimension_value = 'aws-panorama-sample'
        try:
            metric = self.cloudwatch.Metric(namespace, metric_name)
            metric.put_data(
                Namespace=namespace,
                MetricData=[{
                    'MetricName': metric_name,
                    'Value': metric_value,
                    'Unit': 'Milliseconds',
                    'Dimensions': [
                        {
                            'Name': dimension_name,
                            'Value': dimension_value
                        },
                        {
                            'Name': 'Device ID',
                            'Value': self.device_id
                        }
                    ]
                }]
            )
            logger.info("Put data for metric %s.%s", namespace, metric_name)
        except ClientError:
            logger.warning("Couldn't put data for metric %s.%s", namespace, metric_name)
        except AttributeError:
            logger.warning("CloudWatch client is not available.")
```

Ini mendapat izin dari peran runtime yang Anda tetapkan selama penerapan. Peran didefinisikan dalam `aws-panorama-sample.yml` CloudFormation template.

**Example [aws-panorama-sample.yml](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/aws-panorama-sample.yml)**  

```
Resources:
  runtimeRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          -
            Effect: Allow
            Principal:
              Service:
                - panorama.amazonaws.com
            Action:
              - sts:AssumeRole
      Policies:
        - PolicyName: cloudwatch-putmetrics
          PolicyDocument:
            Version: 2012-10-17		 	 	 
            Statement:
              - Effect: Allow
                Action: 'cloudwatch:PutMetricData'
                Resource: '*'
      Path: /service-role/
```

Contoh aplikasi menginstal SDK untuk Python dan dependensi lainnya dengan pip. Ketika Anda membangun wadah aplikasi, `Dockerfile` menjalankan perintah untuk menginstal perpustakaan di atas apa yang datang dengan gambar dasar.

**Example [Dockerfile](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/Dockerfile)**  

```
FROM public.ecr.aws/panorama/panorama-application
WORKDIR /panorama
COPY . .
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt
```

Untuk menggunakan AWS SDK dalam kode aplikasi Anda, pertama-tama ubah template untuk menambahkan izin untuk semua tindakan API yang digunakan aplikasi. Perbarui CloudFormation tumpukan dengan menjalankan `1-create-role.sh` setiap kali Anda membuat perubahan. Kemudian, terapkan perubahan pada kode aplikasi Anda.

Untuk tindakan yang mengubah atau menggunakan sumber daya yang ada, merupakan praktik terbaik untuk meminimalkan ruang lingkup kebijakan ini dengan menentukan nama atau pola untuk target `Resource` dalam pernyataan terpisah. Untuk detail tentang tindakan dan sumber daya yang didukung oleh setiap layanan, lihat [Kunci tindakan, sumber daya, dan kondisi di Referensi](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) Otorisasi Layanan

## Langkah selanjutnya
<a name="gettingstarted-sample-nextsteps"></a>

Untuk petunjuk tentang penggunaan AWS Panorama Application CLI untuk membangun aplikasi dan membuat paket dari awal, lihat README CLI.

****
+ [github. com/aws/aws](https://github.com/aws/aws-panorama-cli)-panorama-cli

Untuk kode sampel lainnya dan utilitas pengujian yang dapat Anda gunakan untuk memvalidasi kode aplikasi Anda sebelum menerapkan, kunjungi repositori sampel AWS Panorama.

****
+ [github. com/aws-samples/aws-panorama-sampel](https://github.com/aws-samples/aws-panorama-samples)

# Model dan kamera visi komputer yang didukung
<a name="gettingstarted-compatibility"></a>

AWS Panorama mendukung model yang dibangun dengan PyTorch, Apache MXNet, dan. TensorFlow Saat Anda menerapkan aplikasi, AWS Panorama mengkompilasi model SageMaker Anda di AI Neo. Anda dapat membuat model di Amazon SageMaker AI atau di lingkungan pengembangan Anda, selama Anda menggunakan lapisan yang kompatibel dengan SageMaker AI Neo. 

Untuk memproses video dan mendapatkan gambar untuk dikirim ke model, AWS Panorama Appliance terhubung ke aliran video berenkode H.264 dengan protokol RTSP. AWS Panorama menguji berbagai kamera umum untuk kompatibilitas.

**Topics**
+ [Model yang didukung](#gettingstarted-compatibility-models)
+ [Kamera yang didukung](#gettingstarted-compatibility-cameras)

## Model yang didukung
<a name="gettingstarted-compatibility-models"></a>

Saat Anda membuat aplikasi untuk AWS Panorama, Anda menyediakan model pembelajaran mesin yang digunakan aplikasi untuk visi komputer. Anda dapat menggunakan model pra-bangun dan pra-terlatih yang disediakan oleh kerangka model, [model sampel, atau model](gettingstarted-sample.md#gettingstarted-sample-model) yang Anda buat dan latih sendiri.

**catatan**  
Untuk daftar model pra-bangun yang telah diuji dengan AWS Panorama, [lihat](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/resources/model-compatibility.md) Kompatibilitas model.

Saat Anda menerapkan aplikasi, AWS Panorama menggunakan SageMaker kompiler AI Neo untuk mengkompilasi model visi komputer Anda. SageMaker AI Neo adalah kompiler yang mengoptimalkan model agar berjalan secara efisien pada platform target, yang dapat berupa instance di Amazon Elastic Compute Cloud (Amazon EC2), atau perangkat edge seperti AWS Panorama Appliance.

AWS Panorama mendukung versi PyTorch, Apache MXNet, dan TensorFlow yang didukung untuk perangkat edge oleh SageMaker AI Neo. Saat Anda membuat model sendiri, Anda dapat menggunakan versi kerangka kerja yang tercantum dalam [catatan rilis SageMaker AI Neo](https://aws.amazon.com/releasenotes/sagemaker-neo-supported-frameworks-and-operators/). Di SageMaker AI, Anda dapat menggunakan [algoritma klasifikasi gambar](https://docs.aws.amazon.com/sagemaker/latest/dg/image-classification.html) bawaan.

Untuk informasi selengkapnya tentang penggunaan model di AWS Panorama, lihat. [Model visi komputer](applications-models.md)

## Kamera yang didukung
<a name="gettingstarted-compatibility-cameras"></a>

AWS Panorama Appliance mendukung aliran video H.264 dari kamera yang mengeluarkan RTSP melalui jaringan lokal. Untuk aliran kamera yang lebih besar dari 2 megapiksel, alat ini menurunkan gambar menjadi 1920x1080 piksel atau ukuran setara yang mempertahankan rasio aspek aliran.

Model kamera berikut telah diuji kompatibilitasnya dengan AWS Panorama Appliance:
+ [Sumbu](https://www.axis.com/) - M3057-PLVE, M3058-PLVE, P1448-LE, P3225-LV Mk II
+ [LaView](https://www.laviewsecurity.com/)— LV- 040W PB3
+ [Vivotek](https://www.vivotek.com/) — 0-H IB936
+ [Amcrest](https://amcrest.com/) — M-841B IP2
+ Aplikasi — **IPC-B850W-S-3X, IPC-D250W-S**
+ **WGCC** — Kubah PoE 4MP ONVIF

Untuk spesifikasi perangkat keras alat, lihat[Spesifikasi AWS Panorama Appliance](gettingstarted-hardware.md).

# Spesifikasi AWS Panorama Appliance
<a name="gettingstarted-hardware"></a>

AWS Panorama Appliance memiliki spesifikasi perangkat keras berikut. Untuk [perangkat lain yang kompatibel](gettingstarted-concepts.md#gettingstarted-concepts-devices), lihat dokumentasi pabrikan.


| Komponen | Spesifikasi | 
| --- | --- | 
|  Prosesor dan GPU  |  [Nvidia Jetson AGX Xavier](https://developer.nvidia.com/embedded/jetson-agx-xavier-developer-kit) dengan RAM 32GB  | 
|  eternet  |  2x 1000 Base-T (Gigabyte)  | 
|  USB  |  1x USB 2.0 dan 1x USB 3.0 tipe-A wanita  | 
|  Keluaran HDMI  |  2.0a  | 
|  Dimensi  |  7,75 “x 9,6" x 1,6" (197mm x 243mm x 40mm)  | 
|  Berat Badan  |  3.7lbs (1.7kg)  | 
|  Catu daya  |  100V-240V 50-60Hz AC 65W  | 
|  Masukan daya  |  Wadah IEC 60320 C6 (3-pin)  | 
|  Perlindungan debu dan cairan  |  IP-62  | 
|  Kepatuhan peraturan EMI/EMC  |  FCC Bagian-15 (AS)   | 
|  Batas sentuhan termal  |  IEC-62368  | 
|  Suhu operasi  |  -20° C hingga 60° C  | 
|  Kelembaban operasi  |  0% hingga 95% RH  | 
|  Suhu penyimpanan  |  -20° C hingga 85° C  | 
|  Kelembaban penyimpanan  |  Tidak terkontrol untuk suhu rendah. 90% RH pada suhu tinggi   | 
|  Pendinginan  |  Ekstraksi panas udara paksa (kipas)  | 
|  Opsi pemasangan  |  Rackmount atau berdiri bebas  | 
|  Kabel listrik  |  6 kaki (1,8 meter)  | 
|  Kontrol daya  |  Tombol tekan  | 
|  Setel ulang  |  Saklar sesaat  | 
|  Status dan jaringan LEDs  |  LED RGB 3 warna yang dapat diprogram  | 

Penyimpanan Wi-Fi, Bluetooth, dan kartu SD ada di alat tetapi tidak dapat digunakan.

AWS Panorama Appliance mencakup dua sekrup untuk dipasang di rak server. Anda dapat memasang dua peralatan side-by-side di rak 19 inci.

# Kuota layanan
<a name="gettingstarted-quotas"></a>

AWS Panorama menerapkan kuota ke sumber daya yang Anda buat di akun dan aplikasi yang Anda gunakan. Jika Anda menggunakan AWS Panorama di beberapa AWS Wilayah, kuota berlaku secara terpisah untuk setiap Wilayah. Kuota AWS Panorama tidak dapat disesuaikan.

Sumber daya di AWS Panorama mencakup perangkat, paket node aplikasi, dan instance aplikasi.

****
+ **Perangkat** - Hingga 50 peralatan terdaftar per Wilayah.
+ **Paket node** — 50 paket per Wilayah, dengan hingga 20 versi per paket.
+ **Instans aplikasi** — Hingga 10 aplikasi per perangkat. Setiap aplikasi dapat memantau hingga 8 aliran kamera. Penerapan dibatasi hingga 200 per hari untuk setiap perangkat.

Saat Anda menggunakan AWS Panorama Application CLI, AWS Command Line Interface, atau AWS SDK dengan layanan AWS Panorama, kuota berlaku untuk jumlah panggilan API yang Anda lakukan. Anda dapat membuat hingga 5 permintaan total per detik. Subset operasi API yang membuat atau memodifikasi sumber daya menerapkan batas tambahan 1 permintaan per detik.

Untuk daftar lengkap kuota, kunjungi konsol [Service Quotas, atau lihat titik akhir dan kuota](https://console.aws.amazon.com/servicequotas/home/services/panorama/quotas) [AWS Panorama](https://docs.aws.amazon.com/general/latest/gr/panorama.html) di. Referensi Umum Amazon Web