vs2015配置c++调用anaconda中的pytorch环境

添加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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值