一.虚拟环境
主环境的0.9版fairseq还需要使用,并且安装0.10.1的fairseq还需要使用主环境的一些依赖,于是创建虚拟环境安装,并且是复制主环境的虚拟环境。(有隐患)
conda create -n new-env --clone old-env
进入虚拟环境:
conda activate new-env
报错:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
解决:
source activate
二.cuda和cudnn配置
1.cuda
export LD_LIBRARY_PATH="XXX/cuda-10.2/lib64:$LD_LIBRARY_PATH"
export CUDA_HOME="XXX/cuda-10.2/"
export PATH="XXX/cuda-10.2/bin:$PATH"
2.cudnn
下载地址:
https://developer.nvidia.com/rdp/cudnn-archive
选项:
扫描二维码关注公众号,回复:
14695098 查看本文章
配置:
①解压包
mkdir cudnn
tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz -C ./cudnn
②配置
cp cudnn/include/cudnn.h XXX/cuda-10.2/include
cp cudnn/include/libcudnn* XXX/cuda-10.2/lib64
#libcudnn*之间是有软链接的,直接cp不行的话,打包复制到对应目录再解压就可以了
chmod a+r XXX/cuda-10.2/cudnn.h XXX/cuda-10.2/lib64/libcudnn*
三.配置torch
下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
安装:
conda install --use-local pytorch-1.5.1-py3.6_cuda10.2.89_cudnn7.6.5_0.tar.bz2
#-py3.6_cuda10.2.89_cudnn7.6.5_0.tar.bz2 仅表示对应版本
四.安装fairseq 0.10.1
下载:
https://github.com/pytorch/fairseq/releases/tag/v0.10.1
安装:
tar -xvf fairseq-0.10.1.tar.gz
cd fairseq-0.10.1
python setup build develop
报错:
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
解决:
fairseq安装过程对gcc版本要求苛刻,gcc 5.4 无法编译,换成gcc 7可以解决该问题。(重新编译需要删除build文件)
运行fairseq训练代码报错:
ImportError: Please build Cython components with: `pip install --editable .` or `python setup.py build_ext --inplace`
解决:
下载安装Cython包。(解决的不是很清晰,因为安装包后一开始依然报错)
五.其他报错
报错:
OSError: libcudart.so.10.0: cannot open shared object file: No such file or directory
#import fairseq报错
解决:
下载cudatoolkit,解压后找到缺少的文件,缺少哪个动态库文件就把相关文件放在XXX/cuda-10.2/lib64路径下。(比较暴力,没有正常使用cudatoolkit)
六.备注
1.包下载源
https://anaconda.org/#更稳一点
https://pypi.org/
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
2.安装方式
#1
conda/pip install --use-local xxx.tar.gz/xxx.whl
#2.
tar -xvf xxx.tar.gz
cd xxx
python setup.py install
#离线环境第二种方式好用,可以看到安装过程,而第一种会直接报网络连接错误。
python setup.py build develop
#编译、安装过程更清晰
3.
虽然是在虚拟环境进行的安装,但是fairseq包还是出现在了其他环境(其他包都没有,例如torch),导致其他环境有点小甭,所以还是不建议虚拟环境上安装fairseq。