前面我们介绍了将tensorflow的ckpt模型文件转换为pb文件,接下来,我们使用tensorflow的C++接口调用pb文件做前向推理。
这里假设已经编译好了tensorflow的动态库
加载模型
加载模型的过程和python接口时一致,先创建一个session会话,定义一个graph,读取pb文件后使用session为定义的graph分配资源。
using tensorflow::Flag;
using tensorflow::Tensor;
using tensorflow::Status;
using tensorflow::string;
using tensorflow::int32;
using tensorflow::uint8;
using namespace tensorflow;
using namespace std;
using namespace cv;
Status load_graph(const string& graph_file_name, std::unique_ptr<tensorflow::Session>* session) {
tensorflow::GraphDef graph_def;
Status load_graph_status = ReadBinaryProto(tensorflow::Env::Default(), graph_file_nam