我目前有一个用 C++ 和 CUDA 编写的功能强大且速度极快的模型。但是,我想使用 Scipy.minimize 使模型适合一些实验数据。我希望这很容易,但是当我尝试向 Google 描述我的问题时,它一直告诉我我想用 C++ 扩展 Python,它的文档让我想哭。
我过去曾经使用 PyCUDA,但我认为我无法包装整个模型,所以我需要在正确的方向上稍微推动一下。
我正在努力完成的事情。
from scipy.optimize import minimize
import os
#Initial starting parameters
ics = [ 1, 0, 0 ... 0]
#The objective function is called from my model, which is a built .exe that will accept parameters as maybe a string and somehow output something
model = os.popen("directory/mymodel.exe" + params)
difference = minimize(model, ics, method='Nelder-Mead')
这样的事情可能吗?我很难绕过 C++ 和 Python 之间的接口,以及如何使我的 .exe 生成可由 python 解释的数据,以便 Scipy 可以调整参数和迭代。