Memecahkan Masalah Kesalahan Ambarella - Amazon SageMaker

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

Memecahkan Masalah Kesalahan Ambarella

SageMaker Neo membutuhkan model untuk dikemas dalam file TAR terkompresi (*.tar.gz). Perangkat Ambarella memerlukan file tambahan untuk dimasukkan dalam file TAR terkompresi sebelum dikirim untuk kompilasi. Sertakan file berikut dalam file TAR terkompresi Anda jika Anda ingin mengkompilasi model untuk target Ambarella dengan SageMaker Neo:

  • Model terlatih menggunakan kerangka kerja yang didukung oleh SageMaker Neo

  • File konfigurasi JSON

  • Gambar kalibrasi

Misalnya, file TAR Anda akan terlihat serupa dengan contoh berikut:

├──amba_config.json ├──calib_data | ├── data1 | ├── data2 | ├── . | ├── . | ├── . | └── data500 └──mobilenet_v1_1.0_0224_frozen.pb

Direktori dikonfigurasi sebagai berikut:

  • amba_config.json: File konfigurasi

  • calib_data: Folder berisi gambar kalibrasi

  • mobilenet_v1_1.0_0224_frozen.pb: TensorFlow model disimpan sebagai grafik beku

Untuk informasi tentang kerangka kerja yang didukung oleh SageMaker Neo, lihatKerangka Kerja yang Didukung.

Menyiapkan File Konfigurasi

File konfigurasi menyediakan informasi yang diperlukan oleh rantai alat Ambarella untuk mengkompilasi model. File konfigurasi harus disimpan sebagai file JSON dan nama file harus diakhiri dengan*config.json. Bagan berikut menunjukkan isi file konfigurasi.

Key Deskripsi Contoh

masukan

Kamus pemetaan lapisan masukan untuk atribut.

{inputs:{"data":{...},"data1":{...}}}

“data”

Nama lapisan masukan. Catatan: “data” adalah contoh nama yang dapat Anda gunakan untuk memberi label pada lapisan input.

“data”

bentuk

Menjelaskan bentuk input ke model. Ini mengikuti konvensi yang sama yang SageMaker Neo menggunakan.

“bentuk”: “1,3,224,224"

filepath

Jalur relatif ke direktori yang berisi gambar kalibrasi. Ini bisa berupa file biner atau gambar seperti JPG atau PNG.

“filepath”: “calib_data/”

format warna

Format warna yang diharapkan model. Ini akan digunakan saat mengonversi gambar menjadi biner. Nilai yang didukung: [RGB, BGR]. Defaultnya adalah RGB.

“format warna” :"RGB”

kejam

Nilai rata-rata yang akan dikurangi dari input. Bisa berupa nilai tunggal atau daftar nilai. Ketika mean diberikan sebagai daftar, jumlah entri harus sesuai dengan dimensi saluran input.

“berarti” :128.0

skala

Nilai skala yang akan digunakan untuk menormalkan input. Bisa berupa nilai tunggal atau daftar nilai. Ketika skala diberikan sebagai daftar, jumlah entri harus sesuai dengan dimensi saluran input.

“skala”: 255.0

Berikut adalah file konfigurasi contoh:

{ "inputs": { "data": { "shape": "1, 3, 224, 224", "filepath": "calib_data/", "colorformat": "RGB", "mean":[128,128,128], "scale":[128.0,128.0,128.0] } } }

Gambar Kalibrasi

Kuantisasi model terlatih Anda dengan memberikan gambar kalibrasi. Mengukur model Anda meningkatkan kinerja mesin CVFlow pada Sistem Ambarella pada Chip (SoC). Rantai alat Ambarella menggunakan gambar kalibrasi untuk menentukan bagaimana setiap lapisan dalam model harus dikuantisasi untuk mencapai kinerja dan akurasi yang optimal. Setiap lapisan dikuantisasi secara independen ke format INT8 atau INT16. Model akhir memiliki campuran lapisan INT8 dan INT16 setelah kuantisasi.

Berapa banyak gambar yang harus Anda gunakan?

Disarankan agar Anda menyertakan antara 100-200 gambar yang mewakili jenis adegan yang diharapkan ditangani oleh model. Waktu kompilasi model meningkat secara linier ke jumlah gambar kalibrasi dalam file input.

Apa format gambar yang direkomendasikan?

Gambar kalibrasi dapat dalam format biner mentah atau format gambar seperti JPG dan PNG.

Folder kalibrasi Anda dapat berisi campuran gambar dan file biner. Jika folder kalibrasi berisi gambar dan file biner, rantai alat pertama-tama mengonversi gambar menjadi file biner. Setelah konversi selesai, ia menggunakan file biner yang baru dihasilkan bersama dengan file biner yang awalnya ada di folder.

Bisakah saya mengonversi gambar menjadi format biner terlebih dahulu?

Ya. Anda dapat mengonversi gambar ke format biner dengan paket sumber terbuka sepertiOpenCVatauPIL. Pangkas dan ubah ukuran gambar sehingga memenuhi lapisan input model terlatih Anda.

Mean dan Skala

Anda dapat menentukan opsi pra-pemrosesan rata-rata dan penskalaan ke rantai alat Amberalla. Operasi ini tertanam ke dalam jaringan dan diterapkan selama inferensi pada setiap input. Jangan berikan data yang diproses jika Anda menentukan mean atau skala. Lebih khusus lagi, jangan berikan data yang telah Anda kurangi dari rata-rata atau terapkan penskalaan.

Periksa log kompilasi Anda

Untuk informasi tentang memeriksa log kompilasi untuk perangkat Ambarella, lihatPeriksa log kompilasi Anda.