簡體   English   中英

TensorflowLite C API 多維張量的輸入緩沖區布局

[英]TensorflowLite C API input buffer layout for multidimensional tensor

我有一個 TensorFlow model 輸入形狀為[1, 128, 1024, 2] 我想使用 TensorflowLite C API 對此 model 進行推理。

tensorflow/lite/c/c_api.h中的示例代碼顯示了如何將輸入輸入 model:

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 model 中的輸入張量具有形狀信息 (1, 128, 1024, 2)。 所以它將能夠正確理解您的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM