c++ で PyTorch モデルを呼び出す方法は何ですか?
PyTorchモデルをC++で呼び出すには、PyTorch C++ APIを使用する必要があります。以下は、モデルの読み込み、入力データのロード、モデルの実行方法を示す基本的なC++コードの例です。
#include <torch/script.h>
#include <torch/torch.h>
int main() {
// 加载模型
std::string model_path = "path_to_model.pt";
torch::jit::script::Module module = torch::jit::load(model_path);
// 创建输入张量
std::vector<float> input_data = {1.0, 2.0, 3.0, 4.0};
torch::Tensor inputs = torch::from_blob(input_data.data(), {1, 4});
// 将输入张量传递给模型
std::vector<torch::jit::IValue> inputs_list;
inputs_list.push_back(inputs);
torch::jit::IValue output = module.forward(inputs_list);
// 提取输出张量
torch::Tensor result = output.toTensor();
std::cout << result << std::endl;
return 0;
}
PyTorch C++ APIが正しくインストールされ、path_to_model.ptが実際のモデルのパスに置き換えられていることを確認してください。コードでは、まずtorch::jit::load()を使用してモデルをロードし、入力テンソルを作成し、それをモデルのforwardメソッドに渡し、output.toTensor()で出力テンソルを取得します。
PyTorch公式ドキュメントでさらなる詳細情報や例を参照してください:https://pytorch.org/cppdocs/