IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ConvE,知识图谱嵌入(KGE)论文复现(Ubuntu 20.04) -> 正文阅读

[人工智能]ConvE,知识图谱嵌入(KGE)论文复现(Ubuntu 20.04)

ConvE,知识图谱嵌入(KGE)论文复现(Ubuntu 20.04)


Paper:Convolutional 2D Knowledge Graph Embeddings


准备工作

GitHub地址,打开如下,下拉按照说明来复现模型
在这里插入图片描述
克隆项目到本地:

git clone git@github.com:TimDettmers/ConvE.git

在这里插入图片描述


操作步骤

一. 安装与配置

在这里插入图片描述

1. Install PyTorch using Anaconda.

参照我的两篇博文:

1. WIN 11 安装 Ubuntu 20.04 (双系统)(2022.02.28)
2. Ubuntu 20.04 系统下(子系统)深度学习环境配置(Pytorch + GPU)

对于anaconda的安装,可以参考如下博文中安装anaconda3环境变量部分的内容,其他不要多看,因为我的环境是双系统下的Ubuntu系统,而不是在虚拟机中进行的:

VMware 中 Ubuntu 20.04 安装 和 Pytorch 1.10.2 环境配置(2022.02.10)


2. Install the requirements pip install -r requirements.txt

执行以下命令:

cd ConvE
pip install -r requirements.txt

在这里插入图片描述出现错误,执行以下命令,大家根据自己情况而定:

pip install --upgrade pip
pip install PyHamcrest
pip install --upgrade pip

在这里插入图片描述
再转头来执行命令:pip install -r requirements.txt,显示安装成功,图太长,截最后一部分:
在这里插入图片描述


3. Download the default English model used by spaCy, which is installed in the previous step python -m spacy download en

到spacy的GitHub地址,手动下载需要的语言模型:点击进入如下图所示,点击tag
在这里插入图片描述点击next,选中如下文件下载
在这里插入图片描述执行命令:pip install en_core_web_sm-3.2.0.tar.gz
在这里插入图片描述
安装成功:
在这里插入图片描述


4. Run the preprocessing script for WN18RR, FB15k-237, YAGO3-10, UMLS, Kinship, and Nations: sh preprocess.sh

执行以下命令:

cd ConvE
sh preprocess.sh

在这里插入图片描述


二. 在FB15k-237数据集上跑ConvE模型

执行以下命令:

CUDA_VISIBLE_DEVICES=0 python main.py --model conve --data FB15k-237 \
                                      --input-drop 0.2 --hidden-drop 0.3 --feat-drop 0.2 \
                                      --lr 0.003 --preprocess

报错:
在这里插入图片描述原因:

从Spacy V3.0开始,该导入模块的方式已被弃用,因此要使用spacy模型,需要更改代码

解决:

import spacy替换为from spacy.lang.en import English
nlp=spacy.load('en')替换为nlp = English()

在这里插入图片描述
再次执行以下命令,成功:

CUDA_VISIBLE_DEVICES=0 python main.py --model conve --data FB15k-237 \
                                      --input-drop 0.2 --hidden-drop 0.3 --feat-drop 0.2 \
                                      --lr 0.003 --preprocess

中间部分过程,截图如下:
在这里插入图片描述历经最少12小时吧,结果如下:
在这里插入图片描述


三. 在其它数据集上跑ConvE及其它两个模型

CUDA_VISIBLE_DEVICES=0 python main.py --model conve --data FB15k-237 \
                                      --input-drop 0.2 --hidden-drop 0.3 --feat-drop 0.2 \
                                      --lr 0.003 --preprocess

改变 --data 后的 FB15k-237 为下列数据集的任何一个:

WN18RR
YAGO3-10
umls
kinship
nations

改变 --model 后的 conve 为下列数据集的任何一个:

distmult
complex

四. 参数使用和注意事项

关于知识图谱的链接预测任务,在训练时的可选参数及含义:

 -h, --help            show this help message and exit
  --batch-size BATCH_SIZE
                        input batch size for training (default: 128)
  --test-batch-size TEST_BATCH_SIZE
                        input batch size for testing/validation (default: 128)
  --epochs EPOCHS       number of epochs to train (default: 1000)
  --lr LR               learning rate (default: 0.003)
  --seed S              random seed (default: 17)
  --log-interval LOG_INTERVAL
                        how many batches to wait before logging training
                        status
  --data DATA           Dataset to use: {FB15k-237, YAGO3-10, WN18RR, umls,
                        nations, kinship}, default: FB15k-237
  --l2 L2               Weight decay value to use in the optimizer. Default:
                        0.0
  --model MODEL         Choose from: {conve, distmult, complex}
  --embedding-dim EMBEDDING_DIM
                        The embedding dimension (1D). Default: 200
  --embedding-shape1 EMBEDDING_SHAPE1
                        The first dimension of the reshaped 2D embedding. The
                        second dimension is infered. Default: 20
  --hidden-drop HIDDEN_DROP
                        Dropout for the hidden layer. Default: 0.3.
  --input-drop INPUT_DROP
                        Dropout for the input embeddings. Default: 0.2.
  --feat-drop FEAT_DROP
                        Dropout for the convolutional features. Default: 0.2.
  --lr-decay LR_DECAY   Decay the learning rate by this factor every epoch.
                        Default: 0.995
  --loader-threads LOADER_THREADS
                        How many loader threads to use for the batch loaders.
                        Default: 4
  --preprocess          Preprocess the dataset. Needs to be executed only
                        once. Default: 4
  --resume              Resume a model.
  --use-bias            Use a bias in the convolutional layer. Default: True
  --label-smoothing LABEL_SMOOTHING
                        Label smoothing value to use. Default: 0.1
  --hidden-size HIDDEN_SIZE
                        The side of the hidden layer. The required size
                        changes with the size of the embeddings. Default: 9728
                        (embedding size 200).

注意事项:--preprocess 只执行一次就可以了。例如,第二步的命令执行时,已经带上了这个参数,以后的训练就不必再添加这个参数了:

--preprocess          Preprocess the dataset. Needs to be executed only
                        once. Default: 4

五. 关于论文复现

执行下列命令,选择数据集替换DATASET_NAME,其余使用默认值,即可还原论文:

CUDA_VISIBLE_DEVICES=0 python main.py --data DATASET_NAME

本文展示了 ConvE 模型的复现方法并解决了可能遇到的问题,如有疑问,请参考 ConvE 文件夹下的readme.md文件或访问文首的Github地址,欢迎评论区交流或联系个人QQ:743337163

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:28:33  更:2022-03-08 22:33:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:35:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码