1.简介
直接加载TF未加密的PB模型文件比较简单, 网上有较多的例子。此例子展示加载加密后的pb模型文件的简略步骤。使用ParseFromString()这个函数进行。
2. 例子
头文件
#include "tensorflow\core\public\session.h"
#include "tensorflow\core\platform\env.h"
加载
std::string encryptPBFile="model.pb"
std::string decryptModelContent;
std::string password="XXXX";
//解密pb文件并读取为string
decrypt(encryptPBFile, password, decryptModelContent);
tensorflow::GraphDef graphDef;
bool graphStatus = graphDef.ParseFromString(decryptModelContent);
tensorflow::SessionOptions options;
options.config.set_allow_soft_placement(true);
tensorflow::Session *session;
tensorflow::Status sess_status = tensorflow::NewSession(options, &session);
std::cout << "sess status: " << sess_status.ToString() << std::endl;
tensorflow::Status sess_create_status = session->Create(graphDef);
std::cout << "sess create status: " << sess_create_status.ToString() << std::endl;
//加载模型完成, 剩下就是推理过程了
记录一下!