Untuk hasil benchmark terbaru, silakan lihat: https://github.com/AI- Performance/embedded-ai.bench/releases
Kompilasi sekali klik: tarik kode kerangka kerja dan kompilasi perpustakaan;
Konversi sekali klik: tarik model asli, kompilasi alat konversi, dan konversi model;
Pengukuran kecepatan sekali klik: tarik model bingkai dan ukur kecepatannya. Tarik model kerangka. Model kerangka disimpan di gudang kode yang berbeda. Proses uji kecepatan akan menyelesaikan penarikan secara otomatis.
# tnncd ./tnn ./build_tnn_android.sh # ikuti & baca `./tnn/build_tnn_android.sh` jika build gagalcd -# mnncd ./mnn ./build_mnn_android.sh # ikuti & baca `./mnn/build_mnn_android.sh` jika build gagalcd -# ncnncd ./ncnn ./build_ncnn_android.sh # ikuti & baca `./ncnn/build_ncnn_android.sh` jika build gagal cd -# tflitecd ./tflite ./build_tflite_android.sh # ikuti & baca `./tflite/build_tflite_android.sh` jika build gagalcd -# benchpython bench.py# jika eksekusi oke:# ===> edit ./core/global_config.py# === > edit nilai `GPU_REPEATS=1000`, `CPU_REPEATS=100`, `WARMUP=20`, `ENABLE_MULTI_THREADS_BENCH=True`# ===> ./clean_bench_result.sh# ===> python bench.py# lihat hasil benchmark di bawah# ./tnn/*.csv# ./mnn/*. csv# ./ncnn/*.csv
Model yang didukung saat ini terbatas, lihat: tnn-models, mnn-models, ncnn-models, tflite-models.
mnn hasil bangku demo
demo hasil bangku ncnn
tnn demo hasil bangku
demo hasil bangku tflite
Gambar berikut menjelaskan arsitektur proyek ini:
class Engine: Buat instance setiap kerangka kerja dengan engine_config
, muat model, kompilasi lib mesin (TODO: untuk diintegrasikan ke dalam skrip py), dan jalankan hasil bench;
BenchSum(TODO): Meringkas hasil Bench dari setiap instance Engine;
repo model umum (TODO): Repositori yang menyimpan model asli publik. Seperti Caffe, model klasik framework TensorFlow (MobileNetV1/V2, dll.).
Gudang model independen untuk setiap mesin, seperti model tnn. Berisi model tnn yang dikonversi dari gudang model publik publik, skrip kompilasi satu-klik (TODO) dari konverter model, skrip konversi satu-klik (TODO) dari konversi model, dan skrip untuk penyegaran satu-klik dari konversi model versi model ke README;
Gudang model independen setiap mesin diperbarui secara independen dan teratur (TODO);
Selama eksekusi, setiap instance Engine akan menarik model dari gudang model independennya sendiri untuk mempersiapkan proses bench.
Subjek selain organisasi sumber terbuka AI-Performance dilarang mempublikasikan [hasil tolok ukur berdasarkan proyek ini] secara publik. Jika dipublikasikan secara publik, hal itu akan dianggap sebagai pelanggaran, dan AI-Performance berhak untuk menuntut tanggung jawab hukum.
Organisasi open source AI-Performance mengambil netralitas, keadilan, ketidakberpihakan, dan keterbukaan sebagai prinsip organisasinya dan berkomitmen untuk menciptakan dan merumuskan standar tolok ukur di bidang AI.
Biasanya "Mode Pengembang" tidak dihidupkan. Setelah dipastikan diaktifkan, masih tidak dapat ditemukan.
Pengaturan koneksi USB diubah dari "Hanya Mengisi Daya" menjadi "Transfer File";
Ubah antarmuka USB (mungkin voltase);
Tambahkan ID vendor ke ~/.Android/adb_usb.ini lalu adb kill-server lalu adb start-server;
Nyalakan ulang telepon;
Nyalakan kembali komputer;
Ganti kabel data (saya menemukan ini pernah terjadi sebelumnya);
Drive CD Hisuite ponsel Huawei akan menempati adb. Keluarkan drive;
Flash telepon.
Untuk mengirimkan kode untuk pertama kalinya, Anda perlu menjalankan perintah berikut untuk memasang hook. Setelah instalasi berhasil, setiap kali git commit
dijalankan, item pemeriksaan yang diatur dalam .pre-commit-config.yaml
akan diperiksa secara otomatis. Misalnya, pemeriksaan format saat ini adalah untuk kode Python.
# Eksekusi pertama dari hook mungkin lambat sebelum melakukan instalasi # Jika tidak dapat ditemukan, Anda perlu menginstalnya terlebih dahulu sebelum melakukan instalasi pre-commit # Jika Anda ingin melakukan uninstall, jalankan pre-commit uninstall
Jika Anda tidak dapat menemukan python3.8, Anda dapat menginstal minconda3 dan menggunakan perintah berikut:
# Instal miniconda3 secara otomatis dan tulis variabel lingkungan pengguna saat ini.github/workflows/pre-commit-job.sh# Sebelum mengirimkan kode, buatlah lingkungan bernama dev_env_py sebagai contoh. Jika Anda menemukannya, pilih yconda create -n dev_env_py python = 3.8# Aktifkan lingkungan yang baru dibuat conda aktifkan dev_env_py# Instal ulang pra-komitpra-komit instal
Jika CI hang, periksa log spesifik Github Action untuk melihat apakah itu karena waktu habis seperti
git clone
warehouse. Saat ini, Anda dapatRe-run this jobs
.
.github/workflows/unit-test-job.sh