Последние результаты тестов см. на странице https://github.com/AI- Performance/embedded-ai.bench/releases.
Компиляция в один клик: извлеките код фреймворка и скомпилируйте библиотеку;
Преобразование в один клик: извлеките исходную модель, скомпилируйте инструмент преобразования и преобразуйте модель;
Измерение скорости одним щелчком мыши: потяните модель рамы и измерьте скорость. Извлеките модель платформы. Модель платформы хранится в разных хранилищах кода. Процесс проверки скорости автоматически завершит извлечение.
# tnncd ./tnn ./build_tnn_android.sh # следуйте и читайте `./tnn/build_tnn_android.sh`, если сборка не удаласьcd -# mnncd ./mnn ./build_mnn_android.sh # следуйте и читайте `./mnn/build_mnn_android.sh`, если сборка не удаласьcd -# ncnncd ./ncnn ./build_ncnn_android.sh # следуйте и читайте `./ncnn/build_ncnn_android.sh`, если сборка не удалась cd -# tflitecd ./tflite ./build_tflite_android.sh # следуйте и читайте `./tflite/build_tflite_android.sh`, если сборка не удаласьcd -#benchpythonbench.py#, если выполнение в порядке:# ===> отредактируйте ./core/global_config.py# === > отредактируйте значение `GPU_REPEATS=1000`, `CPU_REPEATS=100`, `WARMUP=20`, `ENABLE_MULTI_THREADS_BENCH=True`# ===> ./clean_bench_result.sh# ===> pythonbench.py# см. результат теста ниже# ./tnn/*.csv# ./mnn/*. csv# ./ncnn/*.csv
В настоящее время поддерживаемые модели ограничены, см.: tnn-модели, mnn-модели, ncnn-модели, tflite-модели.
Демонстрация результатов в жиме минн
Демонстрация результатов стенда ncnn
Демонстрация результатов стенда tnn
Демонстрация результатов стенда tflite
На следующем рисунке описана архитектура этого проекта:
class Engine: создайте экземпляр каждого фреймворка с помощью engine_config
, загрузите модели, скомпилируйте библиотеку движка (TODO: для интеграции в скрипт py) и запустите результаты стенда;
BenchSum(TODO): суммирует результаты Bench каждого экземпляра Engine;
Репозиторий общих моделей (TODO): репозиторий, в котором хранятся общедоступные оригинальные модели. Такие как Caffe, классические модели фреймворка TensorFlow (MobileNetV1/V2 и т. д.).
Независимый склад моделей для каждого двигателя, например tnn-models. Содержит модель tnn, преобразованную из общедоступного хранилища моделей, сценарий компиляции в один клик (TODO) конвертера моделей, сценарий преобразования в один клик (TODO) для преобразования модели и сценарий обновления модели в один клик. версия модели в README;
Независимый склад моделей каждого движка обновляется независимо и регулярно (TODO);
Во время выполнения каждый экземпляр Engine будет извлекать модели из собственного независимого хранилища моделей для подготовки к стенду.
Субъектам, кроме организации с открытым исходным кодом AI-Performance, запрещено [публично] публиковать [результаты эталонного тестирования, основанные на этом проекте]. В случае публичной публикации это будет считаться нарушением авторских прав, и AI-Performance имеет право привлечь к юридической ответственности.
Организация с открытым исходным кодом AI-Performance принимает нейтральность, справедливость, беспристрастность и открытость в качестве своих организационных принципов и стремится создавать и формулировать эталонные стандарты в области искусственного интеллекта.
Обычно «Режим разработчика» не включается. После подтверждения его включения его все еще не удается найти. Обычно это можно решить, выполнив следующую последовательность действий:
Настройка USB-соединения изменена с «Только зарядка» на «Передача файлов»;
Измените интерфейс USB (возможно, напряжение);
Добавьте идентификатор поставщика в ~/.android/adb_usb.ini, а затем adb kill-server и затем adb start-server;
Перезагрузите телефон;
Перезагрузите компьютер;
Замените кабель для передачи данных (я обнаружил, что это случалось раньше);
Дисковод компакт-дисков Hisuite мобильных телефонов Huawei будет занимать adb. Извлеките диск;
Прошить телефон.
Чтобы отправить код в первый раз, вам необходимо выполнить следующую команду для установки перехватчика. После успешной установки при каждом выполнении git commit
элементы проверки, установленные в .pre-commit-config.yaml
будут автоматически проверяться. Например, текущая проверка формата предназначена для кода Python.
# Первое выполнение перехватчика может быть медленным. pre-commit install # Если он не может быть найден, вам необходимо сначала установить его pre-commitpip install pre-commit # Если вы хотите удалить, выполните pre-commit uninstall
Если вы не можете найти python3.8, вы можете установить minconda3 и использовать следующую команду:
# Автоматически установить miniconda3 и записать переменную среды текущего пользователя.github/workflows/pre-commit-job.sh# Перед отправкой кода создайте в качестве примера среду с именем dev_env_py. Если вы столкнулись с ней, выберите yconda create -n dev_env_py python. = 3.8# Активировать вновь созданную среду conda active dev_env_py# Переустановить pre-commitpre-commit install
Если CI зависает, проверьте конкретный журнал действий Github, чтобы узнать, не связано ли это с тайм-аутом, например со складом
git clone
. В это время вы можетеRe-run this jobs
.
.github/workflows/unit-test-job.sh