DrQA详细安装教程及常见的故障解决
最近导师要求安装这个项目,本人在网上找了一些教程都只有一下简略的安装方法,也并没有说明一些常见的故障该如何来解决,所以本人这篇博客算是记录了我这几天的安装心得。 关于项目介绍这里就不细说了,直接进入正题,这里项目需要在Linux的环境下进行安装,且python版本需要在3.5以上,所以如果用Windows的装一个双系统吧,也不要尝试在虚拟机里面使用,内存消耗很大,虚拟机用起来会很卡。本
关于项目介绍这里就不细说了,直接进入正题,这里项目需要在Linux的环境下进行安装,且python版本需要在3.5以上,所以如果用Windows的装一个双系统吧,也不要尝试在虚拟机里面使用,内存消耗很大,虚拟机用起来会很卡。本人是在Windows 10下安装了Ubuntn 17.10。详细安装过程就不细说了,网上有很多。注意安装的时候,为了之后操作更加方便,尽量将系统盘设置60G以上。
这里可以先参考DrQA的官方的项目地址。但是安装过程不是很详细。我这里从0开始慢慢说起。
首先需要安装Linux版本的Anaconda3,大家可以直接到官网上去下载,然后用sudo gedit /etc/profile, 在打开的文件的最后加上export PATH=/your path/anaconda3/bin:$PATH 即你的安装路径,然后重启即可。注意有的在root用户下使用gedit命令时可能会出现没有协议,拒绝连接的错误,此时我们在切换到root用户之前执行xhost + 在切换到ROOT下就没问题了。
然后我们在终端中运行python时需要注意此时运行的python是否是刚才下载的python。需要特别注意第一行的版本信息。
之后需要安装Pytorch,可以去官网根据自身的环境条件来在主页右边选择合适的版本。我选择的是Linux ,安装方式conda, python3.6, cuda 8 ,然后就可以复制下方出现的命令直接运行自动下载安装了,如果选择和我一样的版本就可以直接运行
conda install pytorchvision cuda90 -c pytorch
来直接在线安装。比较方便,由于国内网络环境不好,下载安装时间比较长,不过据说早上的速度比较快,最好挂机来下载安装。网上还有一些可以离线安装的方法可以自行百度。装好之后我们在python里运行import torch来检测是否安装成功,如果没有报错,说明成功。
安装好这些之后就可以正式开始DrQA的安装了,运行
git clone https://github.com/facebookresearch/DrQA.git cd DrQA; pip install -r requirements.txt; python setup.py develop这样可以从项目源码网站上copy过来源码进行安装。项目需要安装CoreNLP。你可以执行
./install_corenlp.sh
来下载安装,然后按照前面的方法将安装路径加入到环境变量中
export CLASSPATH=$CLASSPATH:/path/to/corenlp/*
即可。注意,需要安装JAVA 8以上才能正常运行,安装JAVA的过程就不细说了。
安装完成后可以通过运行以下命令来测试是否安装成功。
from drqa.tokenizers import CoreNLPTokenizer
tok = CoreNLPTokenizer()
tok.tokenize('hello world').words() # Should complete immediately
之后需要下在提供的训练模型和数据,如果按照官方的提供的方法运行
./download.sh
来下载,大小7.5G,速度会很慢,我耗时一天已经把资源存到我的百度网盘里,有需要的可以评论或者私信我。
下载好后,为了方便起见,就放到DrQA文件夹内,然后解压,大小25G。不要动其中的文件。
这样就算是安装完成了,我们可以运行
python scripts/pipeline/interactive.py
来查看结果。但是有些可能会报内存错误的信息。这是由于这个项目至少需要16G的内存才能正常运行,有条件的话,我们可以安装大内存条来解决,如果没条件我们可以增加虚拟内存来解决。不过这样运行起来就很慢。增加虚拟内存方法可以参考此文章,根据本机的内存大小来分配合适的虚拟内存。这样分配完成后,在运行的话,有的还是会出现不能分配内存(OSError: [Errno 12] Cannot allocate memory)的错误,可以在开始运行之前先执行下列命令:
pip install spacy && python -m spacy download en
echo 1 > /proc/sys/vm/overcommit_memory
然后在重新开始执行 python scripts/pipeline/interactive.py或者python scripts/pipeline/interactive.py --tokenizer regexp
此时就应该可以正确运行了。
如果还有什么问题可以私信或者下方评论我。我看到会及时回复。谢谢!
转载:https://blog.csdn.net/qq_32027689/article/details/79516525
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu | AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu |
更多推荐
所有评论(0)