之前安装DrQA遇到一些坑,在windows系统,cenos安装都安装了,都没成功,最后在Ubuntu上安装才能运行成功,在这里整理了一下在Ubuntu系统上的安装步骤
Vmware安装步骤简单就不用户说了。然后安装Ubuntu 这里是我用的版本Ubuntu下载
我这里安装的是桌面版,安装系统建议内存尽量大一些,我运行内存用的8G,存储空间用的40G,因为之后下载数据就有7.5G
sudo apt-get install git
根据提示
apt-get update
这里遇到了一个错误(未遇到请忽略)
ubuntu常见错误–Could not get lock /var/lib/dpkg/lock解决
通过终端安装程序sudo apt-get install xxx时出错:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it
出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单:
在终端中敲入以下两句
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
然后再 sudo apt-get install git
就可以成功了
Anaconda是一个用于科学计算的Python发行版,支持Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。 安装步骤如下:
(1)从https://repo.continuum.io/archive/index.html上下载对应版本的Anaconda版本,解压到指定位置并进入目录。
(2) 运行命令 bash Anaconda3-5.2.0-Linux-x86_64.sh
进行安装。
(3) 运行 echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
进行配置。
(4)运行命令 source ~/.bashrc
使配置生效。
命令下输入 anaconda -V
检验是否安装成功
之后遇到的问题(未遇到请忽略)
Ubuntu 下Anaconda3出现 conda:command not found(未找到命令)
问题:anaconda: command not found
解决方案:
打开Terminal
1、使用命令:sudo apt install vim
安装vim文本编辑器
2、使用命令:vim ~/.bashrc
修改环境变量
3、在文本最后添加命令:export PATH=~/anaconda3/bin:$PATH
4、重启环境变量:source ~/.bashrc
5、输入:anaconda -V
6、显示:anaconda Command line client (version 1.6.14)
PyTorch一个基于Python的科学计算包,是DrQA的必备计算包。注意!DrQA官网上如此描述:DrQA requires Linux/OSX and Python 3.5 or higher. It also requires installing PyTorch (version 0.4.0 is not supported yet),所以建议安装0.4以下的PyTorch,可以访问https://pytorch.org/ 根据自身相应的配置生成安装命令。
在装了Anaconda后,
conda install pytorch -c pytorch
ip3 install torchvision
即可自动安装PyTorch及依赖包。
这部分在DrQA的github上有很详细的介绍。具体流程如下:
git clone https://github.com/facebookresearch/DrQA.git
cd DrQA
pip install -r requirements.txt
python setup.py develop
Requirements.txt记录了DrQA系统依赖的各种包,执行命令后便会自动下载安装并更新。
报错
unable to execute ‘gcc’: No such file or directory
error: Setup script exited with error: command ‘gcc’ failed with exit status 1
解决方法:
sudo apt-get install python-dev
tokenizer可以有两种选择,一种是斯坦福的CoreNLP,另外一种是Spacy。官网描述如下:
If you use the CoreNLPTokenizer or SpacyTokenizer you also need to download the Stanford CoreNLP jars and spaCy enmodel, respectively. If you use Stanford CoreNLP, have the jars in your java CLASSPATH environment variable, or set the path programmatically with:
import drqa.tokenizers
drqa.tokenizers.set_default(‘corenlp_classpath’,’/your/corenlp/classpath/*’)
DrQA默认的tokenizer为CoreNlp,在DrQA文件夹下可以运行命令 ./install_corenlp.sh
进行下载安装。
安装好后可以选择自动添加到环境变量,但是有时用DrQA自动的方式添加到环境变量会不正确,建议还是按照官网的方法手动添加。如有需要用spacy的可以运行命令 python -m spacy download en。
运行命令即可自动下载数据集和词向量bash ./download.sh
下载量比较大,大约7.5G。
至此DrQA安装完成,运行python scripts/pipeline/interactive.py来尝试DrQA的demo。