Включение Tensorflow Lite для микроконтроллеров в результаты проекта включает в себя ошибки. ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Включение Tensorflow Lite для микроконтроллеров в результаты проекта включает в себя ошибки.

Сообщение Anonymous »

Я пытаюсь включить Tensorflow Lite для микроконтроллеров в проект C++ с помощью libDaisy (HAL для платы разработки Electrosmith Daisy Seed — платы разработки на основе микроконтроллера STM32H7). И я столкнулся с проблемой, когда Tensorflow пытается импортировать некоторые другие файлы, но не может. Похоже, это связано с использованием абсолютных путей, потому что, если я изменю их на относительные пути, это сработает, но тензорный поток имеет сотни импортов, поэтому делать это вручную непрактично. Например, вот ошибка, которую я получаю при включении Tensorflow:
DataInference/RainPredictor/../../tensorflow/tensorflow/lite/micro/all_ops_resolver.h:18:10: fatal error: tensorflow/lite/micro/compatibility.h: No such file or directory
18 | #include "tensorflow/lite/micro/compatibility.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Я могу это исправить, изменив это включение в Tensorflow с:
#include "tensorflow/lite/micro/compatibility.h"

кому:
#include "compatibility.h"

но мне пришлось бы делать это для каждого включения внутри Tensorflow, чтобы исправить все эти ошибки, что явно непрактично. Я предполагаю, что мне нужно включить какую-то магию Makefile или настройку компилятора, чтобы разрешить использование абсолютных путей внутри моего проекта C++, о которых я не знаю. И я не могу ничего найти ни в Google, ни в документации C++ или Make. Так может ли кто-нибудь просветить меня по этому вопросу?
Дополнительная информация:
Структура проекта:
  • libDaisy/
  • daisySP/
  • Прошивка/

    Firmware.cpp
  • tensorflow/

    ...
[*]DataInference/
  • RainPredictor/

    model.h
  • rain_predictor.cpp


[*]( Нерелевантные файлы) ...
[*]Makefile



Содержимое Makefile:
# Project Name
TARGET = Firmware

# Sources
CPP_SOURCES = Firmware.cpp

LDFLAGS += -u _printf_float

# Library Locations
LIBDAISY_DIR = ../libDaisy
DAISYSP_DIR = ../DaisySP
TENSORFLOW_DIR = ./tensorflow
TENSORFLOW_ROOT := ./tensorflow

# Core location, and generic makefile.
SYSTEM_FILES_DIR = $(LIBDAISY_DIR)/core
include $(SYSTEM_FILES_DIR)/Makefile

содержимоеrain_predictor.cpp:
#include "../../tensorflow/tensorflow/lite/micro/all_ops_resolver.h"
#include "../../tensorflow/tensorflow/lite/micro/micro_interpreter.h"
#include "../../tensorflow/tensorflow/lite/schema/schema_generated.h"
#include "model.h"

void predict_rain_intensity() {

}


Подробнее здесь: https://stackoverflow.com/questions/759 ... ts-in-incl

Вернуться в «C++»