(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录

知识图谱嵌入论文复现:ConvE代码调试记录

  • 论文链接:ConvE论文
  • 代码链接:ConvE代码

先看看怎么获取代码

从链接打开,如下图:(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第1张图片

将代码下载到本地的方式(两种)

  • 1、直接下载压缩文件
    (小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第2张图片

  • 2、git clone
    git clone https://github.com/TimDettmers/ConvE.git

下载下来就是这么一个样子
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第3张图片

一、查看安装配置

打开readme.md就行,所需的安装配置如下入所示
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第4张图片
在执行第3步:Download the default English model used by spaCy, which is installed in the previous step python -m spacy download en_core_web_sm时报错,如下图:
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第5张图片

于是在网上找解决方案:看到这位大哥的帖子,才解决的。(放上超链接,大家自行查看,这里就不展开了,这位博主写得非常详细啦,手动感谢)

大概放张图(懒得github的朋友也可以直接从这里下哦(提取码:spac)
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第6张图片
接下来就是安装了,把下载好的文件放在这里
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第7张图片
然后在终端执行这个指令就行啦:pip install en_core_web_sm-3.4.0-py3-none-any.whl

第4步:Run the preprocessing script for WN18RR, FB15k-237, YAGO3-10, UMLS, Kinship, and Nations: sh preprocess.sh
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第8张图片

二、运行测试

我的习惯是在FB15K237上面测试代码,因为它是一个世界知识的知识图谱,比WN18RR要更具有挑战性一些。执行以下命令(看了下main.py里面的参数设置,正好默认值就是FB15K237的参数):

CUDA_VISIBLE_DEVICES=0 python main.py --data FB15k-237 --preprocess

运行过程中可能会出现这个问题:ModuleNotFoundError:No module named‘past’,解决办法是这篇博客这篇博客(感谢大佬)

开始运行的截图如下啦
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第9张图片
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第10张图片
看一下第11个epoch的验证集和测试集的效果(还没跑完,所以就看下浅看下第11轮的结果)图太长了,所以只截下来测试集的
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第11张图片

三、常见问题解决方法

看到ConvE的github提问里有这么一个问题:AttributeError: 'Logger' object has no attribute 'f'
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第12张图片
解决办法是在ConvEmaster/src/spodernet/spodernet/utils/logger.py
中的第15行和18行将‘HOME’改成你ConvE当前文件夹的目录,如下图:
(小白易懂)知识图谱嵌入论文复现:ConvE代码调试记录_第13张图片

四、实验结果

这部分有空再来写

你可能感兴趣的:(知识图谱论文代码复现,知识图谱,人工智能,python,自然语言处理)