Shortcuts
pybind11-OpenKE logo

pybind11-OpenKE — 知识图谱嵌入工具包

Documentation Status

基于 OpenKE-PyTorch 开发的知识图谱嵌入工具包, 底层数据处理利用 C++ 实现,使用 pybind11 实现 C++ 和 Python 的交互。

不久后将完成, 稍事等待.

教程和 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

💡 benchmarks/

常用的知识图谱保存在 benchmarks/

📜 README.rst

项目主页。

⁉️ Questions / comments

如果你有任何问题,可以在 Github issue 提问。

备注

本项目基于 OpenKE-PyTorch 的版本保存在 thunlp-OpenKE-PyTorch 分支。

新特性

易用的

  • 利用 C++ 重写底层数据处理、C++11 的线程库实现并行、pybind11 实现 Python 和 C++ 的交互,进而能够做到跨平台 (Windows, Linux)。

  • 使用 Setuptools 打包了 pybind11-OpenKE, 使得能够像其他第三方库一样使用。

  • 增加了文档。

正确的

高效的

  • 使用 torch.nn.parallel.DistributedDataParallel 完成数据并行,使得 pybind11-OpenKE 能够利用多个 GPU 同时训练。

  • 增加超参数扫描功能(随机搜索、网格搜索和贝叶斯搜索)。

扩展的

  • 在模型训练过程中,能够在验证集上评估模型。

  • 增加了学习率调度器。

  • 能够利用 wandb 输出日志。

  • 实现了早停止。

支持的知识图谱嵌入模型:

类型

模型

平移模型

TransE [BUGD+13], TransH [WZFC14], TransR [LLS+15], TransD [JHX+15], RotatE [SDNT19]

语义匹配模型

RESCAL [NTK11], DistMult [YYH+15], HolE [NRP16], ComplEx [TWR+16], Analogy [LWY17], SimplE [KP18]

图神经网络模型

R-GCN [SKB+18], CompGCN [VSNT20]

欢迎来到 pybind11-OpenKE 文档!

pybind11-OpenKE 是一个知识图谱嵌入工具包,使用 pybind11 来完成 C++ 数据预处理模块与 Python 用户接口的交互, 使用 C++11 线程标准库进行并行化,能够运行在 Windows 和 Linux 操作系统上。

为了使用 pybind11-OpenKE,请先 安装 这个项目。

备注

这个项目依旧出于积极开发中。

目录

API

参考

Docs

Access comprehensive developer documentation for Pybind11-OpenKE

View Docs