[FFmpeg-devel] [GSOC] [PATCH] TensorFlow backend introduction for DNN module
Guo, Yejun
yejun.guo at intel.com
Fri Jun 1 06:09:30 EEST 2018
Did you try to build ffmpeg with TENSORFLOW_BACKEND enabled, and run it without TF library? This case is possible when an end user install pre-built package on a machine without TF library.
In function init, the logic is to fall back to cpu path (DNN_NATIVE) if unable to load tensorflow backend. While in function ff_get_dnn_module, it has no chance to 'return NULL'.
static av_cold int init(AVFilterContext* context)
{
SRCNNContext* srcnn_context = context->priv;
#ifdef TENSORFLOW_BACKEND
srcnn_context->dnn_module = ff_get_dnn_module(DNN_TF);
if (!srcnn_context->dnn_module){
av_log(context, AV_LOG_INFO, "could not load tensorflow backend, using native backend instead\n");
srcnn_context->dnn_module = ff_get_dnn_module(DNN_NATIVE);
}
#else
srcnn_context->dnn_module = ff_get_dnn_module(DNN_NATIVE);
#endif
DNNModule* ff_get_dnn_module(DNNBackendType backend_type)
{
...
case DNN_TF:
#ifdef TENSORFLOW_BACKEND
//add a runtime check here, possible?
dnn_module->load_model = &ff_dnn_load_model_tf;
dnn_module->load_default_model = &ff_dnn_load_default_model_tf;
dnn_module->execute_model = &ff_dnn_execute_model_tf;
dnn_module->free_model = &ff_dnn_free_model_tf;
#else
av_freep(dnn_module);
return NULL;
#endif
Thanks
Yejun (郭叶军)
-----Original Message-----
From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of Sergey Lavrushkin
Sent: Thursday, May 31, 2018 11:01 PM
To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
Cc: Pedro Arthur <bygrandao at gmail.com>
Subject: [FFmpeg-devel] [GSOC] [PATCH] TensorFlow backend introduction for DNN module
Hello,
This patch introduces TensorFlow backend for DNN inference module.
This backend uses TensorFlow binary models and requires from model to have the operation named 'x' as an input operation and the operation named 'y' as an output operation. Models are executed using libtensorflow.
More information about the ffmpeg-devel
mailing list