定制c++;扩展错误:粘贴“;pybind11_init”;和“‘;乙状结肠’”;未提供有效的预处理令牌 我试图用PyTrac添加自定义的C++扩展。
我现在正在学习教程 我已经创建了两个文件定制c++;扩展错误:粘贴“;pybind11_init”;和“‘;乙状结肠’”;未提供有效的预处理令牌 我试图用PyTrac添加自定义的C++扩展。,c++,pytorch,pybind11,C++,Pytorch,Pybind11,我现在正在学习教程 我已经创建了两个文件 project/ main.py sigmoid.cpp main.py from torch.utils.cpp_extension import load lltm_cpp = load(name=‘sigmoid’, sources=[‘sigmoid.cpp’], verbose=True) sigmoid.cpp #include <torch/extension.h> #include <iostream&g
project/
main.py
sigmoid.cpp
main.py
from torch.utils.cpp_extension import load
lltm_cpp = load(name=‘sigmoid’, sources=[‘sigmoid.cpp’], verbose=True)
sigmoid.cpp
#include <torch/extension.h>
#include <iostream>
torch::Tensor d_sigmoid(torch::Tensor z) {
auto s = torch::sigmoid(z);
return (1 - s) * s;
}
PYBIND11_MODULE('sigmoid', m) {
m.def('d_sigmoid', &d_sigmoid, 'sigmoid');
}
我猜:与Python不同,单引号(
PYBIND11_MODULE('sigmoid', m) {
m.def('d_sigmoid', &d_sigmoid, 'sigmoid');
}
与
看看是否有帮助。
< P>我猜:与Python不同,单引号(char
文本,因此它们只能包装单个字符,而后者用于构造字符串文本(严格来说const char*
literals)。所以试着换一个
PYBIND11_MODULE('sigmoid', m) {
m.def('d_sigmoid', &d_sigmoid, 'sigmoid');
}
与
看看这是否有帮助
PYBIND11_MODULE("sigmoid", m) {
m.def("d_sigmoid", &d_sigmoid, "sigmoid");
}