pybind11-OpenKE — 知识图谱嵌入工具包¶
基于 OpenKE-PyTorch 开发的知识图谱嵌入工具包,支持跨平台运行,具备自动超参数搜索、高效并行训练以及实验结果记录功能,为研究与应用提供强大助力。
教程和 API 参考文档可以访问 pybind11-openke.readthedocs.io。 源代码可以访问 github.com/LuYF-Lemon-love/pybind11-OpenKE。
- 📁 pybind11_ke/
pybind11-OpenKE 源代码保存在
pybind11_ke/。- 📚 docs/
所有的文档源文件保存在
docs/。 所有的*.rst构成了文档中的各个部分。- 🌰 examples/
pybind11-OpenKE 的例子保存在
examples/,修改自OpenKE-PyTorch。- 📍 docs/_static/logs/
pybind11-OpenKE 的例子运行日志保存在
docs/_static/logs/。- 💡 benchmarks/
常用的知识图谱保存在
benchmarks/。- 📜 README.rst
项目主页。
- ⁉️ Questions / comments
如果你有任何问题,可以在 Github issue 提问。
备注
本项目基于 OpenKE-PyTorch 的版本保存在 thunlp-OpenKE-PyTorch 分支。
新特性¶
易用的
1.0.0 版本: 利用 C++ 重写底层数据处理、C++11 的线程库实现并行、 pybind11 实现 Python 和 C++ 的交互,进而能够做到跨平台 (Windows, Linux)。
2.0.0 版本: 使用 Python 重写底层数据处理,进而能够做到跨平台 (Windows, Linux)。
使用 Setuptools 打包了 pybind11-OpenKE, 使得能够像其他第三方库一样使用。
增加了文档。
正确的
增加了
R-GCN[SKB+18] 模型。增加了
CompGCN[VSNT20] 模型。修复了 SimplE模型实现的问题 。
修复了 HolE 深度学习框架(pytorch)的版本适配问题。
高效的
使用
torch.nn.parallel.DistributedDataParallel完成数据并行( 2.0.0 版本 使用 accelerate 实现),使得pybind11-OpenKE能够利用多个GPU同时训练。增加超参数扫描功能(随机搜索、网格搜索和贝叶斯搜索)。
扩展的
在模型训练过程中,能够在验证集上评估模型(模型能够一次评估多个三元组(batch),能够大大加速模型评估)。
增加了学习率调度器。
能够利用 wandb 输出日志。
实现了早停止。
能够自定义 Hits@N。
支持的知识图谱嵌入模型:
类型 |
模型 |
|---|---|
平移模型 |
|
语义匹配模型 |
|
图神经网络模型 |
如何引用这个项目?¶
如果您发现 pybind11-OpenKE 对您的研究有用,请考虑使用以下 BibTeX 模板引用 pybind11-OpenKE:
@misc{pybind11-OpenKE,
author = {Lu, Yanfeng and Hou, Fengzhen},
year = {2024},
note = {https://github.com/LuYF-Lemon-love/pybind11-OpenKE},
title = {pybind11-OpenKE: An Open Source Library for Knowledge Graph Embeddings}
}
该仓库主要由 Yanfeng Lu, Fengzhen Hou 提供(按时间顺序排列)。
欢迎来到 pybind11-OpenKE 文档!¶
pybind11-OpenKE 是一个知识图谱嵌入工具包,能够运行在 Windows 和 Linux 操作系统上。
为了使用 pybind11-OpenKE,请先 安装 这个项目。
目录¶
教程
API
参考