添加pytorch所在python安装目录的include 文件夹目录到项目x属性->VC++目录的包含目录中 例如C:\ProgramData\Anaconda3\include 添加pytorch所在python安装目录的libs文件夹目录到项目x属性->VC++目录的库目录中 例如C:\ProgramData\Anaconda3\libs 添加pytorch所在python安装目录的libs中的python36.lib文件到项目x属性->链接器->附加依赖项中 例如C:\ProgramData\Anaconda3\libs\python36.lib void main()程序中, 写以下函数//多线程调用为例 { Py_SetPythonHome(L"C:/ProgramData/Anaconda3/envs/pytorchenv"); //路径更换为装了pytorch的python所在环境目录 Py_Initialize(); PyRun_SimpleString("import sys;import os;"); pModule = PyImport_ImportModule("xxxxx"); //加载模块xxxxx PyEval_InitThreads(); //python多线程启用前需要先调用的函数 PyEval_ReleaseThread(PyThreadState_Get()); //python多线程启用前需要先调用的函数 调用子程序test test() // PyGILState_Ensure();//python结束多线程调用前需要调用的函数 Py_DECREF(pModule); Py_DECREF(pFunc_net); Py_Finalize();
}
void test(){
class PyGILThreadLock PyThreadLock;//为python程序添加一个线程锁 PyObject*pArg = NULL; PyObject*pFunc_path = NULL; char writefile_name[50]; pFunc_path = PyObject_GetAttrString(pModule, "xxxxx"); pArg = Py_BuildValue("(sfii)", imagePath,thresh, netNum, thread_num); PyObject *pyValue1 = PyEval_CallObject(pFunc_path, pArg);
}
因篇幅问题不能全部显示,请点此查看更多更全内容