当前位置:   article > 正文

沉浸式复现/运行一篇论文的代码_复现论文代码过程

复现论文代码过程

找项目,阅读README

首先从同门那里获得一个他跑不出来的项目地址:GitHub - rtmaww/EntLM: Codes for "Template-free Prompt Tuning for Few-shot NER".

点击红色方框下载:

下载的时候阅读一下README.md文件(记得网页翻译,右键网页点翻译)

告诉了我们需要的依赖。注意python版本,3.6.5(我一开始没注意到版本,导致后面又重新来了一遍。)

连接服务器

这时候项目下载好了,我们解压之后,上传到服务器。这里需要用到VSCode连接服务器(参考第二章连接服务器
)。

直接copy解压之后的文件夹,粘贴到VSCode的文件夹(自己找个文件,我一般是在终端看数据盘的路径,然后在数据盘下面创建个文件夹,然后把代码都弄到那个里面)下面,其他的文件是我的其他项目。粘贴之后就能看到我的红色箭头指的那个文件夹。

然后点击左上角的“文件”切换路径到copy过来的项目下面:

红色方框是我的路径地址(此时我的已经切换好了):

配置环境:

因为README上面写了需要使用python3.6.5,所以我们使用conda创建一个对应版本的python环境。在终端输入命令:

conda create -n myenv python=3.6.5

然后激活:

conda activate myenv

下面的图,我已经创建好的虚拟环境并且升级了一下pip:

然后我们复制README.md上面写的第一条命令,在终端运行:

报错了!我知道这是怎么回事:这条命令就是pip安装当前目录下requirements.txt文件里的库,这是一个txt文件,也就是纯文字的。里面大概是需要安装的包,如果路径正确,就会直接安装里面写的包,这个大概是路径错了。但是为了让读者沉浸式体验复现代码,我象征性的问一下GPT。得到如下结论:

我们打开requirements.txt文件,确实能在里面看到一些需要pip的东西,还包括了版本号:

这时候你可以按照上面的一条一条安装。

也可以使用绝对路径这样写:

pip install -r /root/autodl-tmp/EntLM-main/requirements.txt

好吧,这样写还是错的,后来发现是文件名错了。下载的文件是requirements,我们输入的命令里面的是requirements.txt,然后我给文件重命名了,加了.txt 后缀,然后输入了上面使用绝对路径的命令就开始安装了。用README.md上面复制的那个行不行我也不知道,没有试。

安装好了:

下载模型

然后继续看README,需要输入两条指令。蓝色是第一条,切换路径到需要下载的模型的文件夹下面,可以看到黄色方框里面的路径确实切换成功了(终端输入命令的那个冒号后面的是你的路径,可以对比上下两个,发现下面的多了点,那就是我们进入了模型的文件夹里面)。然后输入第二条命令下载模型。

然后出现了以下画面:

不用惊慌,这是因为我的网络连接不上huggingface。我们使用镜像下载,在我这篇文章里有些怎么使用镜像:使用镜像下载模型,很简单,不要怕复杂

也可以看我下面的操作,一样的。

我关闭了终端,使用ctrl+shift+`(tab上面那个键)打开了一个新的,记得激活环境,然后安装huggingface_hub:

pip install -U huggingface_hub

安装huggingface_hub的时候我遇到了一个依赖冲突的错误,然后我忘了截图,这时候需要把依赖报错发给GPT,让他告诉你需要安装哪个版本。

再依次输入这红色和黄色两条命令,红色的输入之后,在命令行最前面会出现一个蓝点,那就是生效了。

红色:

export HF_ENDPOINT=https://hf-mirror.com

黄色:黄色的需要改,我写的是官方给的参考代码。这个命令有两个gpt2,第一个是模型名字,我要下载:“bert-base-cased”模型;需要把第二个改成你下载模型的那个文件夹的绝对路径,比如我要下载到“/root/autodl-tmp/EntLM-main/pretrained/bert-base-cased”。然后我的命令就是:“huggingface-cli download --resume-download bert-base-cased --local-dir /root/autodl-tmp/EntLM-main/pretrained/bert-base-cased”。使用相对路径也行,命令行我喜欢绝对路径(不容易出错,万一你的终端的路径不对,就会下载错位置)。

huggingface-cli download --resume-download gpt2 --local-dir gpt2

下载成功:

现在就是万事俱备了,准备运行:

查看README,找到运行指令(红色方框),然后把服务器切换到有卡模式,把运行指令输入到终端,开始运行了:

修改代码

最后报错了,需要修改代码,因为这个代码是前几年的,有些写代码的方式变了,有的传入参数的方式变了等等。不过到这里基本上就算是成功一大半了,修改代码的部分我实在没时间写了。抱歉抱歉。大家如果要复现,基本上就是这个流程,因为是沉浸式的,所以写的比较繁杂,如果新手按照我的操作出现问题了,欢迎私信我,或者评论区留言,我会及时查看消息。

如果没有成功,也算是学习了流程(标题就是流程,要做到心里有数),没有一步路是白走的。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号