[英]Create a torch::Tensor from C/C++ array without using "from_blob(...)..."
[英]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.