FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dnn_backend_tf.c File Reference

DNN tensorflow backend implementation. More...

#include "dnn_backend_tf.h"
#include "dnn_backend_native.h"
#include "libavformat/avio.h"
#include <tensorflow/c/c_api.h>

Go to the source code of this file.

Data Structures

struct  TFModel
 

Macros

#define NAME_BUFFER_SIZE   256
 
#define CLEANUP_ON_ERROR(tf_model)
 

Functions

static void free_buffer (void *data, size_t length)
 
static TF_Buffer * read_graph (const char *model_filename)
 
static DNNReturnType set_input_output_tf (void *model, DNNData *input, DNNData *output)
 
static DNNReturnType load_tf_model (TFModel *tf_model, const char *model_filename)
 
static DNNReturnType add_conv_layer (TFModel *tf_model, TF_Operation *transpose_op, TF_Operation **cur_op, ConvolutionalParams *params, const int layer)
 
static DNNReturnType add_depth_to_space_layer (TFModel *tf_model, TF_Operation **cur_op, DepthToSpaceParams *params, const int layer)
 
static int calculate_pad (const ConvolutionalNetwork *conv_network)
 
static DNNReturnType add_pad_op (TFModel *tf_model, TF_Operation **cur_op, const int32_t pad)
 
static DNNReturnType load_native_model (TFModel *tf_model, const char *model_filename)
 
DNNModelff_dnn_load_model_tf (const char *model_filename)
 
DNNReturnType ff_dnn_execute_model_tf (const DNNModel *model)
 
void ff_dnn_free_model_tf (DNNModel **model)
 

Detailed Description

DNN tensorflow backend implementation.

Definition in file dnn_backend_tf.c.

Macro Definition Documentation

#define NAME_BUFFER_SIZE   256

Definition at line 182 of file dnn_backend_tf.c.

Referenced by add_conv_layer(), and add_depth_to_space_layer().

#define CLEANUP_ON_ERROR (   tf_model)
Value:
{ \
TF_DeleteGraph(tf_model->graph); \
TF_DeleteStatus(tf_model->status); \
}
return

Referenced by load_native_model().

Function Documentation

static void free_buffer ( void data,
size_t  length 
)
static

Definition at line 41 of file dnn_backend_tf.c.

Referenced by read_graph().

static TF_Buffer* read_graph ( const char *  model_filename)
static

Definition at line 46 of file dnn_backend_tf.c.

Referenced by load_tf_model().

static DNNReturnType set_input_output_tf ( void model,
DNNData input,
DNNData output 
)
static

Definition at line 79 of file dnn_backend_tf.c.

Referenced by ff_dnn_load_model_tf().

static DNNReturnType load_tf_model ( TFModel tf_model,
const char *  model_filename 
)
static

Definition at line 158 of file dnn_backend_tf.c.

Referenced by ff_dnn_load_model_tf().

static DNNReturnType add_conv_layer ( TFModel tf_model,
TF_Operation *  transpose_op,
TF_Operation **  cur_op,
ConvolutionalParams params,
const int  layer 
)
static

Definition at line 184 of file dnn_backend_tf.c.

Referenced by load_native_model().

static DNNReturnType add_depth_to_space_layer ( TFModel tf_model,
TF_Operation **  cur_op,
DepthToSpaceParams params,
const int  layer 
)
static

Definition at line 299 of file dnn_backend_tf.c.

Referenced by load_native_model().

static int calculate_pad ( const ConvolutionalNetwork conv_network)
static

Definition at line 321 of file dnn_backend_tf.c.

Referenced by load_native_model().

static DNNReturnType add_pad_op ( TFModel tf_model,
TF_Operation **  cur_op,
const int32_t  pad 
)
static

Definition at line 337 of file dnn_backend_tf.c.

Referenced by load_native_model().

static DNNReturnType load_native_model ( TFModel tf_model,
const char *  model_filename 
)
static

Definition at line 381 of file dnn_backend_tf.c.

Referenced by ff_dnn_load_model_tf().

DNNModel* ff_dnn_load_model_tf ( const char *  model_filename)

Definition at line 474 of file dnn_backend_tf.c.

Referenced by ff_get_dnn_module().

DNNReturnType ff_dnn_execute_model_tf ( const DNNModel model)

Definition at line 510 of file dnn_backend_tf.c.

Referenced by ff_get_dnn_module().

void ff_dnn_free_model_tf ( DNNModel **  model)

Definition at line 533 of file dnn_backend_tf.c.

Referenced by ff_get_dnn_module().