Все,
Я пытаюсь создать программу обработки тензорного потока для моего целевого процессора ARM926EJ-S (архитектура ARM5te). Я скопировал скрипт сборки и настройки сборки для моего целевого процессора из скрипта и настроек сборки R asp PI. Вот мои настройки сборки для моего целевого процессора в arm926_makefile.in c:
# Settings for ARM926.
ifeq ($(TARGET),arm926)
TARGET_ARCH := armv5te
ifeq ($(TARGET_ARCH), armv5te)
TARGET_TOOLCHAIN_PREFIX := //arm-eabi-uclibc/usr/bin/arm-linux-
CXXFLAGS += \
-march=armv5te \
-mcpu=arm926ej-s \
-funsafe-math-optimizations \
-ftree-vectorize \
-fPIC
CFLAGS += \
-march=armv5te \
-mcpu=arm926ej-s \
-funsafe-math-optimizations \
-ftree-vectorize \
-std=c99 \
-fPIC
LDFLAGS := \
-Wl,--no-export-dynamic \
-Wl,--exclude-libs,ALL \
-Wl,--gc-sections \
-Wl,--as-needed
endif
LIBS := \
-latomic \
-lstdc++ \
-lpthread \
-lm \
-ldl
endif
Сценарий сборки успешно создает кучу файлов. Но в основном он жалуется на математические функции, такие как round, atoi, min, max пространства имен std. Версия набора инструментов моего целевого процессора: arm- linux -g ++ (Build root 2014.08) 4.9.2. Тот же liteorflow lite успешно создается с использованием версии набора инструментов Pi arm- linux -gnueabihf-g ++ (G CC) 8.3.0.
Я вижу, что эти математические функции объявлены и определены в моем наборе инструментов, но они не идентифицируется сборкой tenorflow-lite. Кстати ... Я попытался с помощью global :: round (), то его нужно заменить много много мест и другие математические функции тоже. Должен быть простой способ или передать некоторую конфигурацию, чтобы включить эти функции из моего набора инструментов.
Может кто-нибудь указать мне правильное направление для создания tenorflow-lite для ARM926?
Вот ошибки сборки из моего набора инструментов:
./tensorflow/lite/kernels/internal/reference/reduce.h:385:71: error: no matching function for call to 'min(double, float)'
./tensorflow/lite/kernels/internal/round.h:34:10: error: 'round' is not a member of 'std'
return std::round(x);
/tensorflow/tensorflow/lite/tools/make/downloads/eigen/Eigen/src/Core/GlobalFunctions.h:93:36: note: 'Eigen::round'
EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(round,scalar_round_op,nearest integer,\sa Eigen::floor DOXCOMMA Eigen::ceil DOXCOMMA ArrayBase::round)
./tensorflow/lite/kernels/internal/reference/concatenation.h:125:36: error: 'round' is not a member of 'std'
./tensorflow/lite/kernels/internal/reference/reduce.h:374:28: error: 'round' is not a member of 'std'
Кстати. Я также пытался использовать последний набор инструментов R asp Pi, чтобы построить tenorflow lite для моего целевого процессора, используя параметры компиляции -march = armv5te и -mcpu = arm926ej-s. Он строит, но не запускается - я думаю, что набор инструментов r asp pi не генерирует правильный машинный код для архитектуры процессоров ARM926 и ARMv5te.
Я был бы признателен и приветствовал бы любые указатели или идеи, чтобы решить этот тензор потока-Lite проблемы сборки процессора ARM9.
Спасибо, Arm