1.
std::unique_ptr<FlatBufferModel> BuildFromFile(
const char* filename,
ErrorReporter* error_reporter = DefaultErrorReporter());
这个函数 申明位于 tensorflow/lite/model.h
FlatBufferModel 类
//基于文件 filename 构建模型,确保它的生存期比FlatBufferModel实例长。如果失败,返回nullptr
自己可以 继承ErrorReporter 类,重写她...
2.
std::unique_ptr<FlatBufferModel> VerifyAndBuildFromFile(
const char* filename, TfLiteVerifier* extra_verifier = nullptr,
ErrorReporter* error_reporter = DefaultErrorReporter());
这个函数在 1 基础上 加了检验文件的功能..
TfLiteVerifier 类,是个抽象接口.需自己实现 具体类..
class TfLiteVerifier {
public:
// Returns true if the model is legit.
virtual bool Verify(const char* data, int length,
ErrorReporter* reporter) = 0;
virtual ~TfLiteVerifier() {}
};
3.
class BuiltinOpResolver : public MutableOpResolver {
public:
BuiltinOpResolver();
const TfLiteRegistration* FindOp(tflite::BuiltinOperator op,
int version) const override;
const TfLiteRegistration* FindOp(const char* op, int version) const override;
};
注册 (运算)操作符
这个函数 申明位于 tensorflow/lite/kernels/register.h
4.
Interpreter 类
class Interpreter {
public:
// Instantiate an interpreter. All errors associated with reading and
// processing this model will be forwarded to the error_reporter object.
// Note, if error_reporter is nullptr, then a default StderrReporter is
// used. Ownership of 'error_reporter' remains with the caller.
explicit Interpreter(ErrorReporter* error_reporter = DefaultErrorReporter());
~Interpreter();
// Interpreters are not copyable as they have non-trivial memory semantics.
Interpreter(const Interpreter&) = delete;
Interpreter& operator=(const Interpreter&) = delete;
}
这个 类 核心,后面大部分用到 这个...
位于 tensorflow/lite/interpreter.h
例如 (函数)功能:
AllocateTensors //申请空间内存等呀
Invoke //调用啦
UseNNAPI //是否使用NNAPI
SetNumThreads //设置线程数目啦
T* typed_input_tensor(int index) //输入
T* typed_output_tensor(int index) //输出