C++调用调用tensorflow教程教程
今天小编就为大家分享一篇关于C++调用tensorflow教程,小编觉得内容挺不错的,现在分享给大家,具有很好
的参考价值,需要的朋友一起跟随小编来看看吧
目前深度学习越来越火,学习、使用tensorflow的相关工作者也越来越多。但是目前绝大部分的python都是拥有着丰富的
python的API,而c++的API不够完善。这就导致绝大多是使用tensorflow的项目都是基于python。
如果项目是由c++编写,想调用python下的tensorflow?可参考本教程(tensorflow模型是CNN卷积神经网络)
具体步骤:
1.python环境环境
首先安装python,可以在Anaconda官网直接下载。记住python一定选择64bit,目前tensorflow不支持32位的python,这也是
我之前被坑过的地方。下载Anaconda后直接
bash Anaconda3-4.3.1-Linux-x86_64.sh
就可以安装,然后
gedit ~/.bashrc
在最后面加上
export PATH=/<你的anaconda路径>/bin:$PATH
将python安装路径添加到系统路径中,这样在终端敲python后会运行安装的python3.6,如下图所示,代表安装成功:
2.tensorflow
直接终端输入:
pip install tensorflow
就会自动帮你安装到python下。
如果出现类似“没有找到匹配版本”(或者红色英文提示),那么你可能装的是python32bit版本,暂时不支持tensorflow!
安装成功后在终端如下操作:
显示tensorflow版本,表示安装成功!
3.C++Demo
一个简单的c++调取python+tensorflow的demo,按照实际需要可以依葫芦画瓢。
#include <Python.h>
#include <iostream>
int main(int argc, char** argv)
{
char* picpath ="/home/pdd/PD/c++/c++python/pic/0.0.jpg";
Py_Initialize();
if ( !Py_IsInitialized() ) {
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyObject* pMod = NULL;
PyObject* pFunc = NULL;
PyObject* pParm = NULL;
PyObject* pRetVal = NULL;
int iRetVal = -999;