关于NCNN见NCNN cmake VS2017 编译
目前腾讯的NCNN没有tensorflow2ncnn的工具,目前有一种解决方案是把tensorflow的.pb模型转为coreml模型,接着转为onnx模型,最后转成NCNN。
下面提供一个tensorflow转NCNN的方法,据说在基于MobileNetV2修改的模型上测试通过,模型输出正确;我自己训练的基于ResNet结构的简单分类模型,用该方法试了,模型输出也正确。该方法的步骤如下:
1、使用freeze_graph.py生成.pb模型;参见【tensorflow】生成.pb文件
2、使用tf-coreml将tf模型转换为coreml模型
安装tf-coreml所需依赖项如下:
Python
tensorflow >= 1.5.0
coremltools >= 0.8
numpy >= 1.6.2
protobuf >= 3.1.0
因为我是windows,安装coremltools要用如下命令(电脑里要有安装git):
pip install git+https://github.com/apple/coremltools
pip install -U tfcoreml
tfcoreml安装好了,用如下脚本把tf的.pb模型转为coreml模型
import tfcoreml as tf_converter
tf_converter.convert(tf_model_path = r'C:\software\tensorflow-onnx-master\examples\WorkCardModel.pb',