从C++调用PyTorch时出错

2024-09-30 04:30:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用C++来传递PyrPrk,但它不能正常工作。 命令import torch在命令提示符下运行良好。我不知道原因,但它的工作,即使C++当我安装火炬没有CUDA。

这是一个密码

#include <Python.h>

int main(int argc, char** argv)
{
    Py_Initialize();
    PyRun_SimpleString("import torch");
    Py_Finalize();
    return 0;
}

请注意,它在PyRun_SimpleString("import numpy as np");等示例中起作用。 这是一条错误消息

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\GreenTea\Anaconda3\envs\pytorch\lib\site-packages\torch\__init__.py", line 81, in <module>
    from torch._C import *
ImportError: DLL load failed: The operating system cannot run %1.

我正在使用
火炬==1.2.0+cu92
torchvision==0.4.0+cu92
Cuda==9.2
Python==5.1.0
窗口==10
Visual Studio==2019
我还尝试了其他组合。 谢谢大家!


Tags: inpyimport命令linetorchpyrunfile
1条回答
网友
1楼 · 发布于 2024-09-30 04:30:39

如果要将pytorchC++一起使用,则有一个用于此的API,请参见PyTorch C++ API docs

目前它正处于测试阶段,可能会经历一些突破性的更改,所以请注意,但是它的用法非常类似于Python API,并且经过了深思熟虑,因此,如果您知道一些C++,应该不会有太大的麻烦(请参见End to End example

如果您想使用经过训练的网络或者在Python环境中感觉更好,您可以使用它来训练网络,只需通过加载使用torchscript编译的网络,就可以使用C++API进行推理。请参阅this official tutorial以了解如何执行此操作的简单示例

我不认为你正在尝试做的事情得到支持,如果你进一步遵循这种方法,可能很难获得帮助

相关问题 更多 >

    热门问题