我正在使用一个TensorFlow模型来接受shape的输入[1, 128, 1024, 2]
。我想使用TensorflowLite C API在此模型上进行推断。
的示例代码tensorflow/lite/c/c_api.h
显示了如何将输入输入模型:
std::vector<float> inputBuffer(1 * 128 * 1024 * 2);
// populate input buffer
// ...
TfLiteTensor *inputTensor = TfLiteInterpreterGetInputTensor(interpreter, 0);
TfLiteStatus status = TfLiteTensorCopyFromBuffer(inputTensor, inputBuffer.data(), inputBuffer.size() * sizeof(float));
现在的问题是如何正确填充输入缓冲区。
假设给了我一个数组float inputArray[1][128][1024][2]
,如何正确地将该数组展平为TensorflowLite可以理解的一维矢量?
您无需展平该数组,只需将inputBuffer.data()更改为数据的指针即可。TFLite模型中的输入张量具有形状信息(1、128、1024、2)。因此,它将能够正确理解您的阵列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句