Сокращение размера итогового приложения
Чтобы сократить размер вашего приложения, определите набор непосредственно задействованных в приложении моделей и библиотек и удалите остальные.
Оставить только используемые модели
API процессинг-блоков
Путь до модели (детектора, метода распознавания или оценщика) выглядит следующим образом: _share/processing_block/{unit_type(в нижнем регистре)}/{modification}/{version}.enc_
.
Если в указанном пути отсутствует файл модели соответствующей {version}, значит процессинг-блок использует всю директорию.
Для составления списка используемых моделей выполните шаги ниже:
- Для каждого Context, использующегося при создании процессинг-блока, определите unit_type, modification, version.
- Перейдите по пути
_share/processing_block/{unit_type(в нижнем регистре)}/{modification}_
. - Если в директории есть файл, соответствующий {version}, скопируйте этот файл.
- Если в директории отсутствует файл, соответствующий {version}, скопируйте всю директорию.
Legacy API
Пути до используемых файлов конфигурации указаны в соответствующих .xml файлах.
Для составления списка используемых файлов конфигурации выполните шаги ниже:
- Для каждого объекта capturer, recognizer, ... откройте соответсвующий .xml файл (Если вы используете use_cuda, то необходимые модели будут иметь расширение .dt).
- Если тег содержит файл с расширением .xml, скопируйте этот файл.
- Если тег содержит файл с отличным от .xml расширением, скопируйте файл в результирующую директорию share.
Оставить только используемые библиотеки
ONNXRuntime
Используется в:
- method12v*_recognizer
- SSYV
- API процессинг-блоков (кроме LIVENESS_ESTIMATOR без модификации и QUALITY_ASSESSMENT_ESTIMATOR с модификацией assessment)
CPU
- Linux
- libonnxruntime.so
- libonnxruntime_legacy.so(use_legacy = true)
- Windows
- onnxruntime.dll
- Android
- libonnxruntime.so
- iOS
- libonnxruntime.dylib
GPU
- Linux
- libonnxruntime_cuda.so
- libonnxruntime_providers_shared.so
- libonnxruntime_providers_cuda.so
- libonnxruntime_cuda_legacy.so(use_legacy = true)
- Windows
- onnxruntime_cuda.dll
- onnxruntime_providers_shared.dll
- onnxruntime_providers_cuda.dll
- onnxruntime_cuda_legacy.dll(use_legacy = true)
Tensorflow
Используется в:
- method*v*_recognizer (кроме method12v*_recognizer)
- Детекторах (кроме SSYV)
- Некоторых процессинг-блоках (LIVENESS_ESTIMATOR без модификации и QUALITY_ASSESSMENT_ESTIMATOR с модификацией assessment)
GPU
- Linux
- libtensorflow.so.2
- tensorflow_avx2/libtensorflow.so.2 (дополнительное ускорении, если поддерживается AVX2)
- Windows
- tensorflow.dll
Мобильные устройства
Библиотека libfacerec_jni.so не используется во Flutter API.