源码编译pytorch 1.0 遇到的问题

一、问题1
	pytorch-stable/third_party/ideep/mkl-dnn/src/cpu/ref_rnn.cpp: 在成员函数‘void 
mkldnn::impl::cpu::_ref_rnn_common_t<aprop>::pack_weights(int, int, int, int, 
int, int, int, float**, int, int*, const float*, float*, bool)’中:
	pytorch/third_party/ideep/mkl-dnn/src/cpu/ref_rnn.cpp:891:36: 错误:‘float* 
	cblas_sgemm_alloc(CBLAS_IDENTIFIER, int, int, int)’ is deprecated [-Werror=deprecated-declarations]
			weights(i, d, p) = cblas_sgemm_alloc(CblasAMatrix, m_p, n, k_p);
解决方法:
降低mkl和mkl-include的版本:将版本从2019.3或2019.4降低为2019.1,即安装的时候指定版本即可。
conda install mkl==2019.1 mkl-include==2019.1 
二、问题2
Failed to run 'bash ../tools/build_pytorch_libs.sh --use-cuda --use-fbgemm --use-nnpack 
--use-mkldnn --use-qnnpack caffe2'
解决方法:
clone 1.0版本的pytorch:
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
git checkout v1.0.0
git submodule update --recursive
python setup.py install
注:两个问题主要应该是问题1中版本不对的原因,问题1解决了问题2编译时没有出现。
三、源码编译pytorch步骤:
1、On Linux
	export CMAKE_PREFIX_PATH="$(dirname $(which conda))/../" # [anaconda root directory]
2、Install basic dependencies 
	conda install numpy pyyaml  mkl==2019.1 mkl-include==2019.1  setuptools cmake cffi typing
	conda install -c mingfeima mkldnn	
3、Add LAPACK support for the GPU
	conda install -c pytorch magma-cuda90  # or [magma-cuda80 | magma-cuda91] depending on your cuda version
4、Install PyTorch
	git clone --recursive https://github.com/pytorch/pytorch
	cd pytorch
	git checkout v1.0.0
	git submodule update --recursive
	python setup.py install
四、编译成功后import torch可能出现错误:
	ModuleNotFoundError: No module named 'torch._C'
解决方法:
1、进入pytorch编译的conda环境的torch目录,如cd /home/eric/Disk500G/software/miniconda3
/envs/pytorch1.0_build/lib/python3.6/site-packages/torch (编译的conda环境)
2、修改_C.***.so和_dl.***.so两个so文件
	cp _C.cpython-36m-x86_64-linux-gnu.so  _C.so
	cp _dl.cpython-36m-x86_64-linux-gnu.so  _dl.so
3、退出当前目录,重新import torch成功。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值