windows下编写libtorch库

  1. 很多时候使用官方的库没什么大问题,也很方便,但有时候也需要使用源码编写库。这里碰到一个
    问题需要编写pytorch的libtorch库,记录一下大致步骤与问题;

  2. 下载源码:从官方克隆最新的代码的时候要加入recursive这个参数,因为Pytorch本身需要很多的第三方库参与编译:git clone --recursive https://github.com/pytorch/pytorch

  3. 启动Anaconda虚拟环境(建议搭建一个纯净的虚拟环境),不知道如何搭建虚拟环境的,可以去这里进行参考,不必安装深度框架,仅需要确定python版本问题就行;

  4. 虚拟环境之下安装好pytorch需要的依赖包pip install ninja pyyaml mkl mkl-include setuptools cmake cffi typing -i https://pypi.tuna.tsinghua.edu.cn/simple利用清华镜像安装速度会快一些。这里面ninja可以大大加快编译速度,而且在编译过程中提示的错误信息更加完整和详细,如果我们想使用ninja来编译,那么直接在当前的python环境中pip install ninja即可。Pytorch的安装程序会自动查找当前环境中是否有ninja,如果有的话,则优先使用ninja进行编译。具体代码如下:windows下编写libtorch库_第1张图片

  5. 没有ninja也没关系,只是编译时间快慢问题,这里可以看到默认是VS2017编译器,可以切换VS2019在代码里面进行更改就行代码位置(\pytorch\tools\setup_helpers\cmake.py)。但是切记VS对应CUDA10.0,如果是CUDA10.1及其以上,那么才需要切换VS版本,这里不要弄错了,CUDA与VS版本是对应好的。

  6. 只安装libtorch库:创建build文件夹,在里头执行python ../tools/build_libtorch.py,等着运行就行,编译时间较长大约一两小时,耐心等待。

参考:https://oldpan.me/archives/pytorch-build-simple-instruction
https://blog.csdn.net/weixin_40448140/article/details/105345593

你可能感兴趣的:(Anoconda,Pytorch,libtorch,深度学习,pytorch)