pytorch c++ API + VS2017

本文介绍了如何在VS2017中使用PyTorch C++ API调用预先训练的模型,强调了版本匹配、库配置和性能比较。调试版本较慢,Release版本性能与Python相当。建议Python用于训练和测试,C++适用于部署。

C++ 的程序如何调用Pytorch训练完的模型,最简单和有效的方法就是直接使用Pytorch c++ API. 网上这方面的资料并不多,遇过很多坑,想留下一点记录。

1. 版本

首先要确认python中的pytorch的版本,在对应下载c++ API.  如果没有对应,后续就会遇到模型导入问题。 因为Pytorch的模型是需要序列化以后才可以给C++使用,版本不匹配会导致导入后使用问题。 

2. VS2017 配置

下载完官网提供的LIB,需要设置include和library。我自己下载是libtorch-win-shared-with-deps-1.8.1+cpu 和libtorch-win-shared-with-deps-debug-1.8.1+cpu。 因为测试需要,我还配置了opencv. 

配置include: 

opencv\build\include           libtorch-win-shared-with-deps-debug-1.8.1+cpu\libtorch\include      libtorch-win-shared-with-deps-debug-1.8.1+cpu\libtorch\include\torch\csrc\api\include

配置Lib

把libtorch/lib里面所有的lib都要写进去,不然编译不过

3. 使用调用

python: 序列化 需要用 torchscript https://pytorch.org/docs/stable/jit.html 

traced = torch.jit.trace(model, (torch.rand(batch_size,channel, input_h,input_w)))
traced
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值