pytorch yolov3 代码详解_PyTorch C++ libtorch的使用方法(1)-nightly 版本的 libtorch
问题描述:
按照PyTorch中文教程的【 在 C++ 中加载 PYTORCH 模型 】一文,尝试调用 PyTorch模型。
1. 例子来源
在 C++ 中加载 PYTORCH 模型
我是使用Qt新建纯C++工程,然后CMake编译、运行的,直接贴代码:
1.1 C++代码
main.cpp
#include <torch/script.h> // One-stop header.
#include <torch/torch.h>
#include <iostream>
#include <memory>using namespace std;int main()
{// std::shared_ptr<torch::jit::script::Module> module = torch::jit::load(
// "/home/book/Jupyterlab work/model.pt");torch::jit::script::Module module = torch::jit::load("/home/book/Jupyterlab work/model.pt");// Create a vector of inputs.std::vector<torch::jit::IValue> inputs;inputs.push_back(torch::ones({1, 3, 224, 224}));// Execute the model and turn its output into a tensor.at::Tensor output = module.forward(inputs).toTensor();std::cout << output.slice(/*dim=*/1, /*start=*/0, /*end=*/5) << 'n'; //与前面python的输出是一样的!std::cout << "okn";
}
那么我遇到的与原例子冲突的地方是:
//原例子中的代码:
std::shared_ptr<torch::jit::script::Module> module = torch::jit::load(argv[1]);//我改后的代码:
torch::jit::script::Module module = torch::jit::load(argv[1]);
使用原例子中的代码,会报出如下的错误:
/home/book/qt5.12/example-app/main.cpp:16: error:
conversion from ‘torch::jit::script::Module’ to non-scalar type ‘std::shared_ptr<torch::jit::script::Module>’ requested
std::shared_ptr<torch::jit::script::Module> module = torch::jit::load( ^
解决方案:
conversion to non-scalar type torch::jit::load("model.pt") · Issue #22382 · pytorch/pytorch
但是,这也引入了新的问题,'nightly build' 表示什么?联系到前面下载LibTorch时的下载地址,其中也出现了'nightly',二者之间是不是有所关联,难道我下载的LibTorch版本不对?
貌似nightly build 版本意思是没有正式发布的,这种说法有待考证。
1.2 CMakeLists.txt
cmake_minimum_required(VERSION 3.5)project(example-app LANGUAGES CXX)set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)set(Torch_DIR /home/book/libtorch/share/cmake/Torch)
find_package(Torch REQUIRED)add_executable(example-app main.cpp)
target_link_libraries(example-app "${TORCH_LIBRARIES}")
set_property(TARGET example-app PROPERTY CXX_STANDARD 11)
可能会用到的链接:
(1)libtorch初体验 - 一度逍遥 - 博客园 (加载 "xxx.pt" 模型)
(2)ubuntu16.04改变桌面图标大小显示-百度经验 (ubuntu 使用技巧)
(3)pytorch/pytorch
(4)Update our cpp export tutorial by Krovatkin · Pull Request #560 · pytorch/tutorials
(5)conversion to non-scalar type torch::jit::load("model.pt") · Issue #22382 · pytorch/pytorch (靠这个解决的问题!)
(6)walktree/libtorch-yolov3
pytorch yolov3 代码详解_PyTorch C++ libtorch的使用方法(1)-nightly 版本的 libtorch相关推荐
- yolov3代码详解(七)
Pytorch | yolov3代码详解七 test.py test.py from __future__ import divisionfrom models import * from utils ...
- Keras YOLOv3代码详解(三):目标检测的流程图和源代码+中文注释
Keras YOLOv3源代码下载地址:https://github.com/qqwweee/keras-yolo3 YOLOv3论文地址:https://pjreddie.com/media/fil ...
- yoloV3代码详解(注释)
原文链接:https://www.cnblogs.com/hujinzhou/p/guobao_2020_3_13.html yolo3各部分代码详解(超详细) </h1><div ...
- yolov3代码详解_代码资料
faster RCNN TensorFlow版本: 龙鹏:[技术综述]万字长文详解Faster RCNN源代码(一) buptscdc:tensorflow 版faster rcnn代码理解(1) l ...
- fasterrcnn tensorflow代码详解_pytorch目标检测代码的一些bug调试
这几天一直在做调包侠,是时候来总结总结了.记录一些我所遇到的不常见的问题. faster rcnn: 参考代码: jwyang/faster-rcnn.pytorchgithub.com pytor ...
- YOLOv3 代码详解(2) —— 数据处理 dataset.py解析:输入图片增强、制作模型的每层输出的标签
前言: yolo系列的论文阅读 论文阅读 || 深度学习之目标检测 重磅出击YOLOv3 论文阅读 || 深度学习之目标检测yolov2 论文阅读 || 深度学习之目标检测yolov1 该篇讲解的 ...
- Pytorch | yolov3原理及代码详解(一)
YOLO相关原理 : https://blog.csdn.net/leviopku/article/details/82660381 https://www.jianshu.com/p/d13ae10 ...
- 标准oc算法的推导与99行代码详解
文章目录 标准oc算法的推导与代码详解 问题描述 OC算法的数学描述 结果展示 OC算法的matlab代码及注释 参考文献 标准oc算法的推导与代码详解 对于变密度的参数化方法,设计变量x为材料相对密 ...
- Pytorch | yolov3原理及代码详解(二)
阅前可看: Pytorch | yolov3原理及代码详解(一) https://blog.csdn.net/qq_24739717/article/details/92399359 分析代码: ht ...
最新文章
- 【转】C++ const用法 尽可能使用const
- python turtle 绘图速度用函数会快吗_有趣的Python turtle绘图
- yii2 ajax分页,Yii框架分页技术实例分析
- 7005.element-ui组件
- quartz集群重复调度的解决
- Hvv近期0day总结五
- 利用服务端session保存用户信息
- excel游戏_Excel集中游戏
- Java SE学习练习题--IO、List 配合使用
- win10默认壁纸位置
- 安利一个很棒的html背景图片网站
- Roundpic:超简单的在线图片圆角处理~
- 优酷视频如何登录优酷账号?
- selenium 浏览器复用(java)
- perl与c相互调用
- selenium 处理多浏览器测试
- 小学生台灯哪个品牌更护眼?学习专用的护眼台灯品牌
- javascript实现的淘宝五星评价(版本2)
- 将element-plus分页组件由默认英文,改为中文
- Linux 基金会发布《开源软件供应链安全报告》