在C++中实现神经网络可以使用PyTorch C++ API。以下是一个简单的示例:
#include// 定义一个简单的神经网络模型 struct Net : torch::nn::Module { Net() { // 定义网络层 fc1 = register_module("fc1", torch::nn::Linear(784, 128)); fc2 = register_module("fc2", torch::nn::Linear(128, 10)); } // 前向传播函数 torch::Tensor forward(torch::Tensor x) { x = torch::relu(fc1(x)); x = fc2(x); return x; } // 定义网络层 torch::nn::Linear fc1{nullptr}, fc2{nullptr}; }; int main() { // 创建神经网络模型 Net model; // 创建输入数据 torch::Tensor input = torch::randn({1, 784}); // 前向传播 torch::Tensor output = model.forward(input); // 打印输出 std::cout << output << std::endl; return 0; }
在这个示例中,首先定义了一个简单的神经网络模型Net
,模型包含两个全连接层。然后在主函数中创建了模型实例,定义了输入数据,进行前向传播并打印输出。
需要注意的是,为了使用PyTorch C++ API,你需要在编译时链接PyTorch C++库,并且安装正确的依赖项。更多关于PyTorch C++ API的信息可以参考PyTorch官方文档。