文件:ncnn2mem.cpp
说明 :
- 将ncnn的proto文本文件转换成二进制文件,并基于layer name在ncnn的param中的顺序进行编号,生成*.id.h文件。
- 把ncnn的param和model二进制文件dump到*.mem.h文件中
该操作比较简单,不做详细的描述;在ncnn模型加载时,会对这两种模型存储形式分别进行描述。
如果需要将网络结构和模型合并为一个文件,需要执行以下命令:
cat ncnn.proto.bin ncnn.bin > ncnn_all.bin //ncnn的net加载detect-all.bin文件时的顺序与cat时的顺序要保持一致。
这个做法,官方的说法是不暴露模型的网络结构,主要是使用了index替代了layer name,应该还是增强了一点安全性的。我们使用它,主要还是为了少传一个参数进去,毕竟API封装入参越精简越好。