猿问

如何实现python程序和C++程序的交互?

  • 现在有一个项目的程序是用C++写的,它是一个游戏,这部分的代码比较多,有很多类和函数,然后我想用python训练神经网络作为这个游戏的AI。训练过程怎么说实现和C++游戏的数据通信呢?
    如果用python调用C++,网上的一些方法只能调用一些简单的函数,调用类还会很复杂,而且我需要的不是调用一些写死的模块,是要连接两个程序。比如说,C++这边的游戏输出一个盘面状态的矩阵,python网络接受这些数据输出一个Action的矩阵,C++游戏接受这个Action矩阵之后程序内部进行裁决改变盘面状态的矩阵再输给python程序。
    我需要实现的就是这么一个数据交互,而且希望速度比较快。
    将神经网络用于强化学习和一些决策问题的时候,是不是模型都得用python来写呢?如果编程语言不同,训练起来是不是很慢?


慕斯王
浏览 587回答 3
3回答

阿晨1998

直接用PYTHON调用dll

慕姐8265434

我觉得可以创一个文件,C++游戏输出的盘面状态的矩阵重定向到文件中,python程序提取文件内容后经神经网络分析结果存到另一个文件,主游戏再通过这些结果做出裁决。C++也可以做机器学习吧,Caffe就有C++的API

POPMUISE

python 算好的结果存数据库中,c++读数据库。python 直接使用 c++ 代码用 cython。
随时随地看视频慕课网APP
我要回答