文章目录
- 目的
- 环境的配置
- 遇到的问题
- 总结
由于我C++接触的比较少,对编译和cmake,vs2019的使用不熟悉,以下内容仅供记录和参考。有其他问题可以在下面留言一起讨论。
目的
目前关于深度学习模型的C++部署内容比较少,打算配置caffe2在win10上,使用c++调用caffe2模型进行深度学习的部署。因为caffe2已经合并入pytorch,所以我直接从源码编译pytorch进行caffe2的c++安装。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境的配置
由于先在ubuntu下进行配置成功,后需要在windows上重新配置,就直接使用ubuntu上下载的源码,本以为没有影响,还是草率了。。
下面是下载源码和第三方库的方式,直接下载zip文件会丢失第三方包。
这个intel-openmp包不装在编译完成后可能会遇到问题。
pip install intel-openmp
git clone --recursive https://github.com/pytorch/pytorch
git submodule update --init --recursive
这样源码和依赖的第三方包就下好了。第三方包在 pytorch/third_party 的下面。非常的重要,因为编译过程中大部分错误可能是第三方包的原因!!!
二、遇到的问题
1.使用ninja编译
pip install ninja
然后用pip安装pytorch/requirements.txt下面的包。
之后进行编译安装,在cmd下运行下面的代码报错,但在vs2019 X64开发者工具下运行就可以。。
python setup.py build --cmake
我遇到了MKD_DNN的问题,直接关闭即可。可能是我MKL没装好还是怎么样,其他人不一定用得上。
set USE_MKLDNN=0
遇到其他类似的问题也可以像上面那样关闭一些功能。然后再次运行下面的代码进行编译就可以了。。
python setup.py build --cmake
顺利的话,没有保存,warning一堆不用慌。
然后运行
python setup.py install
Yes ! this worked~上一步没有问题的话,这一步就很快。
2.vs2019编译(没试过)应该可行
:: [Optional] If you want to build with VS 2019 generator, please change the value in the next line to `Visual Studio 16 2019`.
:: Note: This value is useless if Ninja is detected. However, you can force that by using `set USE_NINJA=OFF`.
set CMAKE_GENERATOR=Visual Studio 16 2019
:: Read the content in the previous section carefully before you proceed.
:: [Optional] If you want to override the underlying toolset used by Ninja and Visual Studio with CUDA, please run the following script block.
:: "Visual Studio 2017 Developer Command Prompt" will be run automatically.
:: Make sure you have CMake >= 3.12 before you do this when you use the Visual Studio generator.
set CMAKE_GENERATOR_TOOLSET_VERSION=14.11
set DISTUTILS_USE_SDK=1
for /f "usebackq tokens=*" %i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version [15^,16^) -products * -latest -property installationPath`) do call "%i\VC\Auxiliary\Build\vcvarsall.bat" x64 -vcvars_ver=%CMAKE_GENERATOR_TOOLSET_VERSION%
:: [Optional] If you want to override the cuda host compiler
set CUDAHOSTCXX=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe
python setup.py install
上面是readme中关于windos下安装的说明。可以参考
总结
首先要确定源码和第三方库的下载完整和下载方式。
同时要考虑一些版本的问题,比如pytorch要求最低的vs版本为2017以上,还有cmake版本等等。。