用c++调用python TensorFlow跑神经网络时遇到的问题记录
环境:
Windows 7
CUDA 9.0
CUDNN 7
Python 3.5
VS 2015
QT 5.9.6
TensorFlow 1.10.0
调用时使用的c++代码:
遇到的问题:
使用Inception-resnet v2模型识别图像时,走到
pModule = PyImport_ImportModule(“result_test”);
这一句是,无法读入py文件内容,返回的pModule为NULL,导致后面读入函数时会中断报错
尝试:
我写了一个简单的.py小程序,放入c++代码里调用(即图中的那个注释掉的名字叫opencv的),是可以读入的;然后尝试分别把之前result_test文件里用到的库在opencv文件里单独import
发现import TensorFlow就会有问题,但是如果不是用c++调用而是单独在pycharm里面跑是莫得问题的,但是会有一个
Using TensorFlow backend 的提示,
解决方法:
将python文件夹下的\Lib\site-packages\keras\backend_init_.py打开
(比如我的是"D:\Python35\Lib\site-packages\keras\backend_init_.py")
将里面高亮的这句 sys.stderr.write(‘Using TensorFlow backend.\n’) 注释掉就没问题了。
原因:
俺也布吉岛,摇了我吧