PyTorch C++
PyTorch C++ là API C++ (Giao diện lập trình ứng dụng) cho PyTorch. Nó còn được gọi là LibTorch, là thư viện cung cấp gần như tất cả chức năng của PyTorch có thể truy cập thông qua ngôn ngữ C++. Mục tiêu chính của việc cung cấp API C++ là cho phép tích hợp hiệu suất cao với các nền tảng học sâu khác và cho phép hoạt động liền mạch trong các hệ thống cấp doanh nghiệp và sản xuất.
Cài đặt
Để sử dụng API PyTorch C++, bạn cần cài đặt bản phân phối LibTorch. Làm theo hướng dẫn trên trang API PyTorch C++ chính thức để cài đặt thư viện dựa trên nền tảng và yêu cầu của bạn.
Ví dụ: Tensors
#include <iostream>
#include <torch/torch.h>
int main() {
// Tạo ma trận 3x3 với các số không.
torch::Tensor a = torch::zeros({3, 3});
std::cout << a << std::endl;
// Tạo ma trận 2x2 với hàng đơn vị và chuyển thành float.
torch::Tensor b = torch::ones({2, 2}).to(torch::kFloat);
std::cout << b << std::endl;
// Tạo một tensor ngẫu nhiên có kích thước 2x2 và chỉ định loại của nó.
torch::Tensor c = torch::randint(0, 10, {2, 2}, torch::kInt);
std::cout << c << std::endl;
// Thực hiện phép cộng từng phần tử.
auto sum = b + c.to(torch::kFloat);
std::cout << sum << std::endl;
}
Ví dụ: Tạo một mô-đun tùy chỉnh
#include <iostream>
#include <torch/torch.h>
// Xác định một mô-đun tùy chỉnh.
struct Net : torch::nn::Module {
Net() {
fc1 = register_module("fc1", torch::nn::Linear(784, 64));
fc2 = register_module("fc2", torch::nn::Linear(64, 10));
}
torch::Tensor forward(torch::Tensor x) {
x = x.view({-1, 784});
x = torch::relu(fc1->forward(x));
x = torch::log_softmax(fc2->forward(x), 1);
return x;
}
torch::nn::Linear fc1{nullptr};
torch::nn::Linear fc2{nullptr};
};
int main() {
// Tạo một phiên bản của mô-đun tùy chỉnh.
Net net;
// Sử dụng mô-đun tùy chỉnh.
torch::Tensor input = torch::randn({2, 1, 28, 28});
torch::Tensor output = net.forward(input);
std::cout << output << std::endl;
return 0;
}
Trong các ví dụ này, chúng tôi đã trình bày cách sử dụng các hoạt động tensor khác nhau và cách tạo mô-đun mạng nơ-ron tùy chỉnh bằng PyTorch C++. Để biết thêm thông tin chi tiết và hướng dẫn, hãy truy cập tài liệu chính thức về C++ của PyTorch.