博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Litorch+VS2017+Qt环境配置教程
阅读量:4074 次
发布时间:2019-05-25

本文共 1818 字,大约阅读时间需要 6 分钟。

文章目录

因为项目需要,要把pytorch模型部署到C++写的软件中,一直感觉深度学习模型工业部署还不成熟,没想到模型落地这块坑这么多。。

环境配置

  1. Visual Studio >= 2017 (2015试了很久一直报错)
  2. CUDA >= 10.2
  3. Pytorch 与 Libtorch 版本要一致
  4. Qt的话要用MSVC2017编译器

模型转换

libtorch不依赖于python,python训练好的模型,需要转换为script model才能由libtorch加载,并进行推理。

Tracing 方法:

import torchimport torchvision# An instance of your model.model = torchvision.models.resnet18()# An example input you would normally provide to your model's forward() method.example = torch.rand(1, 3, 224, 224)# Use torch.jit.trace to generate a torch.jit.ScriptModule via tracing.traced_script_module = torch.jit.trace(model, example)traced_script_module.save("traced_resnet_model.pt")

下载Libtorch

,下载Libtorch,今天发现已经更新到1.9了都,前两天还是1.8.1.呢

在这里插入图片描述
注意使用的是Realsed版本还是Debug版本,下载完成后解压

VS中环境配置

类似于配置Opencv

  1. 将《your path to》\libtorch\include 和 《your path to》\libtorch\include\torch\csrc\api\include 添加到C/C+±>附加包含目录
  2. C/C+±>SDL检查->否 (/sdl-)
  3. C/C+±>代码生成->运行库->多线程调试 (/MTd)
  4. C/C+±>语言->符合模式->否
  5. 链接器-> 常规 ->附加库目录 《your path to》\libtorch\lib
  6. 链接器->输入-> 附加依赖项
asmjit.lib;c10.lib;c10_cuda.lib;caffe2_detectron_ops_gpu.lib;caffe2_module_test_dynamic.lib;caffe2_nvrtc.lib;clog.lib;cpuinfo.lib;dnnl.lib;fbgemm.lib;libprotobufd.lib;libprotobuf-lited.lib;libprotocd.lib;mkldnn.lib;torch.lib;torch_cpu.lib;torch_cuda.lib;

Qt中环境配置

在pro文件末尾添加:

INCLUDEPATH += 《your path to》\opencv-4.5.0-vc14_vc15\opencv\build\include \《your path to》\libtorch17release\include \《your path to》\libtorch17release\include\torch\csrc\api\includeLIBS += -L《your path to》\opencv-4.5.0-vc14_vc15\opencv\build\x64\vc15\lib -lopencv_world450 \-L《your path to》\libtorch17release\lib -lc10 -ltorch -lc10_cuda -lcaffe2_detectron_ops_gpu -lc10d -ltorch_cpu \-ltorch_cuda -lgloo -lcaffe2_module_test_dynamic -lasmjit -lcaffe2_nvrtc -lclog -lcpuinfo -ldnnl -lfbgemm -lgloo_cuda \-lmkldnn -INCLUDE:?warp_size@cuda@at@@YAHXZ

成功

Reference

转载地址:http://exwni.baihongyu.com/

你可能感兴趣的文章
CentOS Tensorflow 基础环境配置
查看>>
centOS7安装FTP
查看>>
FTP的命令
查看>>
CentOS操作系统下安装yum的方法
查看>>
ping 报name or service not known
查看>>
FTP 常见问题
查看>>
zookeeper单机集群安装
查看>>
do_generic_file_read()函数
查看>>
Python学习笔记之数据类型
查看>>
Python学习笔记之特点
查看>>
shell 快捷键
查看>>
VIM滚屏操作
查看>>
EMC 2014存储布局及十大新技术要点
查看>>
linux内核内存管理(zone_dma zone_normal zone_highmem)
查看>>
将file文件内容转成字符串
查看>>
循环队列---数据结构和算法
查看>>
优先级队列-数据结构和算法
查看>>
链接点--数据结构和算法
查看>>
servlet中请求转发(forword)与重定向(sendredirect)的区别
查看>>
Spring4的IoC和DI的区别
查看>>