1.下载安装cmake
2.安装且永久配置opencv(debug+release)
3.安装vs2017(开始电脑只有vs2013, 貌似不支持, 很多编译错误)
mean, std很重要,开始直接原图没有预处理进行inference, 效果很差, 加了就ok了...
std::shared_ptr<torch::jit::script::Module> module = torch::jit::load("model.pt");
module->to(torch::kCUDA);
assert(module != nullptr);
std::cout << "ok\n";
std::vector<torch::jit::IValue> inputs;
cv::Mat image;
image = cv::imread("pic.jpeg", 1);
cv::Mat image_resized;
cv::resize(image, image_resized, cv::Size(224, 224));
cv::cvtColor(image_resized, image_resized, cv::COLOR_BGR2RGB);
cv::Mat image_resized_float;
image_resized.convertTo(image_resized_float, CV_32F, 1.0 / 255);
auto img_tensor = torch::from_blob(image_resized_float.data, { 1, 224, 224, 3 }, torch::kFloat32);
cout << "img tensor loaded..\n";
img_tensor = img_tensor.permute({ 0, 3, 1, 2 });
img_tensor[0][0] = img_tensor[0][0].sub(0.485).div(0.229);
img_tensor[0][1] = img_tensor[0][1].s

本文介绍了如何使用Libtorch,包括下载安装cmake,安装opencv并进行配置,以及使用vs2017进行编译。特别强调了图像预处理的重要性,如mean和std的计算,正确预处理对模型inference效果显著。
最低0.47元/天 解锁文章
1473

被折叠的 条评论
为什么被折叠?



