-
很多时候使用官方的库没什么大问题,也很方便,但有时候也需要使用源码编写库。这里碰到一个
问题需要编写pytorch的libtorch库,记录一下大致步骤与问题; -
下载源码:从官方克隆最新的代码的时候要加入recursive这个参数,因为Pytorch本身需要很多的第三方库参与编译:
git clone --recursive https://github.com/pytorch/pytorch
-
启动Anaconda虚拟环境(建议搭建一个纯净的虚拟环境),不知道如何搭建虚拟环境的,可以去这里进行参考,不必安装深度框架,仅需要确定python版本问题就行;
-
虚拟环境之下安装好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进行编译。具体代码如下: -
没有ninja也没关系,只是编译时间快慢问题,这里可以看到默认是VS2017编译器,可以切换VS2019在代码里面进行更改就行代码位置(\pytorch\tools\setup_helpers\cmake.py)。但是切记VS对应CUDA10.0,如果是CUDA10.1及其以上,那么才需要切换VS版本,这里不要弄错了,CUDA与VS版本是对应好的。
-
只安装libtorch库:创建build文件夹,在里头执行
python ../tools/build_libtorch.py
,等着运行就行,编译时间较长大约一两小时,耐心等待。
参考:https://oldpan.me/archives/pytorch-build-simple-instruction
https://blog.csdn.net/weixin_40448140/article/details/105345593
我叫谢琛,深度学习探索者一枚!(有意咨询xiec177)
tensorflow/pytorch交流群请加QQ:548368797
更多咨询咨询请关注!