Описание проблемы
У меня проблема с компиляцией приложения с использованием tenorflow lite для микроконтроллеров.
Я пытаюсь перенести tflite для микроконтроллеров на новую цель. Как описано в этом руководстве , я использовал пример проекта (полностью подключенный тестовый проект), который мне удалось быстро собрать без каких-либо проблем. Я знаю, что я не использую компилятор, для которого есть примеры проектов, но это не было проблемой до сих пор. Мне удалось инициализировать и запустить модель до того момента, когда отсутствуют некоторые операторы TF, такие как SUB
или CAST
.
Теперь, когда я добавил lite/kernels/sub.cc
(в папке experimental/micro
нет sub.cc
), мне нужно включить lite/kernels/optimized/cpu_check.h
, который зависит от lite/kernels/cpu_backend_context.h
, который, в свою очередь, зависит от gemmlowp
. Мне не удалось скомпилировать gemmlowp
, потому что это зависит от многих источников, зависящих от ОС. Однако я прочитал в readme для TFLite для микроконтроллеров, что таких зависимостей не должно быть.
Мне кажется, что эти операторы еще не были портированы, и я знаю, что это в очень экспериментальном состоянии и подвержены радикальным изменениям. Может кто-нибудь подсказать мне, что я могу сделать? Есть ли способ, который мог бы помочь мне включить этих операторов в проект, возможно, убрав вещи из «нормальной» реализации tflite? Я не думаю, что мне нужно что-то из unistd.h
, от которого зависит gemmlowp
.
Примечание:
Моя модель генерируется мл-агентами , который использует tensorflow>=1.7,<2.1
и сохраняет модели в виде замороженных графиков. Это может привести к ограничениям, если не к проблемам.
Я более чем рад предоставить любую информацию, которая может предоставить более необходимую информацию
Информация о системе
- Платформа и дистрибутив ОС (например, Linux Ubuntu 16.04): Хост: macOS 10.14.6, Target Tiva TM4C123
- TensorFlow установлен из (источника или двоичного файла): источник
- TensorFlow версия: 1.14
- Предварительно сгенерированные проекты в руководстве по портированию микро ридми TFLite основаны на 1.14, я попытался перейти на более свежую версию, но каким-то образом микро-интерпретатор не смог прочитайте модель правильно.
- При проверке модели и ее входных данных,
input->dims->size
содержит очень большое число, которое является неправильным.
- Python версия: 3.6. 9 (Анаконда)
- Установлен с помощью virtualenv? Пип? conda ?: conda
- Базельская версия (если компилируется из исходного кода): 1.2.1
- Версия GCC / компилятора (если компилируется из исходного кода): TI ARM C / C ++ Compiler v18.12.4.LTS