如何在Tensorflow Lite(实验性C API)中创建输入张量并与解释器一起使用?

时间:2019-06-27 20:24:37

标签: c tensorflow tensor

我们如何使用C API在Tensorflow Lite中创建张量?然后我们如何在解释器中使用它们?

我了解Tensorflow Lite拥有C ++ API的文档,而常规Tensorflow拥有C API的文档。但是,关于使用C API for Lite的信息很少。

Lite C ++ API具有创建张量的功能,但我看不到Lite的C API头文件(或任何其他相关的头文件/源文件)中的任何地方。

在使用常规Tensorflow C API的示例中存在以下内容。但它似乎在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 :(得分:0)

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,但我们希望在不久的将来将其从实验中移出。