高性能大规模知识图谱嵌入学习包DGL-KE安装与使用指南
目录结构及介绍
当你克隆或下载了DGL-KE仓库后,你会看到以下主要目录和文件:
examples
此目录包含了如何使用DGL-KE进行训练、评估和推理的示例脚本。
scripts
包括用于运行特定任务(如训练模型)的一系列shell脚本。
dglke
这是核心库目录,其中包含所有相关的模型实现以及用于训练、评估和预测的功能。
data
该子目录内有数据处理工具以及预定义的知识图谱数据集。
train.py
, evaluate.py
, predict.py
这些是执行训练、评估和预测的主要脚本。
utils
提供了辅助功能,例如数据加载器和评价指标等。
启动文件介绍
-
train.py
:这个Python脚本负责知识图谱嵌入模型的训练过程。它接受参数控制模型类型、超参数设置和数据集位置。在单机或多GPU环境下可以运行,甚至可以在分布式环境中通过调用
dglke_dist_train
函数来执行。 -
evaluate.py
:此脚本用于读取预先训练好的模型嵌入并对其进行评估,具体来说是利用链路预测任务对测试集上的嵌入质量进行评估。
-
predict.py
:提供实体/关系链接预测以及嵌入相似性推断任务的能力。通过这个脚本,你可以基于已训练的模型进行各种类型的推断分析。
配置文件介绍
DGL-KE并不直接依赖于传统的配置文件(例如.json
或.yaml
),而是通过命令行参数来传递配置选项。例如,在训练一个TransE模型时,可能使用的命令行参数如下所示:
DGLBACKEND=pytorch dglke_train \
--model_name TransE_l2 \
--dataset FB15k \
--batch_size 1000 \
--neg_sample_size 200 \
--hidden_dim 400 \
--gamma 19.9 \
--lr 0.25 \
--max_step 500 \
--log_interval 100 \
--batch_size_eval 16 \
--adv \
--regularization_coef 1.00E-09 \
--test \
--num_thread 1 \
--num_proc 8
上述命令中,每一对--param value
都是具体的配置项。--model_name
指定要训练的模型类型;--dataset
指定了用于训练的数据集;其他诸如--batch_size
、--hidden_dim
等等,则分别表示训练批次大小、隐藏层维度等配置细节。
由于DGL-KE的设计理念之一就是易用性和灵活性,因此大多数配置都可以通过这种直观且清晰的方式提供,无需额外维护复杂的配置文件。这不仅简化了项目的整体架构,也使得用户的调整变得更加简单明快。对于更高级的定制需求,开发人员还可以参考DGL-KE的完整文档以获取更多关于命令行参数的详细说明。