在生产环境中,使用api调用caffe训练生成的模型,依赖的第三方库太多,环境安装是个麻烦问题,同时在平台间移植也是个很麻烦的事情。比如说,在ubuntu16下训练好的caffe模型,需要移植到ios、android手机端等平台,caffe需要做大量的开发工作。
如果使用tensorflow的话,依赖就要少很多,可以很灵活的支持ios、android等移动端平台,可以很方便地使用api调用训练好的tensorflow模型。
另外,tensorflow还提供了模型线上部署及服务的开源框架tensorflow serving,目前仅支持与tensorflow原生模型out-of-the-box集成。
同时由于caffe有很多现成的预训练模型,所以有很多开发者使用caffe训练生产模型。
地址: https://github.com/ethereon/caffe-tensorflow
转换需要提供caffe的网络模型文件deploy.pt和参数数据文件.caffemodel。
比如 caffe 定义的cnn网络 ResNet-101的转换命令行:
然后直接使用转换好的模型预测即可:
./classify.py ../ResNetTF.npy ../1.png