我编写了使用Tensorflow的C API进行深度学习推理的代码。经过尝试一些东西,它终于可以工作了。但是它似乎很慢。我正在从C API头文件使用以下命令:
set(CPACK_DEB_COMPONENT_INSTALL 1)
运行我的代码进行测试后,我发现此函数负责大约95%的计算时间。以我为例,整个推理过程大约需要0.29秒,而TF_SessionRun函数所需的时间始终约为0.27-0.28秒。该图具有1780个操作。我的函数调用如下所示:
TF_CAPI_EXPORT extern void TF_SessionRun(
TF_Session* session,
// RunOptions
const TF_Buffer* run_options,
// Input tensors
const TF_Output* inputs, TF_Tensor* const* input_values, int ninputs,
// Output tensors
const TF_Output* outputs, TF_Tensor** output_values, int noutputs,
// Target operations
const TF_Operation* const* target_opers, int ntargets,
// RunMetadata
TF_Buffer* run_metadata,
// Output status
TF_Status*);
如您所见,我没有使用一些参数:
TF_SessionRun(session,nullptr,&inputs[0],&input_values[0],inputs.size(),&outputs[0],&output_values[0],outputs.size(),nullptr,0,nullptr,status);
不幸的是,我没有找到任何使用这些参数的示例,并且不确定使用它们是否可以加快推理速度。
我的问题:是否有人对如何加快这一过程抱有希望?
提前谢谢!