如何在C语言中使用tensorflow(一)概述
Tensorflow是当前广泛使用的机器学习框架。Tensorflow提供了C语言的lib库接口,但是对应的应用文档较少,这里我将结合自己的使用情况做一下分享。
先说一些我对机器学习实际应用的理解。一般来说机器学习功能的工程化应用分为线下训练和线上部署两个部分。线下训练推荐采用Python脚本语言进行快速开发,实现对模型的高效迭代训练、模型性能评价与验证。这一部分由于Python语言以及对应开源代码的迭代完善,这一部分已经逐渐变得成熟。
线上部署这部分内容因为要受到后端开发语言以及性能要求等因素的影响,逐渐成为机器学习功能工程化应用的一个重要瓶颈。虽然云计算平台的广泛应用以及离线分析功能可以解决一部分部署问题。但是由于成本和安全等方面的考量,这两种方式并不能完全解决广泛的部署瓶颈问题。如果在Tensorflow中可以很好的C语言中广泛部署应用,这就对机器学习功能的工程化落地推进了一小步。
libtensorflow的生成方法主要有两种,一种是通过源码自己编译,另一种是在google下载已经编译好的动态库.两种使用方法各有优劣。通过源码编译的方法较复杂,这里就不做介绍了,我们采用官方已经编译好的libtensorflow.so动态库.
libtensorflow的版本最高为1.15.0,tensorflow2.0及起以上版本并没有提供C语言的接口,因此需要注意版本的搭配。