windows c++调用Pytorch模型的过程

时间:2024-04-06 08:04:48

pytorch在windowss,linux,mac都可以运行,在此记录本次工作中遇到的在windows的应用:
一、安装python的方式有三种:
1、Chocolatey:
2、Python website:
3、Anaconda:
二、管理Pytorch库的有Anaconda和pip:
要安装Pytorch,这两个必须有其中的一个
下面是以Anaconda方式安装Pytorch
1)、先安装Anaconda 参考连接
Anaconda:https://www.anaconda.com/distribution/#windows
下载自己所需要的版本然后安装:
windows c++调用Pytorch模型的过程
2)、使用命令行安装pytorch:
使用Anaconda命令行也有三种方式:
(1)、安装cpu版本(即是没有CUDA)
conda install pytorch-cpu torchvision-cpu -c pytorch
(2)、CUDA 9.0
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
(3)、CUDA 8.X
conda install pytorch torchvision cudatoolkit=8.0 -c pytorch
(4)、CUDA 10.0
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
3)、安装依赖项:(之前没安装的时候不好用,安装之后好用了不知道是不是这个问题导致不好用)
conda install numpy pyyaml mkl mkl-include setuptools cmake cffi typing
三、安装Cmake
四、生成Torch Script

由于C++和Python读取的文件方式不同,所以在使用C++调用之间先把训练生成的模型文件转换成Torch Script,这样子就可以使用C++进行调用了!
写一个test.py文件然后运行生成model.pt文件windows c++调用Pytorch模型的过程
windows c++调用Pytorch模型的过程
五、下载libtorch文件(本片是CPU版)windows c++调用Pytorch模型的过程
下载之后解压,解压之后的文件目录为:windows c++调用Pytorch模型的过程
六、编写C++程序

我们在任意位置建立一个文件夹Ptest,并把下面的C++测试代码存为一个cpp文件,放到这个文件夹中,并命名为example-app.cpp,代码:windows c++调用Pytorch模型的过程
还要建立一个CMakeLists.txt,注意文件名需要根据自己设置的进行修改,我这里是example-app.cpp,并在CMakeLists.txt中写入以下语句:
windows c++调用Pytorch模型的过程
再创建一个空的build文件夹:
然后目录的结构如下:
windows c++调用Pytorch模型的过程
完成之后,用CMake编译windows c++调用Pytorch模型的过程
windows c++调用Pytorch模型的过程
cmake -DCMAKE_PREFIX_PATH=D:\libtorch\libtorch-win-shared-with-deps-latest\libtorch -DCMAKE_BUILD_TYPE=Release …
(或者运行:
D:\example\build>cmake -DCMAKE_PREFIX_PATH=D:\opencv4\opencv\build\x64\vc15\lib;D:\libtorch-gpu -DCMAKE_BUILD_TYPE=Release -G “Visual Studio 14 Win64” …
进入build目录
cmake -DCMAKE_PREFIX_PATH=D:\libtorch\libtorch-win-shared-with-deps-latest\libtorch -DCMAKE_BUILD_TYPE=Release …)
windows c++调用Pytorch模型的过程
如果缺少dll文件的话,就把libtorch下的dll文件放在Debug和Release目录下

自己工作中总结