簡體   English   中英

如何在不使用 torch::from_blob 的情況下使用 C++ 數組填充 torch::jit::IValue

[英]how to populate torch::jit::IValue with C++ array without using torch::from_blob

我有一個要轉換為torch::jit::IValue的數組,這似乎可以解決問題:

auto torch_options = torch::TensorOptions().dtype(torch::kFloat32).device(device);
torch::Tensor my_tensor = torch::from_blob(
          my_array.begin(),
          {3, 20},
          torch_options); 
std::vector<torch::jit::IValue> my_input;
my_input.push_back(my_tensor);
auto output = model.forward(my_input).toTensor(); 

這可行,但有沒有辦法可以將我的數組直接轉換為torch::jit::IValue而不必將其轉換為torch::Tensor

您可以使用torch::jit::IValue::from將原始指針轉換為IValue

auto my_array = std::vector<float>{1, 2, 3};
auto my_input = std::vector<torch::jit::IValue>{torch::jit::IValue::from(my_array.data())};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM