Bagaimana susunan perisian RK3588 NPU sesuai bersama
Timbunan perisian RKNN Rockchip memisahkan penyediaan model daripada pelaksanaan pada peranti. RKNN-Toolkit2 menyediakan alat penukaran dan penilaian. RKNN-Toolkit-Lite2 membekalkan antara muka Python pada platform sasaran yang disokong, manakala RKNN Runtime membekalkan antara muka C/C++. Pemacu kernel menyambungkan masa jalan ke NPU. Semak keserasian komponen ini dengan pakej sokongan papan yang dibekalkan untuk modul anda.
Rekod penggunaan yang berguna mengenal pasti papan dan semakan SoM, imej Linux, pemacu, masa jalan, versi alat penukaran, model asal dan model ditukar. Simpan skrip binaan dan tetapan prapemprosesan di sebelah artifak model. Nama fail seperti detector.rknn sahaja tidak dapat menjelaskan mengapa satu penempatan berkelakuan berbeza daripada yang lain.
Langkah 1: wujudkan rujukan sebelum penukaran
Jalankan model asal pada set pengesahan wakil. Simpan output mentah dan metrik aplikasi yang penting: ketepatan klasifikasi, kualiti pengesanan atau langkah khusus tugas lain. Untuk pengesan, kekalkan susunan label, ambang keyakinan dan tetapan pasca pemprosesan. Ini menjadi titik perbandingan untuk model yang ditukar.
Tulis keseluruhan kontrak input. Sertakan dimensi, saiz kelompok, susunan RGB atau BGR, susun atur, julat berangka, normalisasi, saiz semula dan pelapik. Model yang betul boleh menghasilkan keputusan yang buruk jika aplikasi meletakkan imej secara berbeza daripada latihan atau menolak offset dua kali. Teruskan pasca pemprosesan di luar rangkaian didokumenkan dengan teliti.
Gunakan Rockchip Zoo Model RKNN sebagai titik permulaan apabila ia termasuk model dan sasaran yang sepadan. Contoh penukaran dan inferensnya lebih berguna daripada mengandaikan bahawa mana-mana rangkaian yang dieksport akan berfungsi tidak berubah. Pilih semakan repositori yang diketahui dan ikut arahan untuk contoh khusus itu.
Langkah 2: tukar model dan semak sokongan operator
- Padankan sasaran. Pilih sasaran RK3588 dan rantai alat yang serasi dengan imej papan yang dimaksudkan.
- Periksa graf. Sahkan bentuk, prapemprosesan, output dan sokongan untuk operasi sebenar dalam model yang dieksport.
- Bina penukaran rujukan. Gunakan pilihan ketepatan yang disokong oleh graf dan versi perisian tersebut.
- Baca log binaan lengkap. Selesaikan kegagalan dan siasat amaran sebelum menambah pemerolehan kamera atau antara muka pengguna.
- Bandingkan output. Jalankan input yang sama melalui model asal dan ditukar, dengan pasca pemprosesan yang sama.
Operasi yang tidak disokong mungkin memerlukan eksport yang berbeza, penulisan semula graf atau peringkat pemprosesan CPU yang jelas. Jangan menganggap bahawa masa jalan akan melaksanakan secara telus setiap lapisan yang tidak disokong. Jika sebahagian daripada beban kerja berpindah ke CPU, masukkan pemindahan dan penyegerakan dalam pengukuran prestasi.
Langkah 3: nilaikan INT8 terhadap keperluan ketepatan anda
Pengkuantitian mengubah perwakilan berangka. Apabila aliran penukaran yang dipilih menggunakan data penentukuran, pilih input yang mewakili penggunaan: pencahayaan, saiz objek, latar belakang dan keadaan operasi. Simpan set pengesahan yang berasingan untuk menilai keputusan. Penukaran yang berjaya diselesaikan masih memerlukan semakan ketepatan.
Bandingkan output aplikasi, bukan sahaja perbezaan antara dua tensor. Sebagai contoh, perubahan berangka yang kecil boleh memindahkan pengesanan merentasi ambang keyakinan. Periksa kes yang sukar, kelas dengan beberapa contoh dan keadaan yang model asalnya sudah terpinggir. Jika ketepatan berada di bawah had penerimaan, semak semula liputan penentukuran dan prapemprosesan sebelum menukar perkakasan.
Dokumentasi pengkuantitian ONNX Runtime adalah latar belakang yang berguna tentang pertukaran berangka dan penyiasatan ketepatan. Pilihan penukaran RKNN dan ketepatan yang disokong mesti masih disemak dalam dokumentasi Rockchip sendiri untuk keluaran yang dipilih.
Langkah 4: mengukur lebih daripada masa inferens
Ukur beban kerja yang digunakan selepas memanaskan badan dan sekali lagi semasa larian berterusan. Rekod suhu, mod kuasa, proses serentak dan susunan kepungan atau penyejukan. Hasil yang berguna ialah sampul prestasi yang boleh dihasilkan semula, termasuk ketepatan dan kelewatan, di bawah keadaan di mana produk akan beroperasi.
| Pengukuran | Apa yang dijawabnya | Apa yang hendak dirakam |
|---|---|---|
| Tempoh pelaksanaan model | Berapa lama masa yang diambil untuk panggilan masa jalan ini? | Bentuk input, ketepatan, sempadan masa dan versi masa jalan |
| Latensi hujung ke hujung | Berapakah umur pemerhatian apabila keputusan dihantar? | Masa tangkapan, prapemprosesan, beratur, inferens dan masa keluaran |
| Daya tampung yang mampan | Berapa banyak hasil yang lengkap disampaikan dari semasa ke semasa? | Panjang jalankan, permintaan yang lengkap dan input yang digugurkan atau dilangkau |
| Ketepatan aplikasi | Adakah model yang digunakan memenuhi keperluan tugas? | Set pengesahan, metrik tugasan dan ambang keputusan |
| Tingkah laku terma | Adakah keputusan stabil selepas sistem memanaskan badan? | Keadaan persekitaran, penyejukan, suhu dan jam jika ada |
Sebagai belanjawan ilustrasi, aplikasi yang menerima bingkai baharu setiap 40 ms mesti bersaing dengan 25 bingkai sesaat jika ia memproses setiap bingkai. Pengukuran inferens 12 ms akan meninggalkan baki belanjawan itu untuk pemerolehan, penyediaan dan penghantaran hanya dalam reka bentuk berjadual yang sesuai. Ia tidak membuktikan kelewatan kamera-ke-hasil 12 ms. Nombor ini adalah contoh perancangan, bukan prestasi ForgeEdge yang diukur.
Gunakan jam monotonik untuk tempoh perisian. Laporkan kependaman median dan ekor dan bukannya satu pemerhatian terbaik, dan simpan ukuran mentah. Untuk beberapa kamera, ambil kira beban kerja semua strim aktif, termasuk penyahkodan, penukaran imej, pergerakan memori dan rakaman. Barisan gilir yang berkembang sepanjang ujian menunjukkan bahawa kapasiti purata berada di bawah beban kerja masuk.
Gejala penyebaran biasa
| simptom | Siasatan pertama |
|---|---|
| Model yang betul, label atau kotak yang salah | Susunan warna, normalisasi, ubah saiz/pelapis, susun atur keluaran dan pasca pemprosesan |
| Model yang ditukar tidak boleh dimulakan | Pemilihan sasaran, keserasian masa jalan/pemandu dan integriti artifak model |
| Penanda aras pendek yang baik, prestasi berterusan yang lemah | Suhu, mod kuasa, tekanan memori dan kerja bersaing |
| Masa inferens yang boleh diterima, keputusan tertunda yang nyata | Tangkap penimbalan, umur baris gilir, salinan dan penjadualan output |
| Output INT8 kehilangan pengesanan berguna | Liputan penentukuran, kesetaraan prapemprosesan dan pengesahan peringkat tugas |
Tukar prototaip menjadi produk yang boleh diulang
Bungkus model, masa jalan dan konfigurasi aplikasi sebagai keluaran terkawal. Tentukan semakan permulaan, pelaporan kegagalan, pemulihan dan laluan rollback. Simpan ujian input rujukan kecil yang boleh mengenal pasti penggunaan yang salah sebelum kamera disambungkan. Asingkan semakan perisian itu daripada ujian sensor fizikal, yang juga menjalankan tetapan kabel, pemacu dan pendedahan.
Apabila papan memerlukan penyambung, penyaman kuasa atau antara muka penderia yang berbeza, semak semula SoM berbanding keputusan SBC dan proses reka bentuk papan pembawa. Keputusan tersebut menentukan bagaimana demonstrasi model yang berjaya menjadi sistem yang boleh diselenggara.
Soalan penggunaan RK3588 NPU
Bolehkah setiap model ONNX dijalankan pada RK3588 NPU?
Keserasian bergantung pada graf sebenar, bentuk, operasi dan rantai alat yang dipilih. Wujudkan sokongan melalui penukaran dan pengesahan pada peranti model yang anda ingin hantar.
Adakah penilaian pemecut yang diiklankan meramalkan FPS aplikasi?
Tidak. Rangkaian, ketepatan, gelagat ingatan, prapemprosesan dan masa jalan menentukan daya pemprosesan terukur aplikasi. Gunakan beban kerja sasaran dan laluan data lengkapnya apabila membandingkan platform.
Perlukah saya mengoptimumkan rangkaian saraf terlebih dahulu?
Profil dahulu. Jika pemerolehan, penukaran imej atau baris gilir mendominasi, mengurangkan masa pelaksanaan model mungkin mempunyai sedikit kesan ke atas umur hasil yang dialami oleh aplikasi.
Rujukan teknikal
Skop beban kerja AI pinggir anda.
Kongsi model, resolusi input, antara muka kamera, kadar hasil yang diperlukan dan sampul kuasa. Kami boleh menilai kerja penyepaduan di sekitar platform pengkomputeran pinggir berasaskan RK3588.
