mnn, python


生成python接口

这一步是通过flatc命令生成MNN模型结构的python接口。

cd MNN-master/schema/default/
flatc -p --all-gen MNN.fbs

执行完之后会生成MNN文件夹,这个文件夹包含了所有解析MNN模型结构的接口。

我们回过来看看MNN.fbs里面的内容:

  • root_type Net这里指定了root节点。
  • Net结构
table Net {
bizCode: string;
extraTensorDescribe: [TensorDescribe];
gpulibrary: GpuLibrary;
oplists: [Op];
outputName: [string];
preferForwardType: ForwardType = CPU;
sourceType: NetSource = CAFFE;
tensorName: [string];
tensorNumber: int = 0;
usage:Usage = INFERENCE; // used to more compatibility in future
}

这里有部分mnnconvert的转换参数,我们要找的内容是oplists这部分,这里包含了所有MNN模型的结构和参数。

再看看Op的结构:

table Op {
inputIndexes: [int];
main: OpParameter;
name: string;
outputIndexes: [int];
type: OpType;
defaultDimentionFormat : MNN_DATA_FORMAT = NHWC;
}