transition_amr_parser是IBM公司开源的AMR paraing和AMR text-to-generation工具,在NLP领域中经常会用到,但是这个安装过程中可能会存在很多坑,transition_amr_parser的github主页安装教程不清晰,Python各种第三方包相互依赖,显卡驱动和torch版本匹配不上,导致出现大量的奇怪的错误。这里展示了我在ubuntu20.04、cuda为11.3环境下安装transition_amr_parser 0.3.3/transition_amr_parser 0.5.2/为例,两个版本都亲测安装成功。
下载对应版本的transition_amr_parser
可以通过transition_amr_parser的github主页进行下载你所需要的版本,如下图所示:
安装
新建一个虚拟的python环境,并切换到该环境下进行安装对应的依赖,首先安装torch,由于安装过程中经常会提示torch和cuda版本不匹配,所以就从官网找到对应cuda版本的torch,我的版本为11.3,所以可以安装pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113,更多版本的可以查看Pytorch安装官网。一定要下载和自己版本一致的torch,否则会出错,查看cuda版本指令为nvcc -V。
然后切换到下载的transition_amr_parser目录中来,打开对应的README文件,里面有详细的教程,以0.3.3为例,如下图所示:
可以省略torch的安装,并且先切换到scripts/stack-transformer/requirements.txt文件中,将torch的安装注释掉,否则又会重新安装torch,将会出现各种问题。
等所有的安装完成后,就可以随意变化你的torch版本,但是一般高版本兼容低版本,所以也可以不切换到低版本torch。
这也是针对AMR-IE事件抽取环境安装的整理。
测试自己是否安装成功,预训练模型下载地址,需要科学上网:
in_checkpoint = "path/to/your/checkpoint_best.pt" from transition_amr_parser.stack_transformer_amr_parser import AMRParser parser = AMRParser.from_checkpoint(in_checkpoint) annotations = parser.parse_sentences([['The', 'boy', 'travels'], ['He', 'visits', 'places']]) print(annotations[0]) print(annotations[1])