赞
踩
touch set_environment.sh
.sh
文件,这三个文件使用三种不同的方式安装依赖,你选择一个执行即可。比如我选择用 pip 在我的虚拟环境中配置相关的依赖,那我执行的就是bash scripts/amr2txt/install_x86_with_pip.sh
- 下面展示的就是
install_x86_with_pip.sh
文件中的内容,这一步其实没有什么神秘的,只是给你安装一些现成的依赖,还有作者使用的一些工具,比如 stog,meteor
他原本的
requirements.txt
是这么写的:
但是这样安装肯定是有问题的,因此我采取了如下手段:
- 首先单独将 torch 安装好,也就是去 torch 的官网,找到 1.1 版本,然后用
pip
命令安装(这里安装的是 cpu 版本,因为我的代码在服务器上跑,本地只是调试一下,所以我就下了 cpu版本,大家根据自己的需要调整)
- 剩下的就是常规安装了
- 将
requirements.txt
中的>=
的符号全部改成一个确定的版本- 然后为了速度,我给他们都加了清华源的后缀,最终我的
requirements.txt
文件如下所示:
LDC2017T10
LDC2017T10
数据集到本文要求的这种结构
- 但是实际上从网站上下载下来的数据集的结构是这样的
如果你借鉴了那篇文章,最终可以得到这样的数据集结构:
将这三个标红的文件复制到你当前 DATA
文件路径下并分别改名成为 train.amr,test.amr
和 dev.amr
(友情提示:当你给这些文件改名的时候,不要在 pycharm 的项目中改,你最好打开 pycharm 这个项目所在的文件夹进行操作,因为你如果直接在 pycharm 这个界面中修改文件名称,可能导致与其相关联的一些引用发生改变)
改完名称之后的目录应该长成下面的样子:
现在可以继续执行下面的步骤了
DATA
中的三个文件夹生成 feature/basic
路径下 train, dev
和 test
所需要的所有文件,并且会帮你下载预训练模型 GPT-2,具体操作想研究的话可以去看看代码。
- 但是作者代码中写错了一个地方,导致我 debug 了好久好久好久才发现,我们需要首先改正这个地方,然后再去运行上述的
sh
指令
- 作者原本在
scripts/amr2txt/preprocess.py
中的写法是我注释掉的部分,正确的操作应该是我在图中红色圈出来的部分,也就是
token_line = re.compile('^# ::tokens (.*)')
- 如果按照作者的写法,那么最终生成的
feature/basic/train.tok.text
feature/basic/dev.tok.text
feature/basic/test.tok.text
三个文件都会是空的
- 按照我的写法最终生成的那三个 tok.text 文件的内容大致如下图所示:
- 上网查了一下,原来是一个包的版本冲突,我默认安装的
overrides==7.3.1
版本太高了,
- 只需要
pip install overrides==3.1.0
即可解决- 解决这个问题的 参考网址
bash scripts/amr2txt/experiment.sh scripts/amr2txt/configs/acl2020.sh
,一切正常!
- 自动下载 GPT-2 的模型并进行训练,初始步骤算是完成了。
- 如果这个过程出现中断,请检查网络,或者使用 VPN,或者使用手机热点。我当时使用 VPN 和 wifi 都不太行,所以挂了手机热点下载成功的,大小 1.5G 左右。
DATA
中数据的如何通过 stog
包预处理成可用的状态scripts/amr2txt/preprocess.py
文件Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。