论文:A Span-Based Model for Joint Overlapped and DiscontinuousNamed Entity Recognition_pepsi_w的博客-CSDN博客
因为搞这个复现的环境弄了很久才跑通,记录一下。
介绍一下我的环境:window10 +cpu + pycharm + miniconda
1. 下载代码文件:文中有给出GitHub地址(https://github.com/foxlf823/sodner),直接下载下来就好了
2. readme中说要求python=3.6的版本,在创建虚拟环境的时候就选择好。
3. 在对应的虚拟环境中,使用以下命令安装requirement.txt文件中提到的包。注意:这里需要cd到当前目录才能读到requirements文件。
这里安装到torch的时候会报错,会显示没有对应的版本。因此这里pytorch的环境是我单独安装的(也就是将torch安装好后,在requestments中删除torch==1.6.1,再执行上诉命令),具体的可以参考其他博客。大概就是去官网PyTorch,找到自己设备对应的版本,然后复制命令安装即可。但是!我这个环境不知道怎么回事,反正这样安装还是说找不到该版本!报错中有个网址,点进去寻找自己要用的轮子,论文中要求1.6.1的版本,下载以下文件后在对应虚拟环境中进行安装(也要cd到当前文件夹下再执行命令)。
pip install torch-1.5.1+cpu-cp36-cp36m-win_amd64.whl
还有个问题就是,安装requestments中的allennlp会报错,这里的解决方法是单独安装jsonnet,但是我又装不上,网上各种教程我都装不上,后面是装的jsonnet-binary,也是可以用的。
4. 都安装完毕后,将scibert预训练模型下载下来,解压后(只需解压一次)放在同一个目录下。
5. 按以下步骤进行debug,这里2中的添加环境在Run->edit configurations->Environment.(但是我这里添加了还是报错,后面就直接去template.libsonnet中改的三个路径和一个device变量)
6. 这样就能run起来了!真不容易!