在C++中使用PyTorch實現深度學習可以借助LibTorch,它是PyTorch的C++前端庫。以下是一個簡單的示例代碼,展示如何在C++中使用PyTorch進行簡單的線性回歸任務:
#include <torch/torch.h>
int main() {
// 創建訓練數據
torch::Tensor x_train = torch::randn({1000, 1});
torch::Tensor y_train = 3 * x_train + 2 + 0.1 * torch::randn({1000, 1});
// 定義模型
torch::nn::Linear model(1, 1);
torch::optim::SGD optimizer(model->parameters(), 0.01);
// 訓練模型
for (int epoch = 0; epoch < 100; epoch++) {
optimizer.zero_grad();
torch::Tensor y_pred = model(x_train);
torch::Tensor loss = torch::mse_loss(y_pred, y_train);
loss.backward();
optimizer.step();
}
// 測試模型
torch::Tensor x_test = torch::randn({10, 1});
torch::Tensor y_pred = model(x_test);
std::cout << "Predictions: " << y_pred << std::endl;
return 0;
}
在這個示例中,我們首先創建了訓練數據x_train
和y_train
,然后定義了一個簡單的線性模型model
,使用隨機梯度下降優化器進行訓練,并進行模型的測試。需要注意的是,為了使用PyTorch的C++前端庫,您需要在編譯時鏈接LibTorch庫。更多關于LibTorch的用法和配置信息,您可以查閱PyTorch官方文檔。