分享一下C++调用python神经网络模型预测函数时的两个坑
1.无法调用import tensorflow和keras第三方库。
调用python程序不成功,于是在py程序中单句执行,找到问题出在哪里,最后发现import tensorflow和import keras这两句都无法执行。
经探索,可在原cpp文件中加入命令行参数即可成功运行。
在调用py程序的语句前面添加下面语句:
int argc = 1;
wchar_t * argv[] = { L" " };
PySys_SetArgv(argc, argv); //加入argv参数 否则出错
完美解决。
参考(https://blog.csdn.net/qq_34662299/article/details/87559942)
2.无法执行ps.read_csv(“XX.csv”)语句
在单句调试中还发现`ps.read_csv(“XX.csv”)语句无法执行
,但是单独运行python程序时是可以运行的。
经探索发现,XX.csv文件的地址在py中可以用相对路径,也就是将文件和py文件放在同一文件夹下即可。但是C++调用时就必须使用绝对路径了,也就是无论文件在哪个位置,都要把文件路径完全写出来。