Win10编译安装libtorch+torchvision

Win10配置libtorch+torchvision

因为要在win10操作系统的C++环境调用pytorch的faster-rcnn模型,只有libtorch貌似不够用,还需要torchvision,而在win10操作系统torchvision只能源码编译安装。以下是我的配置过程即踩坑过程,记录一下。


一、libtorch安装

torchvision的安装依赖libtorch。它是pytorch的c++接口版本。libtorch的安装非常简单,因为它是编译好的,下载解压就可以。它有两个版本Release和Debug根据需要自行选择。另外一定注意它需要和pytorch是一个版本的!!!
下载地址:
libtorch最新版:pytorch官网
其他的win10版本可参考这个大佬的博客:[LibTorch & Win] 各版本 LibTorch 下载

二、torchvision编译安装

1.下载源码

我pytorch是1.7.0因此需要torchvision0.8.0。源码Git一下或者直接去官网下载,找到对应的版本。
下载地址:https://github.com/pytorch/vision

2.安装pybind

需要有CMake,版本最好是新版。安装完CMake,打开cmd命令行输入下面指令即可,注意路径。

git clone https://github.com/pybind/pybind11.git
cd pybind11
mkdir build
cd build
cmake -DPYBIND11_TEST=OFF -DCMAKE_INSTALL_PREFIX="\where\to\install\pybind11" .. 
cmake --install .
cmake报错的话!看这个: 因为c++编译器它是默认使用的VS的32位编译器,如果使用的python是64位的就会报错。 解决方式就把cmake那一句替换为下面指令,然后再install。(其实就是指定一下64位的编译器。至于具体是哪个VS版本,要根据自己的安装的版本进行替换,这个报错信息里面有提示)
cmake -DPYBIND11_TEST=OFF -DCMAKE_INSTALL_PREFIX="\where\to\install\pybind11" .. -G"Visual Studio 15 2017" -A x64

3.安装libjpeg和zlib

接下来使用conda的命令行在环境中安装两个包。

conda install -c conda-forge libjpeg-turbo
conda install -c anaconda zlib

这步是因为torchvision的CMakeLists.txt中有这么几行:

find_package(Python3 COMPONENTS Development)
find_package(Torch REQUIRED)
find_package(PNG REQUIRED)
find_package(JPEG REQUIRED)

意思是除了libtorch,PNG和JPEG也是这里需要的。不安装这俩东西的话后面会报错。

4. build torchvision

这里是Debug版本,如有需要,可以把BUILD_TYPE改成Release。根据libtorch版本进行更改。

git clone https://github.com/pytorch/vision.git
cd vision
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH="\where\libtorch;\where\pybind11" .. -DCMAKE_INSTALL_PREFIX="\where\to\install\torchvision" -DCMAKE_BUILD_TYPE=Debug -G"Visual Studio 15 2017" -A x64

Win10编译安装libtorch+torchvision_第1张图片

完成后build文件夹应该会生成这些东西:
Win10编译安装libtorch+torchvision_第2张图片
到这里build完成。

你可能感兴趣的:(学习笔记,pytorch,cmake,windows)