在C++中實現神經網絡可以使用PyTorch C++ API。以下是一個簡單的示例:
#include <torch/torch.h>
// 定義一個簡單的神經網絡模型
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官方文檔。