Как создать входные тензоры и использовать их с интерпретатором в Tensorflow Lite (экспериментальный C API)? - PullRequest
0 голосов
/ 27 июня 2019

Как мы создаем тензоры в Tensorflow Lite с C API? И как мы можем использовать их с переводчиком?

Я понимаю, что Tensorflow Lite имеет документацию для API C ++, и обычный Tensorflow имеет документацию для API C. Однако информации об использовании C API для Lite практически нет.

Lite C ++ API имеет функцию для создания тензоров, но я не вижу этого нигде в заголовочном файле C API (или любых других связанных заголовках / исходных файлах) для Lite.

В примере использования обычного API Tensorflow C существует следующее. Но, похоже, его нет в TF Lite C API.

TF_Tensor* input_tensor = tf_utils::CreateTensor(TF_FLOAT, input_dims.data(), input_dims.size(), input_vals.data(), input_vals.size() * sizeof(float));

1 Ответ

0 голосов
/ 01 июля 2019

Тензор TensorFlow Lite (TFL_Tensor) принадлежит экземпляру интерпретатора (TFL_Interpreter) и не может быть создан пользователем.Вы можете получить дескрипторы для тензоров ввода / вывода, используя следующие методы:

 TFL_Tensor* TFL_InterpreterGetInputTensor(
    const TFL_Interpreter* interpreter, int32_t input_index);

 const TFL_Tensor* TFL_InterpreterGetOutputTensor(
    const TFL_Interpreter* interpreter, int32_t output_index);

Данные тензора можно читать (или обновлять), используя методы, описанные в заголовке c_api.h.Документация отсутствует, так как это остается экспериментальным API, но мы ожидаем, что в ближайшем будущем мы переместим его из экспериментального.

...