[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-pykeen--pykeen":3,"tool-pykeen--pykeen":61},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":64,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":24,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":107,"github_topics":108,"view_count":24,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":117,"updated_at":118,"faqs":119,"releases":148},10131,"pykeen\u002Fpykeen","pykeen","🤖 A Python library for learning and evaluating knowledge graph embeddings ","PyKEEN 是一个专为知识图谱嵌入（Knowledge Graph Embeddings）学习与评估打造的 Python 开源库。它旨在解决从复杂的关系数据中自动学习实体与关系向量表示的难题，帮助机器更好地理解和分析结构化知识。无论是进行模型训练、超参数优化还是最终的效果评估，PyKEEN 都提供了一套完整且高效的解决方案。\n\n这款工具特别适合人工智能研究人员、数据科学家以及从事知识图谱开发的工程师使用。如果你需要快速复现经典算法，或是在多模态信息融合场景下探索新的模型架构，PyKEEN 都能提供强有力的支持。\n\n在技术亮点方面，PyKEEN 内置了多达 40 种主流嵌入模型和 37 个标准数据集，让用户无需繁琐的数据预处理即可直接上手。它深度集成了 PyTorch Lightning 以简化训练流程，并原生支持 Optuna 进行自动化超参数搜索，显著提升了实验效率。此外，其独特的“管道（Pipeline）”接口设计，允许用户仅用几行代码即可完成从模型加载、训练到评估的全过程，极大地降低了研究门槛。凭借灵活的扩展性和严谨的评估体系，PyKEEN 已成为知识表示学习领域值得信赖的得力","PyKEEN 是一个专为知识图谱嵌入（Knowledge Graph Embeddings）学习与评估打造的 Python 开源库。它旨在解决从复杂的关系数据中自动学习实体与关系向量表示的难题，帮助机器更好地理解和分析结构化知识。无论是进行模型训练、超参数优化还是最终的效果评估，PyKEEN 都提供了一套完整且高效的解决方案。\n\n这款工具特别适合人工智能研究人员、数据科学家以及从事知识图谱开发的工程师使用。如果你需要快速复现经典算法，或是在多模态信息融合场景下探索新的模型架构，PyKEEN 都能提供强有力的支持。\n\n在技术亮点方面，PyKEEN 内置了多达 40 种主流嵌入模型和 37 个标准数据集，让用户无需繁琐的数据预处理即可直接上手。它深度集成了 PyTorch Lightning 以简化训练流程，并原生支持 Optuna 进行自动化超参数搜索，显著提升了实验效率。此外，其独特的“管道（Pipeline）”接口设计，允许用户仅用几行代码即可完成从模型加载、训练到评估的全过程，极大地降低了研究门槛。凭借灵活的扩展性和严谨的评估体系，PyKEEN 已成为知识表示学习领域值得信赖的得力助手。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpykeen_pykeen_readme_c867e8f12af6.png\" height=\"150\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">\n  PyKEEN\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Factions\u002Fworkflows\u002Fcommon.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Factions\u002Fworkflows\u002Fcommon.yml\u002Fbadge.svg\"\n         alt=\"GitHub Actions\">\n  \u003C\u002Fa>\n\n  \u003Ca href='https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT'>\n    \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg' alt='License'\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F242672435\">\n    \u003Cimg src=\"https:\u002F\u002Fzenodo.org\u002Fbadge\u002F242672435.svg\" alt=\"DOI\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Foptuna.org\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOptuna-integrated-blue\" alt=\"Optuna integrated\" height=\"20\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpytorchlightning.ai\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Lightning-792ee5?logo=pytorchlightning&logoColor=white\" alt=\"PyTorch Lightning\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fruff\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fastral-sh\u002Fruff\u002Fmain\u002Fassets\u002Fbadge\u002Fv2.json\" alt=\"Ruff\" style=\"max-width:100%;\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\".github\u002FCODE_OF_CONDUCT.md\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContributor%20Covenant-2.1-4baaaa.svg\" alt=\"Contributor Covenant\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cb>PyKEEN\u003C\u002Fb> (\u003Cb>P\u003C\u002Fb>ython \u003Cb>K\u003C\u002Fb>nowl\u003Cb>E\u003C\u002Fb>dge \u003Cb>E\u003C\u002Fb>mbeddi\u003Cb>N\u003C\u002Fb>gs) is a Python package designed to\n    train and evaluate knowledge graph embedding models (incorporating multi-modal information).\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#installation\">Installation\u003C\u002Fa> •\n  \u003Ca href=\"#quickstart\">Quickstart\u003C\u002Fa> •\n  \u003Ca href=\"#datasets\">Datasets (37)\u003C\u002Fa> •\n  \u003Ca href=\"#inductive-datasets\">Inductive Datasets (5)\u003C\u002Fa> •\n  \u003Ca href=\"#models\">Models (40)\u003C\u002Fa> •\n  \u003Ca href=\"#supporters\">Support\u003C\u002Fa> •\n  \u003Ca href=\"#citation\">Citation\u003C\u002Fa>\n\u003C\u002Fp>\n\n## Installation ![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fpykeen) ![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fpykeen)\n\nThe latest stable version of PyKEEN requires Python 3.9+. It can be downloaded\nand installed from [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpykeen) with:\n\n```shell\npip install pykeen\n```\n\nThe latest version of PyKEEN can be installed directly from the\nsource code on [GitHub](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen) with:\n\n```shell\npip install git+https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen.git\n```\n\nMore information about installation (e.g., development mode, Windows installation, Colab, Kaggle, extras)\ncan be found in the [installation documentation](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html).\n\n## Quickstart [![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpykeen_pykeen_readme_13d664e1afd7.png)](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n\nThis example shows how to train a model on a dataset and test on another dataset.\n\nThe fastest way to get up and running is to use the pipeline function. It\nprovides a high-level entry into the extensible functionality of this package.\nThe following example shows how to train and evaluate the [TransE](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.TransE.html#pykeen.models.TransE)\nmodel on the [Nations](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Nations.html#pykeen.datasets.Nations)\ndataset. By default, the training loop uses the [stochastic local closed world assumption (sLCWA)](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SLCWATrainingLoop)\ntraining approach and evaluates with [rank-based evaluation](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fevaluation\u002Frank_based.html#pykeen.evaluation.RankBasedEvaluator).\n\n```python\nfrom pykeen.pipeline import pipeline\n\nresult = pipeline(\n    model='TransE',\n    dataset='nations',\n)\n```\n\nThe results are returned in an instance of the [PipelineResult](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fpipeline.html#pykeen.pipeline.PipelineResult)\ndataclass that has attributes for the trained model, the training loop, the evaluation, and more. See the tutorials\non [using your own dataset](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fbyo\u002Fdata.html),\n[understanding the evaluation](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Funderstanding_evaluation.html),\nand [making novel link predictions](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Fmaking_predictions.html).\n\nPyKEEN is extensible such that:\n\n- Each model has the same API, so anything from ``pykeen.models`` can be dropped in\n- Each training loop has the same API, so ``pykeen.training.LCWATrainingLoop`` can be dropped in\n- Triples factories can be generated by the user with ``from pykeen.triples.TriplesFactory``\n\nThe full documentation can be found at https:\u002F\u002Fpykeen.readthedocs.io.\n\n## Implementation\n\nBelow are the models, datasets, training modes, evaluators, and metrics implemented\nin ``pykeen``.\n\n### Datasets \n\nThe following 37 datasets are built in to PyKEEN. The citation for each dataset corresponds to either the paper\ndescribing the dataset, the first paper published using the dataset with knowledge graph embedding models,\nor the URL for the dataset if neither of the first two are available. If you want to use a custom dataset,\nsee the [Bring Your Own Dataset](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fbyo\u002Fdata.html) tutorial. If you\nhave a suggestion for another dataset to include in PyKEEN, please let us know\n[here](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002Fnew?assignees=cthoyt&labels=New+Dataset&template=dataset-request.md&title=Add+%5BDATASET+NAME%5D).\n\n| Name                               | Documentation                                                                                                       | Citation                                                                                                                |   Entities |   Relations |   Triples |\n|------------------------------------|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|------------|-------------|-----------|\n| Aristo-v4                          | [`pykeen.datasets.AristoV4`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.AristoV4.html)             | [Chen *et al*., 2021](https:\u002F\u002Fopenreview.net\u002Fpdf?id=Qa3uS3H7-Le)                                                        |      42016 |        1593 |    279425 |\n| BioKG                              | [`pykeen.datasets.BioKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.BioKG.html)                   | [Walsh *et al*., 2019](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3340531.3412776)                                                         |     105524 |          17 |   2067997 |\n| Clinical Knowledge Graph           | [`pykeen.datasets.CKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CKG.html)                       | [Santos *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1101\u002F2020.05.09.084897)                                                      |    7617419 |          11 |  26691525 |\n| CN3l Family                        | [`pykeen.datasets.CN3l`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CN3l.html)                     | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |       3206 |          42 |     21777 |\n| CoDEx (large)                      | [`pykeen.datasets.CoDExLarge`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExLarge.html)         | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |      77951 |          69 |    612437 |\n| CoDEx (medium)                     | [`pykeen.datasets.CoDExMedium`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExMedium.html)       | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |      17050 |          51 |    206205 |\n| CoDEx (small)                      | [`pykeen.datasets.CoDExSmall`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExSmall.html)         | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |       2034 |          42 |     36543 |\n| ConceptNet                         | [`pykeen.datasets.ConceptNet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ConceptNet.html)         | [Speer *et al*., 2017](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03975)                                                                |   28370083 |          50 |  34074917 |\n| Countries                          | [`pykeen.datasets.Countries`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Countries.html)           | [Bouchard *et al*., 2015](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FSSS\u002FSSS15\u002Fpaper\u002Fview\u002F10257\u002F10026)                          |        271 |           2 |      1158 |\n| Commonsense Knowledge Graph        | [`pykeen.datasets.CSKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CSKG.html)                     | [Ilievski *et al*., 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2012.11490)                                                              |    2087833 |          58 |   4598728 |\n| DB100K                             | [`pykeen.datasets.DB100K`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DB100K.html)                 | [Ding *et al*., 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1805.02408)                                                                 |      99604 |         470 |    697479 |\n| DBpedia50                          | [`pykeen.datasets.DBpedia50`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DBpedia50.html)           | [Shi *et al*., 2017](https:\u002F\u002Farxiv.org\u002Fabs\u002F1711.03438)                                                                  |      24624 |         351 |     34421 |\n| Drug Repositioning Knowledge Graph | [`pykeen.datasets.DRKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DRKG.html)                     | [`gnn4dr\u002FDRKG`](https:\u002F\u002Fgithub.com\u002Fgnn4dr\u002FDRKG)                                                                         |      97238 |         107 |   5874257 |\n| FB15k                              | [`pykeen.datasets.FB15k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.FB15k.html)                   | [Bordes *et al*., 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf) |      14951 |        1345 |    592213 |\n| FB15k-237                          | [`pykeen.datasets.FB15k237`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.FB15k237.html)             | [Toutanova *et al*., 2015](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FW15-4007\u002F)                                                  |      14505 |         237 |    310079 |\n| Global Biotic Interactions         | [`pykeen.datasets.Globi`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Globi.html)                   | [Poelen *et al*., 2014](https:\u002F\u002Fdoi.org\u002F10.1016\u002Fj.ecoinf.2014.08.005)                                                   |     404207 |          39 |   1966385 |\n| Hetionet                           | [`pykeen.datasets.Hetionet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Hetionet.html)             | [Himmelstein *et al*., 2017](https:\u002F\u002Fdoi.org\u002F10.7554\u002FeLife.26726)                                                       |      45158 |          24 |   2250197 |\n| Kinships                           | [`pykeen.datasets.Kinships`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Kinships.html)             | [Kemp *et al*., 2006](https:\u002F\u002Fwww.aaai.org\u002FPapers\u002FAAAI\u002F2006\u002FAAAI06-061.pdf)                                             |        104 |          25 |     10686 |\n| Nations                            | [`pykeen.datasets.Nations`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Nations.html)               | [`ZhenfengLei\u002FKGDatasets`](https:\u002F\u002Fgithub.com\u002FZhenfengLei\u002FKGDatasets)                                                   |         14 |          55 |      1992 |\n| NationsL                           | [`pykeen.datasets.NationsLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.NationsLiteral.html) | [`pykeen\u002Fpykeen`](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                                     |         14 |          55 |      1992 |\n| OGB BioKG                          | [`pykeen.datasets.OGBBioKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OGBBioKG.html)             | [Hu *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.00687)                                                                   |      93773 |          51 |   5088434 |\n| OGB WikiKG2                        | [`pykeen.datasets.OGBWikiKG2`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OGBWikiKG2.html)         | [Hu *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.00687)                                                                   |    2500604 |         535 |  17137181 |\n| OpenBioLink                        | [`pykeen.datasets.OpenBioLink`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenBioLink.html)       | [Breit *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbioinformatics\u002Fbtaa274)                                                  |     180992 |          28 |   4563407 |\n| OpenBioLink LQ                     | [`pykeen.datasets.OpenBioLinkLQ`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenBioLinkLQ.html)   | [Breit *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbioinformatics\u002Fbtaa274)                                                  |     480876 |          32 |  27320889 |\n| OpenEA Family                      | [`pykeen.datasets.OpenEA`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenEA.html)                 | [Sun *et al*., 2020](http:\u002F\u002Fwww.vldb.org\u002Fpvldb\u002Fvol13\u002Fp2326-sun.pdf)                                                     |      15000 |         248 |     38265 |\n| PharMeBINet                        | [`pykeen.datasets.PharMeBINet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharMeBINet.html)       | [Königs *et al*., 2022](https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41597-022-01510-3)                                             |    2869407 |         208 |  15883653 |\n| PharmKG                            | [`pykeen.datasets.PharmKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharmKG.html)               | [Zheng *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbib\u002Fbbaa344)                                                             |     188296 |          39 |   1093236 |\n| PharmKG8k                          | [`pykeen.datasets.PharmKG8k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharmKG8k.html)           | [Zheng *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbib\u002Fbbaa344)                                                             |       7247 |          28 |    485787 |\n| PrimeKG                            | [`pykeen.datasets.PrimeKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PrimeKG.html)               | [Chandak *et al*., 2022](https:\u002F\u002Fdoi.org\u002F10.1101\u002F2022.05.01.489928)                                                     |     129375 |          30 |   8100498 |\n| Unified Medical Language System    | [`pykeen.datasets.UMLS`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.UMLS.html)                     | [`ZhenfengLei\u002FKGDatasets`](https:\u002F\u002Fgithub.com\u002FZhenfengLei\u002FKGDatasets)                                                   |        135 |          46 |      6529 |\n| WD50K (triples)                    | [`pykeen.datasets.WD50KT`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WD50KT.html)                 | [Galkin *et al*., 2020](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2020.emnlp-main.596\u002F)                                          |      40107 |         473 |    232344 |\n| Wikidata5M                         | [`pykeen.datasets.Wikidata5M`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Wikidata5M.html)         | [Wang *et al*., 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06136)                                                                 |    4594149 |         822 |  20624239 |\n| WK3l-120k Family                   | [`pykeen.datasets.WK3l120k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WK3l120k.html)             | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |     119748 |        3109 |   1375406 |\n| WK3l-15k Family                    | [`pykeen.datasets.WK3l15k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WK3l15k.html)               | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |      15126 |        1841 |    209041 |\n| WordNet-18                         | [`pykeen.datasets.WN18`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WN18.html)                     | [Bordes *et al*., 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1301.3485)                                                                |      40943 |          18 |    151442 |\n| WordNet-18 (RR)                    | [`pykeen.datasets.WN18RR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WN18RR.html)                 | [Toutanova *et al*., 2015](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FW15-4007\u002F)                                                  |      40559 |          11 |     92583 |\n| YAGO3-10                           | [`pykeen.datasets.YAGO310`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.YAGO310.html)               | [Mahdisoltani *et al*., 2015](http:\u002F\u002Fservice.tsi.telecom-paristech.fr\u002Fcgi-bin\u002F\u002Fvalipub_download.cgi?dId=284)            |     123143 |          37 |   1089000 |\n\n### Inductive Datasets\n\nThe following 5 inductive datasets are built in to PyKEEN.\n\n| Name            | Documentation                                                                                                             | Citation                                                  |\n|-----------------|---------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|\n| ILPC2022 Large  | [`pykeen.datasets.ILPC2022Large`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ILPC2022Large.html)         | [Galkin *et al*., 2022](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01520) |\n| ILPC2022 Small  | [`pykeen.datasets.ILPC2022Small`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ILPC2022Small.html)         | [Galkin *et al*., 2022](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01520) |\n| FB15k-237       | [`pykeen.datasets.InductiveFB15k237`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveFB15k237.html) | [Teru *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n| NELL            | [`pykeen.datasets.InductiveNELL`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveNELL.html)         | [Teru *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n| WordNet-18 (RR) | [`pykeen.datasets.InductiveWN18RR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveWN18RR.html)     | [Teru *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n\n### Representations\n\nThe following 22 representations are implemented by PyKEEN.\n\n| Name                       | Reference                                                                                                                                                   |\n|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Backfill                   | [`pykeen.nn.BackfillRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.BackfillRepresentation.html)                      |\n| Text Encoding              | [`pykeen.nn.BiomedicalCURIERepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.BiomedicalCURIERepresentation.html)        |\n| Combined                   | [`pykeen.nn.CombinedRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.CombinedRepresentation.html)                      |\n| Embedding                  | [`pykeen.nn.Embedding`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.Embedding.html)                                                |\n| EmbeddingBag               | [`pykeen.nn.EmbeddingBagRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.EmbeddingBagRepresentation.html)              |\n| Featurized Message Passing | [`pykeen.nn.FeaturizedMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.FeaturizedMessagePassingRepresentation.html) |\n| Low Rank Embedding         | [`pykeen.nn.LowRankRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.LowRankRepresentation.html)                        |\n| Multi-Backfill             | [`pykeen.nn.MultiBackfillRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.MultiBackfillRepresentation.html)            |\n| NodePiece                  | [`pykeen.nn.NodePieceRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.node_piece.representation.NodePieceRepresentation.html)         |\n| Partition                  | [`pykeen.nn.PartitionRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.PartitionRepresentation.html)                    |\n| R-GCN                      | [`pykeen.nn.RGCNRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.message_passing.RGCNRepresentation.html)                             |\n| Simple Message Passing     | [`pykeen.nn.SimpleMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.SimpleMessagePassingRepresentation.html)         |\n| CompGCN                    | [`pykeen.nn.SingleCompGCNRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.SingleCompGCNRepresentation.html)            |\n| Subset Representation      | [`pykeen.nn.SubsetRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.SubsetRepresentation.html)                          |\n| Tensor-Train               | [`pykeen.nn.TensorTrainRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TensorTrainRepresentation.html)                |\n| Text Encoding              | [`pykeen.nn.TextRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TextRepresentation.html)                              |\n| Tokenization               | [`pykeen.nn.TokenizationRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.node_piece.representation.TokenizationRepresentation.html)   |\n| Transformed                | [`pykeen.nn.TransformedRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TransformedRepresentation.html)                |\n| Typed Message Passing      | [`pykeen.nn.TypedMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.TypedMessagePassingRepresentation.html)           |\n| Visual                     | [`pykeen.nn.VisualRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.vision.representation.VisualRepresentation.html)                   |\n| Wikidata Text Encoding     | [`pykeen.nn.WikidataTextRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.WikidataTextRepresentation.html)              |\n| Wikidata Visual            | [`pykeen.nn.WikidataVisualRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.vision.representation.WikidataVisualRepresentation.html)   |\n\n### Interactions\n\nThe following 34 interactions are implemented by PyKEEN.\n\n| Name                           | Reference                                                                                                                                   | Citation                                                                                                                   |\n|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|\n| AutoSF                         | [`pykeen.nn.AutoSFInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.AutoSFInteraction.html)                       | [Zhang *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.11682)                                                                   |\n| BoxE                           | [`pykeen.nn.BoxEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.BoxEInteraction.html)                           | [Abboud *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2007.06267)                                                                  |\n| ComplEx                        | [`pykeen.nn.ComplExInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ComplExInteraction.html)                     | [Trouillon *et al.*, 2016](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.06357)                                                               |\n| ConvE                          | [`pykeen.nn.ConvEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ConvEInteraction.html)                         | [Dettmers *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F17366)                                 |\n| ConvKB                         | [`pykeen.nn.ConvKBInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ConvKBInteraction.html)                       | [Nguyen *et al.*, 2018](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FN18-2053)                                                         |\n| Canonical Tensor Decomposition | [`pykeen.nn.CPInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.CPInteraction.html)                               | [Lacroix *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.07297)                                                                 |\n| CrossE                         | [`pykeen.nn.CrossEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.CrossEInteraction.html)                       | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.04750)                                                                   |\n| DistMA                         | [`pykeen.nn.DistMAInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.DistMAInteraction.html)                       | [Shi *et al.*, 2019](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FD19-1075.pdf)                                                        |\n| DistMult                       | [`pykeen.nn.DistMultInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.DistMultInteraction.html)                   | [Yang *et al.*, 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6575)                                                                     |\n| ER-MLP                         | [`pykeen.nn.ERMLPInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ERMLPInteraction.html)                         | [Dong *et al.*, 2014](https:\u002F\u002Fstorage.googleapis.com\u002Fpub-tools-public-publication-data\u002Fpdf\u002F45634.pdf)                      |\n| ER-MLP (E)                     | [`pykeen.nn.ERMLPEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ERMLPEInteraction.html)                       | [Sharifzadeh *et al.*, 2019](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                             |\n| HolE                           | [`pykeen.nn.HolEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.HolEInteraction.html)                           | [Nickel *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI16\u002Fpaper\u002FviewFile\u002F12484\u002F11828)                         |\n| KG2E                           | [`pykeen.nn.KG2EInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.KG2EInteraction.html)                           | [He *et al.*, 2015](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F2806416.2806502)                                                        |\n| LineaRE                        | [`pykeen.nn.LineaREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.LineaREInteraction.html)                     | [Peng *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.10037)                                                                    |\n| MultiLinearTucker              | [`pykeen.nn.MultiLinearTuckerInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.MultiLinearTuckerInteraction.html) | [Tucker *et al.*, 1966](https:\u002F\u002Fdx.doi.org\u002F10.1007\u002FBF02289464)                                                             |\n| MuRE                           | [`pykeen.nn.MuREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.MuREInteraction.html)                           | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.09791)                                                               |\n| NTN                            | [`pykeen.nn.NTNInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.NTNInteraction.html)                             | [Socher *et al.*, 2013](https:\u002F\u002Fproceedings.neurips.cc\u002Fpaper\u002F2013\u002Ffile\u002Fb337e84de8752b27eda3a12363109e80-Paper.pdf)         |\n| PairRE                         | [`pykeen.nn.PairREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.PairREInteraction.html)                       | [Chao *et al.*, 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2011.03798)                                                                     |\n| ProjE                          | [`pykeen.nn.ProjEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ProjEInteraction.html)                         | [Shi *et al.*, 2017](https:\u002F\u002Faaai.org\u002Fpapers\u002F10677-aaai-31-2017\u002F)                                                          |\n| QuatE                          | [`pykeen.nn.QuatEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.QuatEInteraction.html)                         | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.10281)                                                                   |\n| RESCAL                         | [`pykeen.nn.RESCALInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.RESCALInteraction.html)                       | [Nickel *et al.*, 2011](https:\u002F\u002Ficml.cc\u002F2011\u002Fpapers\u002F438_icmlpaper.pdf)                                                     |\n| RotatE                         | [`pykeen.nn.RotatEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.RotatEInteraction.html)                       | [Sun *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1902.10197)                                                                     |\n| Structured Embedding           | [`pykeen.nn.SEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.SEInteraction.html)                               | [Bordes *et al.*, 2011](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI11\u002Fpaper\u002Fdownload\u002F3659\u002F3898)                           |\n| SimplE                         | [`pykeen.nn.SimplEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.SimplEInteraction.html)                       | [Kazemi *et al.*, 2018](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F7682-simple-embedding-for-link-prediction-in-knowledge-graphs)        |\n| TorusE                         | [`pykeen.nn.TorusEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TorusEInteraction.html)                       | [Ebisu *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F16227)                                    |\n| TransD                         | [`pykeen.nn.TransDInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransDInteraction.html)                       | [Ji *et al.*, 2015](http:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FP15-1067)                                                              |\n| TransE                         | [`pykeen.nn.TransEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransEInteraction.html)                       | [Bordes *et al.*, 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf)    |\n| TransF                         | [`pykeen.nn.TransFInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransFInteraction.html)                       | [Feng *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FKR\u002FKR16\u002Fpaper\u002Fview\u002F12887)                                         |\n| Transformer                    | [`pykeen.nn.TransformerInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransformerInteraction.html)             | [Galkin *et al.*, 2020](https:\u002F\u002Fdoi.org\u002F10.18653\u002Fv1\u002F2020.emnlp-main.596)                                                   |\n| TransH                         | [`pykeen.nn.TransHInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransHInteraction.html)                       | [Wang *et al.*, 2014](https:\u002F\u002Faaai.org\u002Fpapers\u002F8870-knowledge-graph-embedding-by-translating-on-hyperplanes\u002F)               |\n| TransR                         | [`pykeen.nn.TransRInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransRInteraction.html)                       | [Lin *et al.*, 2015](https:\u002F\u002Faaai.org\u002Fpapers\u002F9491-learning-entity-and-relation-embeddings-for-knowledge-graph-completion\u002F) |\n| TripleRE                       | [`pykeen.nn.TripleREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TripleREInteraction.html)                   | [Yu *et al.*, 2021](https:\u002F\u002Fvixra.org\u002Fabs\u002F2112.0095)                                                                       |\n| TuckER                         | [`pykeen.nn.TuckERInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TuckERInteraction.html)                       | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.09590)                                                               |\n| Unstructured Model             | [`pykeen.nn.UMInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.UMInteraction.html)                               | [Bordes *et al.*, 2014](https:\u002F\u002Flink.springer.com\u002Fcontent\u002Fpdf\u002F10.1007%2Fs10994-013-5363-6.pdf)                             |\n\n### Models\n\nThe following 40 models are implemented by PyKEEN.\n\n| Name                           | Model                                                                                                                                                           | Citation                                                                                                                |\n|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|\n| AutoSF                         | [`pykeen.models.AutoSF`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.auto_sf.AutoSF.html)                                                | [Zhang *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.11682)                                                                |\n| BoxE                           | [`pykeen.models.BoxE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.boxe.BoxE.html)                                                       | [Abboud *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2007.06267)                                                               |\n| Canonical Tensor Decomposition | [`pykeen.models.CP`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.cp.CP.html)                                                             | [Lacroix *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.07297)                                                              |\n| CompGCN                        | [`pykeen.models.CompGCN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.compgcn.CompGCN.html)                                              | [Vashishth *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1911.03082)                                                            |\n| ComplEx                        | [`pykeen.models.ComplEx`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.complex.ComplEx.html)                                              | [Trouillon *et al.*, 2016](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.06357)                                                            |\n| ComplEx Literal                | [`pykeen.models.ComplExLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.complex_literal.ComplExLiteral.html)                      | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| ConvE                          | [`pykeen.models.ConvE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.conv_e.ConvE.html)                                                   | [Dettmers *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F17366)                              |\n| ConvKB                         | [`pykeen.models.ConvKB`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.conv_kb.ConvKB.html)                                                | [Nguyen *et al.*, 2018](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FN18-2053)                                                      |\n| CooccurrenceFiltered           | [`pykeen.models.CooccurrenceFilteredModel`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.meta.filtered.CooccurrenceFilteredModel.html)             | [Berrendorf *et al.*, 2022](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F943)                                                  |\n| CrossE                         | [`pykeen.models.CrossE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.crosse.CrossE.html)                                                 | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.04750)                                                                |\n| DistMA                         | [`pykeen.models.DistMA`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.distma.DistMA.html)                                                 | [Shi *et al.*, 2019](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FD19-1075.pdf)                                                     |\n| DistMult                       | [`pykeen.models.DistMult`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.distmult.DistMult.html)                                           | [Yang *et al.*, 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6575)                                                                  |\n| DistMult Literal               | [`pykeen.models.DistMultLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.distmult_literal.DistMultLiteral.html)                   | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| DistMult Literal (Gated)       | [`pykeen.models.DistMultLiteralGated`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.distmult_literal_gated.DistMultLiteralGated.html)   | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| ER-MLP                         | [`pykeen.models.ERMLP`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ermlp.ERMLP.html)                                                    | [Dong *et al.*, 2014](https:\u002F\u002Fdl.acm.org\u002Fcitation.cfm?id=2623623)                                                       |\n| ER-MLP (E)                     | [`pykeen.models.ERMLPE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ermlpe.ERMLPE.html)                                                 | [Sharifzadeh *et al.*, 2019](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                          |\n| Fixed Model                    | [`pykeen.models.FixedModel`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.mocks.FixedModel.html)                                                   | [Berrendorf *et al.*, 2021](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F691)                                                  |\n| HolE                           | [`pykeen.models.HolE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.hole.HolE.html)                                                       | [Nickel *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI16\u002Fpaper\u002FviewFile\u002F12484\u002F11828)                      |\n| InductiveNodePiece             | [`pykeen.models.InductiveNodePiece`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.inductive.inductive_nodepiece.InductiveNodePiece.html)           | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| InductiveNodePieceGNN          | [`pykeen.models.InductiveNodePieceGNN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.inductive.inductive_nodepiece_gnn.InductiveNodePieceGNN.html) | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| KG2E                           | [`pykeen.models.KG2E`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.kg2e.KG2E.html)                                                       | [He *et al.*, 2015](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F2806416.2806502)                                                     |\n| MuRE                           | [`pykeen.models.MuRE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.mure.MuRE.html)                                                       | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.09791)                                                            |\n| NTN                            | [`pykeen.models.NTN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ntn.NTN.html)                                                          | [Socher *et al.*, 2013](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.5555\u002F2999611.2999715)                                                 |\n| NodePiece                      | [`pykeen.models.NodePiece`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.node_piece.NodePiece.html)                                       | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| PairRE                         | [`pykeen.models.PairRE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.pair_re.PairRE.html)                                                | [Chao *et al.*, 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2011.03798)                                                                  |\n| ProjE                          | [`pykeen.models.ProjE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.proj_e.ProjE.html)                                                   | [Shi *et al.*, 2017](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI17\u002Fpaper\u002Fview\u002F14279)                                   |\n| QuatE                          | [`pykeen.models.QuatE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.quate.QuatE.html)                                                    | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.10281)                                                                |\n| R-GCN                          | [`pykeen.models.RGCN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rgcn.RGCN.html)                                                       | [Schlichtkrull *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1703.06103)                                                        |\n| RESCAL                         | [`pykeen.models.RESCAL`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rescal.RESCAL.html)                                                 | [Nickel *et al.*, 2011](http:\u002F\u002Fwww.cip.ifi.lmu.de\u002F~nickel\u002Fdata\u002Fpaper-icml2011.pdf)                                      |\n| RotatE                         | [`pykeen.models.RotatE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rotate.RotatE.html)                                                 | [Sun *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1902.10197v1)                                                                |\n| SimplE                         | [`pykeen.models.SimplE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.simple.SimplE.html)                                                 | [Kazemi *et al.*, 2018](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F7682-simple-embedding-for-link-prediction-in-knowledge-graphs)     |\n| Structured Embedding           | [`pykeen.models.SE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.structured_embedding.SE.html)                                           | [Bordes *et al.*, 2011](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI11\u002Fpaper\u002Fdownload\u002F3659\u002F3898)                        |\n| TorusE                         | [`pykeen.models.TorusE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.toruse.TorusE.html)                                                 | [Ebisu *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F16227)                                 |\n| TransD                         | [`pykeen.models.TransD`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_d.TransD.html)                                                | [Ji *et al.*, 2015](http:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FP15-1067)                                                           |\n| TransE                         | [`pykeen.models.TransE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_e.TransE.html)                                                | [Bordes *et al.*, 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf) |\n| TransF                         | [`pykeen.models.TransF`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_f.TransF.html)                                                | [Feng *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FKR\u002FKR16\u002Fpaper\u002Fview\u002F12887)                                      |\n| TransH                         | [`pykeen.models.TransH`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_h.TransH.html)                                                | [Wang *et al.*, 2014](https:\u002F\u002Faaai.org\u002Fpapers\u002F8870-knowledge-graph-embedding-by-translating-on-hyperplanes\u002F)            |\n| TransR                         | [`pykeen.models.TransR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_r.TransR.html)                                                | [Lin *et al.*, 2015](http:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI15\u002Fpaper\u002Fdownload\u002F9571\u002F9523\u002F)                           |\n| TuckER                         | [`pykeen.models.TuckER`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.tucker.TuckER.html)                                                 | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.09590)                                                            |\n| Unstructured Model             | [`pykeen.models.UM`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.unstructured_model.UM.html)                                             | [Bordes *et al.*, 2014](https:\u002F\u002Flink.springer.com\u002Fcontent\u002Fpdf\u002F10.1007%2Fs10994-013-5363-6.pdf)                          |\n\n### Losses\n\nThe following 15 losses are implemented by PyKEEN.\n\n| Name                                                      | Reference                                                                                                                                   | Description                                                                                           |\n|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|\n| Adversarially weighted binary cross entropy (with logits) | [`pykeen.losses.AdversarialBCEWithLogitsLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.AdversarialBCEWithLogitsLoss.html) | An adversarially weighted BCE loss.                                                                   |\n| Binary cross entropy (after sigmoid)                      | [`pykeen.losses.BCEAfterSigmoidLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.BCEAfterSigmoidLoss.html)                   | The numerically unstable version of explicit Sigmoid + BCE loss.                                      |\n| Binary cross entropy (with logits)                        | [`pykeen.losses.BCEWithLogitsLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.BCEWithLogitsLoss.html)                       | The binary cross entropy loss.                                                                        |\n| Cross entropy                                             | [`pykeen.losses.CrossEntropyLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.CrossEntropyLoss.html)                         | The cross entropy loss that evaluates the cross entropy after softmax output.                         |\n| Double Margin                                             | [`pykeen.losses.DoubleMarginLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.DoubleMarginLoss.html)                         | A limit-based scoring loss, with separate margins for positive and negative elements from [sun2018]_. |\n| Focal                                                     | [`pykeen.losses.FocalLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.FocalLoss.html)                                       | The focal loss proposed by [lin2018]_.                                                                |\n| InfoNCE loss with additive margin                         | [`pykeen.losses.InfoNCELoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.InfoNCELoss.html)                                   | The InfoNCE loss with additive margin proposed by [wang2022]_.                                        |\n| Margin ranking                                            | [`pykeen.losses.MarginRankingLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.MarginRankingLoss.html)                       | The pairwise hinge loss (i.e., margin ranking loss).                                                  |\n| Mean squared error                                        | [`pykeen.losses.MSELoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.MSELoss.html)                                           | The mean squared error loss.                                                                          |\n| Self-adversarial negative sampling                        | [`pykeen.losses.NSSALoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.NSSALoss.html)                                         | The self-adversarial negative sampling loss function proposed by [sun2019]_.                          |\n| Pairwise logistic                                         | [`pykeen.losses.PairwiseLogisticLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.PairwiseLogisticLoss.html)                 | The pairwise logistic loss.                                                                           |\n| Pointwise Hinge                                           | [`pykeen.losses.PointwiseHingeLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.PointwiseHingeLoss.html)                     | The pointwise hinge loss.                                                                             |\n| Soft margin ranking                                       | [`pykeen.losses.SoftMarginRankingLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftMarginRankingLoss.html)               | The soft pairwise hinge loss (i.e., soft margin ranking loss).                                        |\n| Softplus                                                  | [`pykeen.losses.SoftplusLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftplusLoss.html)                                 | The pointwise logistic loss (i.e., softplus loss).                                                    |\n| Soft Pointwise Hinge                                      | [`pykeen.losses.SoftPointwiseHingeLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftPointwiseHingeLoss.html)             | The soft pointwise hinge loss.                                                                        |\n\n### Regularizers\n\nThe following 6 regularizers are implemented by PyKEEN.\n\n| Name          | Reference                                                                                                                                       | Description                                                            |\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|\n| combined      | [`pykeen.regularizers.CombinedRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.CombinedRegularizer.html)           | A convex combination of regularizers.                                  |\n| lp            | [`pykeen.regularizers.LpRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.LpRegularizer.html)                       | A simple L_p norm based regularizer.                                   |\n| no            | [`pykeen.regularizers.NoRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.NoRegularizer.html)                       | A regularizer which does not perform any regularization.               |\n| normlimit     | [`pykeen.regularizers.NormLimitRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.NormLimitRegularizer.html)         | A regularizer which formulates a soft constraint on a maximum norm.    |\n| orthogonality | [`pykeen.regularizers.OrthogonalityRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.OrthogonalityRegularizer.html) | A regularizer for the soft orthogonality constraints from [wang2014]_. |\n| powersum      | [`pykeen.regularizers.PowerSumRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.PowerSumRegularizer.html)           | A simple x^p based regularizer.                                        |\n\n### Training Loops\n\nThe following 3 training loops are implemented in PyKEEN.\n\n| Name          | Reference                                                                                                                                                | Description                                                                               |\n|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|\n| lcwa          | [`pykeen.training.LCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.LCWATrainingLoop)                   | A training loop that is based upon the local closed world assumption (LCWA).              |\n| slcwa         | [`pykeen.training.SLCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SLCWATrainingLoop)                 | A training loop that uses the stochastic local closed world assumption training approach. |\n| symmetriclcwa | [`pykeen.training.SymmetricLCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SymmetricLCWATrainingLoop) | A &#34;symmetric&#34; LCWA scoring heads *and* tails at once.                                     |\n\n### Negative Samplers\n\nThe following 3 negative samplers are implemented in PyKEEN.\n\n| Name        | Reference                                                                                                                                   | Description                                                                            |\n|-------------|---------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|\n| basic       | [`pykeen.sampling.BasicNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.BasicNegativeSampler.html)             | A basic negative sampler.                                                              |\n| bernoulli   | [`pykeen.sampling.BernoulliNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.BernoulliNegativeSampler.html)     | An implementation of the Bernoulli negative sampling approach proposed by [wang2014]_. |\n| pseudotyped | [`pykeen.sampling.PseudoTypedNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.PseudoTypedNegativeSampler.html) | A sampler that accounts for which entities co-occur with a relation.                   |\n\n### Stoppers\n\nThe following 2 stoppers are implemented in PyKEEN.\n\n| Name   | Reference                                                                                                                      | Description                   |\n|--------|--------------------------------------------------------------------------------------------------------------------------------|-------------------------------|\n| early  | [`pykeen.stoppers.EarlyStopper`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fstoppers.html#pykeen.stoppers.EarlyStopper) | A harness for early stopping. |\n| nop    | [`pykeen.stoppers.NopStopper`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fstoppers.html#pykeen.stoppers.NopStopper)     | A stopper that does nothing.  |\n\n### Evaluators\n\nThe following 5 evaluators are implemented in PyKEEN.\n\n| Name             | Reference                                                                                                                                     | Description                                                              |\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|\n| classification   | [`pykeen.evaluation.ClassificationEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.ClassificationEvaluator.html)     | An evaluator that uses a classification metrics.                         |\n| macrorankbased   | [`pykeen.evaluation.MacroRankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.MacroRankBasedEvaluator.html)     | Macro-average rank-based evaluation.                                     |\n| ogb              | [`pykeen.evaluation.OGBEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.OGBEvaluator.html)                           | A sampled, rank-based evaluator that applies a custom OGB evaluation.    |\n| rankbased        | [`pykeen.evaluation.RankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.RankBasedEvaluator.html)               | A rank-based evaluator for KGE models.                                   |\n| sampledrankbased | [`pykeen.evaluation.SampledRankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.SampledRankBasedEvaluator.html) | A rank-based evaluator using sampled negatives instead of all negatives. |\n\n### Metrics\n\nThe following 44 metrics are implemented in PyKEEN.\n\n| Name                                                                                                                                           | Interval                    | Direction   | Description                                                             | Type           |\n|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|-------------|-------------------------------------------------------------------------|----------------|\n| [Accuracy](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEvaluation_of_binary_classifiers#Single_metrics)                                                      | $[0, 1]$                    | 📈           | The ratio of the number of correct classifications to the total number. | Classification |\n| [Area Under The Receiver Operating Characteristic Curve](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.roc_auc_score.html) | $[0, 1]$                    | 📈           | The area under the receiver operating characteristic curve.             | Classification |\n| [Average Precision Score](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.average_precision_score.html)                      | $[0, 1]$                    | 📈           | The average precision across different thresholds.                      | Classification |\n| [Balanced Accuracy Score](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.balanced_accuracy_score.html)                      | $[0, 1]$                    | 📈           | The average of recall obtained on each class.                           | Classification |\n| [Diagnostic Odds Ratio](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiagnostic_odds_ratio)                                                                   | $[0, ∞)$                    | 📈           | The ratio of positive and negative likelihood ratio.                    | Classification |\n| [F1 Score](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FF1_score)                                                                                             | $[0, 1]$                    | 📈           | The harmonic mean of precision and recall.                              | Classification |\n| [False Discovery Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFalse_discovery_rate)                                                                     | $[0, 1]$                    | 📉           | The proportion of predicted negatives which are true positive.          | Classification |\n| [False Negative Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FType_I_and_type_II_errors#False_positive_and_false_negative_rates)                         | $[0, 1]$                    | 📉           | The probability that a truly positive triple is predicted negative.     | Classification |\n| [False Omission Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_and_negative_predictive_values)                                                   | $[0, 1]$                    | 📉           | The proportion of predicted positives which are true negative.          | Classification |\n| [False Positive Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFalse_positive_rate)                                                                       | $[0, 1]$                    | 📉           | The probability that a truly negative triple is predicted positive.     | Classification |\n| [Fowlkes Mallows Index](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFowlkes%E2%80%93Mallows_index)                                                           | $[0, 1]$                    | 📈           | The Fowlkes Mallows index.                                              | Classification |\n| [Informedness](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInformedness)                                                                                     | $[-1, 1]$                   | 📈           | The informedness metric.                                                | Classification |\n| [Matthews Correlation Coefficient](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPhi_coefficient)                                                              | $[-1, 1]$                   | 📈           | The Matthews Correlation Coefficient (MCC).                             | Classification |\n| [Negative Likelihood Ratio](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNegative_likelihood_ratio)                                                           | $[0, ∞)$                    | 📉           | The ratio of false positive rate to true positive rate.                 | Classification |\n| [Negative Predictive Value](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNegative_predictive_value)                                                           | $[0, 1]$                    | 📈           | The proportion of predicted negatives which are true negatives.         | Classification |\n| [Number of Scores](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Freference\u002Fevaluation.html)                                                          | $[0, ∞)$                    | 📈           | The number of scores.                                                   | Classification |\n| [Positive Likelihood Ratio](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_likelihood_ratio)                                                           | $[0, ∞)$                    | 📈           | The ratio of true positive rate to false positive rate.                 | Classification |\n| [Positive Predictive Value](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_predictive_value)                                                           | $[0, 1]$                    | 📈           | The proportion of predicted positives which are true positive.          | Classification |\n| [Prevalence Threshold](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrevalence_threshold)                                                                     | $[0, ∞)$                    | 📉           | The prevalence threshold.                                               | Classification |\n| [Threat Score](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSensitivity_and_specificity)                                                                      | $[0, 1]$                    | 📈           | The harmonic mean of precision and recall.                              | Classification |\n| [True Negative Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSpecificity_(tests))                                                                        | $[0, 1]$                    | 📈           | The probability that a truly false triple is predicted negative.        | Classification |\n| [True Positive Rate](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSensitivity_(test))                                                                         | $[0, 1]$                    | 📈           | The probability that a truly positive triple is predicted positive.     | Classification |\n| [Adjusted Arithmetic Mean Rank (AAMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                       | $[0, 2)$                    | 📉           | The mean over all ranks divided by its expected value.                  | Ranking        |\n| [Adjusted Arithmetic Mean Rank Index (AAMRI)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                | $[-1, 1]$                   | 📈           | The re-indexed adjusted mean rank (AAMR)                                | Ranking        |\n| [Adjusted Geometric Mean Rank Index (AGMRI)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                 | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | The re-indexed adjusted geometric mean rank (AGMRI)                     | Ranking        |\n| [Adjusted Hits at K](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                         | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | The re-indexed adjusted hits at K                                       | Ranking        |\n| [Adjusted Inverse Harmonic Mean Rank](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                        | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | The re-indexed adjusted MRR                                             | Ranking        |\n| [Geometric Mean Rank (GMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                  | $[1, ∞)$                    | 📉           | The geometric mean over all ranks.                                      | Ranking        |\n| [Harmonic Mean Rank (HMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                   | $[1, ∞)$                    | 📉           | The harmonic mean over all ranks.                                       | Ranking        |\n| [Hits @ K](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Ftutorial\u002Funderstanding_evaluation.html#hits-k)                                              | $[0, 1]$                    | 📈           | The relative frequency of ranks not larger than a given k.              | Ranking        |\n| [Inverse Arithmetic Mean Rank (IAMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                        | $(0, 1]$                    | 📈           | The inverse of the arithmetic mean over all ranks.                      | Ranking        |\n| [Inverse Geometric Mean Rank (IGMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                         | $(0, 1]$                    | 📈           | The inverse of the geometric mean over all ranks.                       | Ranking        |\n| [Inverse Median Rank](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                        | $(0, 1]$                    | 📈           | The inverse of the median over all ranks.                               | Ranking        |\n| [Mean Rank (MR)](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Ftutorial\u002Funderstanding_evaluation.html#mean-rank)                                     | $[1, ∞)$                    | 📉           | The arithmetic mean over all ranks.                                     | Ranking        |\n| [Mean Reciprocal Rank (MRR)](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMean_reciprocal_rank)                                                               | $(0, 1]$                    | 📈           | The inverse of the harmonic mean over all ranks.                        | Ranking        |\n| [Median Rank](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                                | $[1, ∞)$                    | 📉           | The median over all ranks.                                              | Ranking        |\n| [z-Geometric Mean Rank (zGMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                               | $(-∞, ∞)$                   | 📈           | The z-scored geometric mean rank                                        | Ranking        |\n| [z-Hits at K](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                                | $(-∞, ∞)$                   | 📈           | The z-scored hits at K                                                  | Ranking        |\n| [z-Mean Rank (zMR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                          | $(-∞, ∞)$                   | 📈           | The z-scored mean rank                                                  | Ranking        |\n| [z-Mean Reciprocal Rank (zMRR)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                              | $(-∞, ∞)$                   | 📈           | The z-scored mean reciprocal rank                                       | Ranking        |\n\n### Trackers\n\nThe following 8 trackers are implemented in PyKEEN.\n\n| Name        | Reference                                                                                                                               | Description                                               |\n|-------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|\n| console     | [`pykeen.trackers.ConsoleResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.ConsoleResultTracker.html)         | A class that directly prints to console.                  |\n| csv         | [`pykeen.trackers.CSVResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.CSVResultTracker.html)                 | Tracking results to a CSV file.                           |\n| json        | [`pykeen.trackers.JSONResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.JSONResultTracker.html)               | Tracking results to a JSON lines file.                    |\n| mlflow      | [`pykeen.trackers.MLFlowResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.MLFlowResultTracker.html)           | A tracker for MLflow.                                     |\n| neptune     | [`pykeen.trackers.NeptuneResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.NeptuneResultTracker.html)         | A tracker for Neptune.ai.                                 |\n| python      | [`pykeen.trackers.PythonResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.PythonResultTracker.html)           | A tracker which stores everything in Python dictionaries. |\n| tensorboard | [`pykeen.trackers.TensorBoardResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.TensorBoardResultTracker.html) | A tracker for TensorBoard.                                |\n| wandb       | [`pykeen.trackers.WANDBResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.WANDBResultTracker.html)             | A tracker for Weights and Biases.                         |\n\n## Experimentation\n\n### Reproduction\n\nPyKEEN includes a set of curated experimental settings for reproducing past landmark\nexperiments. They can be accessed and run like:\n\n```shell\npykeen experiments reproduce tucker balazevic2019 fb15k\n```\n\nWhere the three arguments are the model name, the reference, and the dataset.\nThe output directory can be optionally set with `-d`.\n\n### Ablation\n\nPyKEEN includes the ability to specify ablation studies using the\nhyper-parameter optimization module. They can be run like:\n\n```shell\npykeen experiments ablation ~\u002Fpath\u002Fto\u002Fconfig.json\n```\n\n### Large-scale Reproducibility and Benchmarking Study\n\nWe used PyKEEN to perform a large-scale reproducibility and benchmarking study which are described in\n[our article](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTPAMI.2021.3124805):\n\n```bibtex\n@article{ali2020benchmarking,\n  author={Ali, Mehdi and Berrendorf, Max and Hoyt, Charles Tapley and Vermue, Laurent and Galkin, Mikhail and Sharifzadeh, Sahand and Fischer, Asja and Tresp, Volker and Lehmann, Jens},\n  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},\n  title={Bringing Light Into the Dark: A Large-scale Evaluation of Knowledge Graph Embedding Models under a Unified Framework},\n  year={2021},\n  pages={1-1},\n  doi={10.1109\u002FTPAMI.2021.3124805}}\n}\n```\n\nWe have made all code, experimental configurations, results, and analyses that lead to our interpretations available\nat https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fbenchmarking.\n\n## Contributing\n\nContributions, whether filing an issue, making a pull request, or forking, are appreciated.\nSee [CONTRIBUTING.md](\u002FCONTRIBUTING.md) for more information on getting involved.\n\nIf you have questions, please use the GitHub discussions feature at\nhttps:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fdiscussions\u002Fnew.\n\n## Acknowledgements\n\n### Supporters\n\nThis project has been supported by several organizations (in alphabetical order):\n\n- [Bayer](https:\u002F\u002Fwww.bayer.com\u002F)\n- [CoronaWhy](https:\u002F\u002Fwww.coronawhy.org\u002F)\n- [Enveda Biosciences](https:\u002F\u002Fwww.envedabio.com\u002F)\n- [Fraunhofer Institute for Algorithms and Scientific Computing](https:\u002F\u002Fwww.scai.fraunhofer.de)\n- [Fraunhofer Institute for Intelligent Analysis and Information Systems](https:\u002F\u002Fwww.iais.fraunhofer.de)\n- [Fraunhofer Center for Machine Learning](https:\u002F\u002Fwww.cit.fraunhofer.de\u002Fde\u002Fzentren\u002Fmaschinelles-lernen.html)\n- [Harvard Program in Therapeutic Science - Laboratory of Systems Pharmacology](https:\u002F\u002Fhits.harvard.edu\u002Fthe-program\u002Flaboratory-of-systems-pharmacology\u002F)\n- [Ludwig-Maximilians-Universität München](https:\u002F\u002Fwww.en.uni-muenchen.de\u002Findex.html)\n- [Munich Center for Machine Learning (MCML)](https:\u002F\u002Fmcml.ai\u002F)\n- [Siemens](https:\u002F\u002Fnew.siemens.com\u002Fglobal\u002Fen.html)\n- [Smart Data Analytics Research Group (University of Bonn & Fraunhofer IAIS)](https:\u002F\u002Fsda.tech)\n- [Technical University of Denmark - DTU Compute - Section for Cognitive Systems](https:\u002F\u002Fwww.compute.dtu.dk\u002Fenglish\u002Fresearch\u002Fresearch-sections\u002Fcogsys)\n- [Technical University of Denmark - DTU Compute - Section for Statistics and Data Analysis](https:\u002F\u002Fwww.compute.dtu.dk\u002Fenglish\u002Fresearch\u002Fresearch-sections\u002Fstat)\n- [University of Bonn](https:\u002F\u002Fwww.uni-bonn.de\u002F)\n\n### Funding\n\nThe development of PyKEEN has been funded by the following grants:\n\n| Funding Body                                             | Program                                                                                                                       | Grant           |\n|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------|\n| DARPA                                                    | [Young Faculty Award (PI: Benjamin Gyori)](https:\u002F\u002Findralab.github.io\u002F#projects)                                              | W911NF2010255   |\n| DARPA                                                    | [Automating Scientific Knowledge Extraction (ASKE)](https:\u002F\u002Fwww.darpa.mil\u002Fprogram\u002Fautomating-scientific-knowledge-extraction) | HR00111990009   |\n| German Federal Ministry of Education and Research (BMBF) | [Maschinelles Lernen mit Wissensgraphen (MLWin)](https:\u002F\u002Fmlwin.de)                                                            | 01IS18050D      |\n| German Federal Ministry of Education and Research (BMBF) | [Munich Center for Machine Learning (MCML)](https:\u002F\u002Fmcml.ai)                                                                  | 01IS18036A      |\n| Innovation Fund Denmark (Innovationsfonden)              | [Danish Center for Big Data Analytics driven Innovation (DABAI)](https:\u002F\u002Fdabai.dk)                                            | Grand Solutions |\n\n### Logo\n\nThe PyKEEN logo was designed by [Carina Steinborn](https:\u002F\u002Fwww.xing.com\u002Fprofile\u002FCarina_Steinborn2)\n\n## Citation\n\nIf you have found PyKEEN useful in your work, please consider citing\n[our article](http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-825.html):\n\n```bibtex\n@article{ali2021pykeen,\n    author = {Ali, Mehdi and Berrendorf, Max and Hoyt, Charles Tapley and Vermue, Laurent and Sharifzadeh, Sahand and Tresp, Volker and Lehmann, Jens},\n    journal = {Journal of Machine Learning Research},\n    number = {82},\n    pages = {1--6},\n    title = {{PyKEEN 1.0: A Python Library for Training and Evaluating Knowledge Graph Embeddings}},\n    url = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-825.html},\n    volume = {22},\n    year = {2021}\n}\n```\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpykeen_pykeen_readme_c867e8f12af6.png\" height=\"150\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">\n  PyKEEN\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Factions\u002Fworkflows\u002Fcommon.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Factions\u002Fworkflows\u002Fcommon.yml\u002Fbadge.svg\"\n         alt=\"GitHub Actions\">\n  \u003C\u002Fa>\n\n  \u003Ca href='https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT'>\n    \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg' alt='License'\u002F>\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F242672435\">\n    \u003Cimg src=\"https:\u002F\u002Fzenodo.org\u002Fbadge\u002F242672435.svg\" alt=\"DOI\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Foptuna.org\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOptuna-integrated-blue\" alt=\"Optuna integrated\" height=\"20\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fpytorchlightning.ai\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Lightning-792ee5?logo=pytorchlightning&logoColor=white\" alt=\"PyTorch Lightning\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fruff\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fastral-sh\u002Fruff\u002Fmain\u002Fassets\u002Fbadge\u002Fv2.json\" alt=\"Ruff\" style=\"max-width:100%;\">\n  \u003C\u002Fa>\n\n  \u003Ca href=\".github\u002FCODE_OF_CONDUCT.md\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContributor%20Covenant-2.1-4baaaa.svg\" alt=\"Contributor Covenant\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cb>PyKEEN\u003C\u002Fb> (\u003Cb>P\u003C\u002Fb>ython \u003Cb>K\u003C\u002Fb>nowl\u003Cb>E\u003C\u002Fb>dge \u003Cb>E\u003C\u002Fb>mbeddi\u003Cb>N\u003C\u002Fb>gs) 是一个 Python 软件包，旨在训练和评估知识图嵌入模型（包含多模态信息）。\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#installation\">安装\u003C\u002Fa> •\n  \u003Ca href=\"#quickstart\">快速入门\u003C\u002Fa> •\n  \u003Ca href=\"#datasets\">数据集（37个）\u003C\u002Fa> •\n  \u003Ca href=\"#inductive-datasets\">归纳式数据集（5个）\u003C\u002Fa> •\n  \u003Ca href=\"#models\">模型（40个）\u003C\u002Fa> •\n  \u003Ca href=\"#supporters\">支持\u003C\u002Fa> •\n  \u003Ca href=\"#citation\">引用\u003C\u002Fa>\n\u003C\u002Fp>\n\n## 安装 ![PyPI - Python 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fpykeen) ![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fpykeen)\n\nPyKEEN 的最新稳定版本需要 Python 3.9 或更高版本。可以通过 [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpykeen) 下载并安装：\n\n```shell\npip install pykeen\n```\n\n也可以直接从 [GitHub](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen) 上的源代码安装最新版本：\n\n```shell\npip install git+https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen.git\n```\n\n有关安装的更多信息（例如开发模式、Windows 安装、Colab、Kaggle、附加组件等），请参阅[安装文档](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html)。\n\n## 快速入门 [![文档状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpykeen_pykeen_readme_13d664e1afd7.png)](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n\n此示例展示了如何在一个数据集上训练模型，并在另一个数据集上进行测试。\n\n最快上手的方式是使用 pipeline 函数。它提供了一个高层次的入口，用于访问该软件包的可扩展功能。以下示例展示了如何在 [Nations](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Nations.html#pykeen.datasets.Nations) 数据集中训练和评估 [TransE](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.TransE.html#pykeen.models.TransE) 模型。默认情况下，训练循环采用 [随机局部封闭世界假设 (sLCWA)](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SLCWATrainingLoop) 的训练方法，并使用 [基于排名的评估](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fevaluation\u002Frank_based.html#pykeen.evaluation.RankBasedEvaluator) 进行评估。\n\n```python\nfrom pykeen.pipeline import pipeline\n\nresult = pipeline(\n    model='TransE',\n    dataset='nations',\n)\n```\n\n结果会以 [PipelineResult](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fpipeline.html#pykeen.pipeline.PipelineResult) 数据类的实例形式返回，其中包含已训练模型、训练循环、评估结果等属性。更多教程请参阅[使用自定义数据集](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fbyo\u002Fdata.html)、[理解评估](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Funderstanding_evaluation.html)以及[进行新颖的链接预测](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Fmaking_predictions.html)。\n\nPyKEEN 具有高度的可扩展性，具体表现为：\n\n- 每个模型都具有相同的 API，因此可以轻松替换 `pykeen.models` 中的任何模型；\n- 每个训练循环也遵循统一的 API，因此可以随时替换为 `pykeen.training.LCWATrainingLoop`；\n- 用户还可以通过 `from pykeen.triples.TriplesFactory` 自定义生成三元组工厂。\n\n完整的文档可在 https:\u002F\u002Fpykeen.readthedocs.io 上查阅。\n\n## 实现\n\n以下是 `pykeen` 中实现的模型、数据集、训练模式、评估器和指标。\n\n### 数据集\n\nPyKEEN 内置了以下 37 个数据集。每个数据集的引用分别对应于描述该数据集的论文、首次使用该数据集进行知识图嵌入模型研究的论文，或者如果前两者均不存在，则为数据集的 URL。如果您希望使用自定义数据集，请参阅[自带数据集](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fbyo\u002Fdata.html)教程。如果您有其他建议希望添加到 PyKEEN 中的数据集，请在此处告知我们：[这里](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002Fnew?assignees=cthoyt&labels=New+Dataset&template=dataset-request.md&title=Add+%5BDATASET+NAME%5D)。\n\n| 名称                               | 文档                                                                                                       | 引用                                                                                                                | 实体数 | 关系数 | 三元组数 |\n|------------------------------------|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|--------|--------|----------|\n| Aristo-v4                          | [`pykeen.datasets.AristoV4`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.AristoV4.html)             | [Chen *et al*., 2021](https:\u002F\u002Fopenreview.net\u002Fpdf?id=Qa3uS3H7-Le)                                                        |      42016 |        1593 |    279425 |\n| BioKG                              | [`pykeen.datasets.BioKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.BioKG.html)                   | [Walsh *et al*., 2019](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3340531.3412776)                                                         |     105524 |          17 |   2067997 |\n| 临床知识图谱           | [`pykeen.datasets.CKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CKG.html)                       | [Santos *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1101\u002F2020.05.09.084897)                                                      |    7617419 |          11 |  26691525 |\n| CN3l 家族                        | [`pykeen.datasets.CN3l`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CN3l.html)                     | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |       3206 |          42 |     21777 |\n| CoDEx (large)                      | [`pykeen.datasets.CoDExLarge`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExLarge.html)         | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |      77951 |          69 |    612437 |\n| CoDEx (medium)                     | [`pykeen.datasets.CoDExMedium`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExMedium.html)       | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |      17050 |          51 |    206205 |\n| CoDEx (small)                      | [`pykeen.datasets.CoDExSmall`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CoDExSmall.html)         | [Safavi *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2009.07810)                                                               |       2034 |          42 |     36543 |\n| ConceptNet                         | [`pykeen.datasets.ConceptNet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ConceptNet.html)         | [Speer *et al*., 2017](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03975)                                                                |   28370083 |          50 |  34074917 |\n| 国家                             | [`pykeen.datasets.Countries`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Countries.html)           | [Bouchard *et al*., 2015](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FSSS\u002FSSS15\u002Fpaper\u002Fview\u002F10257\u002F10026)                          |        271 |           2 |      1158 |\n| 常识知识图谱        | [`pykeen.datasets.CSKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.CSKG.html)                     | [Ilievski *et al*., 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2012.11490)                                                              |    2087833 |          58 |   4598728 |\n| DB100K                             | [`pykeen.datasets.DB100K`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DB100K.html)                 | [Ding *et al*., 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1805.02408)                                                                 |      99604 |         470 |    697479 |\n| DBpedia50                          | [`pykeen.datasets.DBpedia50`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DBpedia50.html)           | [Shi *et al*., 2017](https:\u002F\u002Farxiv.org\u002Fabs\u002F1711.03438)                                                                  |      24624 |         351 |     34421 |\n| 药物重定位知识图谱 | [`pykeen.datasets.DRKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.DRKG.html)                     | [`gnn4dr\u002FDRKG`](https:\u002F\u002Fgithub.com\u002Fgnn4dr\u002FDRKG)                                                                         |      97238 |         107 |   5874257 |\n| FB15k                              | [`pykeen.datasets.FB15k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.FB15k.html)                   | [Bordes *et al*., 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf) |      14951 |        1345 |    592213 |\n| FB15k-237                          | [`pykeen.datasets.FB15k237`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.FB15k237.html)             | [Toutanova *et al*., 2015](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FW15-4007\u002F)                                                  |      14505 |         237 |    310079 |\n| 全球生物相互作用         | [`pykeen.datasets.Globi`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Globi.html)                   | [Poelen *et al*., 2014](https:\u002F\u002Fdoi.org\u002F10.1016\u002Fj.ecoinf.2014.08.005)                                                   |     404207 |          39 |   1966385 |\n| Hetionet                           | [`pykeen.datasets.Hetionet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Hetionet.html)             | [Himmelstein *et al*., 2017](https:\u002F\u002Fdoi.org\u002F10.7554\u002FeLife.26726)                                                       |      45158 |          24 |   2250197 |\n| 亲属关系                         | [`pykeen.datasets.Kinships`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Kinships.html)             | [Kemp *et al*., 2006](https:\u002F\u002Fwww.aaai.org\u002FPapers\u002FAAAI\u002F2006\u002FAAAI06-061.pdf)                                             |        104 |          25 |     10686 |\n| 国家                             | [`pykeen.datasets.Nations`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Nations.html)               | [`ZhenfengLei\u002FKGDatasets`](https:\u002F\u002Fgithub.com\u002FZhenfengLei\u002FKGDatasets)                                                   |         14 |          55 |      1992 |\n| 国家L                            | [`pykeen.datasets.NationsLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.NationsLiteral.html) | [`pykeen\u002Fpykeen`](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                                     |         14 |          55 |      1992 |\n| OGB BioKG                          | [`pykeen.datasets.OGBBioKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OGBBioKG.html)             | [Hu *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.00687)                                                                   |      93773 |          51 |   5088434 |\n| OGB WikiKG2                        | [`pykeen.datasets.OGBWikiKG2`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OGBWikiKG2.html)         | [Hu *et al*., 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.00687)                                                                   |    2500604 |         535 |  17137181 |\n| OpenBioLink                        | [`pykeen.datasets.OpenBioLink`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenBioLink.html)       | [Breit *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbioinformatics\u002Fbtaa274)                                                  |     180992 |          28 |   4563407 |\n| OpenBioLink LQ                     | [`pykeen.datasets.OpenBioLinkLQ`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenBioLinkLQ.html)   | [Breit *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbioinformatics\u002Fbtaa274)                                                  |     480876 |          32 |  27320889 |\n| OpenEA 家族                      | [`pykeen.datasets.OpenEA`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.OpenEA.html)                 | [Sun *et al*., 2020](http:\u002F\u002Fwww.vldb.org\u002Fpvldb\u002Fvol13\u002Fp2326-sun.pdf)                                                     |      15000 |         248 |     38265 |\n| PharMeBINet                        | [`pykeen.datasets.PharMeBINet`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharMeBINet.html)       | [Königs *et al*., 2022](https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fs41597-022-01510-3)                                             |    2869407 |         208 |  15883653 |\n| PharmKG                            | [`pykeen.datasets.PharmKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharmKG.html)               | [Zheng *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbib\u002Fbbaa344)                                                             |     188296 |          39 |   1093236 |\n| PharmKG8k                          | [`pykeen.datasets.PharmKG8k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PharmKG8k.html)           | [Zheng *et al*., 2020](https:\u002F\u002Fdoi.org\u002F10.1093\u002Fbib\u002Fbbaa344)                                                             |       7247 |          28 |    485787 |\n| PrimeKG                            | [`pykeen.datasets.PrimeKG`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.PrimeKG.html)               | [Chandak *et al*., 2022](https:\u002F\u002Fdoi.org\u002F10.1101\u002F2022.05.01.489928)                                                     |     129375 |          30 |   8100498 |\n| 统一医学语言系统    | [`pykeen.datasets.UMLS`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.UMLS.html)                     | [`ZhenfengLei\u002FKGDatasets`](https:\u002F\u002Fgithub.com\u002FZhenfengLei\u002FKGDatasets)                                                   |        135 |          46 |      6529 |\n| WD50K (三元组)                    | [`pykeen.datasets.WD50KT`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WD50KT.html)                 | [Galkin *et al*., 2020](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002F2020.emnlp-main.596\u002F)                                          |      40107 |         473 |    232344 |\n| Wikidata5M                         | [`pykeen.datasets.Wikidata5M`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.Wikidata5M.html)         | [Wang *et al*., 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06136)                                                                 |    4594149 |         822 |  20624239 |\n| WK3l-120k 家族                   | [`pykeen.datasets.WK3l120k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WK3l120k.html)             | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |     119748 |        3109 |   1375406 |\n| WK3l-15k 家族                    | [`pykeen.datasets.WK3l15k`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WK3l15k.html)               | [Chen *et al*., 2017](https:\u002F\u002Fwww.ijcai.org\u002FProceedings\u002F2017\u002F0209.pdf)                                                  |      15126 |        1841 |    209041 |\n| WordNet-18                         | [`pykeen.datasets.WN18`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WN18.html)                     | [Bordes *et al*., 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1301.3485)                                                                |      40943 |          18 |    151442 |\n| WordNet-18 (RR)                    | [`pykeen.datasets.WN18RR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.WN18RR.html)                 | [Toutanova *et al*., 2015](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FW15-4007\u002F)                                                  |      40559 |          11 |     92583 |\n| YAGO3-10                           | [`pykeen.datasets.YAGO310`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.YAGO310.html)               | [Mahdisoltani *et al*., 2015](http:\u002F\u002Fservice.tsi.telecom-paristech.fr\u002Fcgi-bin\u002F\u002Fvalipub_download.cgi?dId=284)            |     123143 |          37 |   1089000 |\n\n### 归纳型数据集\n\nPyKEEN 内置了以下 5 个归纳型数据集。\n\n| 名称            | 文档                                                                                                             | 引用                                                  |\n|-----------------|---------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|\n| ILPC2022 Large  | [`pykeen.datasets.ILPC2022Large`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ILPC2022Large.html)         | [Galkin *等*, 2022](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01520) |\n| ILPC2022 Small  | [`pykeen.datasets.ILPC2022Small`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.ILPC2022Small.html)         | [Galkin *等*, 2022](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01520) |\n| FB15k-237       | [`pykeen.datasets.InductiveFB15k237`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveFB15k237.html) | [Teru *等*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n| NELL            | [`pykeen.datasets.InductiveNELL`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveNELL.html)         | [Teru *等*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n| WordNet-18 (RR) | [`pykeen.datasets.InductiveWN18RR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.datasets.InductiveWN18RR.html)     | [Teru *等*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.06962)   |\n\n### 表征方法\n\nPyKEEN 实现了以下 22 种表征方法。\n\n| 名称                       | 参考文献                                                                                                                                                   |\n|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 后填                       | [`pykeen.nn.BackfillRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.BackfillRepresentation.html)                      |\n| 文本编码                   | [`pykeen.nn.BiomedicalCURIERepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.BiomedicalCURIERepresentation.html)        |\n| 组合                       | [`pykeen.nn.CombinedRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.CombinedRepresentation.html)                      |\n| 嵌入                       | [`pykeen.nn.Embedding`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.Embedding.html)                                                |\n| EmbeddingBag               | [`pykeen.nn.EmbeddingBagRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.EmbeddingBagRepresentation.html)              |\n| 特征化消息传递             | [`pykeen.nn.FeaturizedMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.FeaturizedMessagePassingRepresentation.html) |\n| 低秩嵌入                   | [`pykeen.nn.LowRankRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.LowRankRepresentation.html)                        |\n| 多重后填                   | [`pykeen.nn.MultiBackfillRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.MultiBackfillRepresentation.html)            |\n| NodePiece                  | [`pykeen.nn.NodePieceRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.node_piece.representation.NodePieceRepresentation.html)         |\n| 分区                       | [`pykeen.nn.PartitionRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.PartitionRepresentation.html)                    |\n| R-GCN                      | [`pykeen.nn.RGCNRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.message_passing.RGCNRepresentation.html)                             |\n| 简单消息传递               | [`pykeen.nn.SimpleMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.SimpleMessagePassingRepresentation.html)         |\n| CompGCN                    | [`pykeen.nn.SingleCompGCNRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.SingleCompGCNRepresentation.html)            |\n| 子集表征                   | [`pykeen.nn.SubsetRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.SubsetRepresentation.html)                          |\n| 张量训练                   | [`pykeen.nn.TensorTrainRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TensorTrainRepresentation.html)                |\n| 文本编码                   | [`pykeen.nn.TextRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TextRepresentation.html)                              |\n| 分词                       | [`pykeen.nn.TokenizationRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.node_piece.representation.TokenizationRepresentation.html)   |\n| 转换                       | [`pykeen.nn.TransformedRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.TransformedRepresentation.html)                |\n| 类型化消息传递             | [`pykeen.nn.TypedMessagePassingRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.pyg.TypedMessagePassingRepresentation.html)           |\n| 视觉                       | [`pykeen.nn.VisualRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.vision.representation.VisualRepresentation.html)                   |\n| Wikidata 文本编码          | [`pykeen.nn.WikidataTextRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.representation.WikidataTextRepresentation.html)              |\n| Wikidata 视觉              | [`pykeen.nn.WikidataVisualRepresentation`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.vision.representation.WikidataVisualRepresentation.html)   |\n\n### 相互作用模型\n\nPyKEEN 实现了以下 34 种相互作用模型。\n\n| 名称                           | 参考                                                                                                                                   | 引用                                                                                                                   |\n|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|\n| AutoSF                         | [`pykeen.nn.AutoSFInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.AutoSFInteraction.html)                       | [Zhang *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.11682)                                                                   |\n| BoxE                           | [`pykeen.nn.BoxEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.BoxEInteraction.html)                           | [Abboud *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2007.06267)                                                                  |\n| ComplEx                        | [`pykeen.nn.ComplExInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ComplExInteraction.html)                     | [Trouillon *et al.*, 2016](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.06357)                                                               |\n| ConvE                          | [`pykeen.nn.ConvEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ConvEInteraction.html)                         | [Dettmers *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F17366)                                 |\n| ConvKB                         | [`pykeen.nn.ConvKBInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ConvKBInteraction.html)                       | [Nguyen *et al.*, 2018](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FN18-2053)                                                         |\n| Canonical Tensor Decomposition | [`pykeen.nn.CPInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.CPInteraction.html)                               | [Lacroix *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.07297)                                                                 |\n| CrossE                         | [`pykeen.nn.CrossEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.CrossEInteraction.html)                       | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.04750)                                                                   |\n| DistMA                         | [`pykeen.nn.DistMAInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.DistMAInteraction.html)                       | [Shi *et al.*, 2019](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FD19-1075.pdf)                                                        |\n| DistMult                       | [`pykeen.nn.DistMultInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.DistMultInteraction.html)                   | [Yang *et al.*, 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6575)                                                                     |\n| ER-MLP                         | [`pykeen.nn.ERMLPInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ERMLPInteraction.html)                         | [Dong *et al.*, 2014](https:\u002F\u002Fstorage.googleapis.com\u002Fpub-tools-public-publication-data\u002Fpdf\u002F45634.pdf)                      |\n| ER-MLP (E)                     | [`pykeen.nn.ERMLPEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ERMLPEInteraction.html)                       | [Sharifzadeh *et al.*, 2019](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                             |\n| HolE                           | [`pykeen.nn.HolEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.HolEInteraction.html)                           | [Nickel *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI16\u002Fpaper\u002FviewFile\u002F12484\u002F11828)                         |\n| KG2E                           | [`pykeen.nn.KG2EInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.KG2EInteraction.html)                           | [He *et al.*, 2015](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F2806416.2806502)                                                        |\n| LineaRE                        | [`pykeen.nn.LineaREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.LineaREInteraction.html)                     | [Peng *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.10037)                                                                    |\n| MultiLinearTucker              | [`pykeen.nn.MultiLinearTuckerInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.MultiLinearTuckerInteraction.html) | [Tucker *et al.*, 1966](https:\u002F\u002Fdx.doi.org\u002F10.1007\u002FBF02289464)                                                             |\n| MuRE                           | [`pykeen.nn.MuREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.MuREInteraction.html)                           | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.09791)                                                               |\n| NTN                            | [`pykeen.nn.NTNInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.NTNInteraction.html)                             | [Socher *et al.*, 2013](https:\u002F\u002Fproceedings.neurips.cc\u002Fpaper\u002F2013\u002Ffile\u002Fb337e84de8752b27eda3a12363109e80-Paper.pdf)         |\n| PairRE                         | [`pykeen.nn.PairREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.PairREInteraction.html)                       | [Chao *et al.*, 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2011.03798)                                                                     |\n| ProjE                          | [`pykeen.nn.ProjEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.ProjEInteraction.html)                         | [Shi *et al.*, 2017](https:\u002F\u002Faaai.org\u002Fpapers\u002F10677-aaai-31-2017\u002F)                                                          |\n| QuatE                          | [`pykeen.nn.QuatEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.QuatEInteraction.html)                         | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.10281)                                                                   |\n| RESCAL                         | [`pykeen.nn.RESCALInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.RESCALInteraction.html)                       | [Nickel *et al.*, 2011](https:\u002F\u002Ficml.cc\u002F2011\u002Fpapers\u002F438_icmlpaper.pdf)                                                     |\n| RotatE                         | [`pykeen.nn.RotatEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.RotatEInteraction.html)                       | [Sun *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1902.10197)                                                                     |\n| Structured Embedding           | [`pykeen.nn.SEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.SEInteraction.html)                               | [Bordes *et al.*, 2011](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI11\u002Fpaper\u002Fdownload\u002F3659\u002F3898)                           |\n| SimplE                         | [`pykeen.nn.SimplEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.SimplEInteraction.html)                       | [Kazemi *et al.*, 2018](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F7682-simple-embedding-for-link-prediction-in-knowledge-graphs)        |\n| TorusE                         | [`pykeen.nn.TorusEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TorusEInteraction.html)                       | [Ebisu *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F16227)                                    |\n| TransD                         | [`pykeen.nn.TransDInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransDInteraction.html)                       | [Ji *et al.*, 2015](http:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FP15-1067)                                                              |\n| TransE                         | [`pykeen.nn.TransEInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransEInteraction.html)                       | [Bordes *et al.*, 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf)    |\n| TransF                         | [`pykeen.nn.TransFInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransFInteraction.html)                       | [Feng *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FKR\u002FKR16\u002Fpaper\u002Fview\u002F12887)                                         |\n| Transformer                    | [`pykeen.nn.TransformerInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransformerInteraction.html)             | [Galkin *et al.*, 2020](https:\u002F\u002Fdoi.org\u002F10.18653\u002Fv1\u002F2020.emnlp-main.596)                                                   |\n| TransH                         | [`pykeen.nn.TransHInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransHInteraction.html)                       | [Wang *et al.*, 2014](https:\u002F\u002Faaai.org\u002Fpapers\u002F8870-knowledge-graph-embedding-by-translating-on-hyperplanes\u002F)               |\n| TransR                         | [`pykeen.nn.TransRInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TransRInteraction.html)                       | [Lin *et al.*, 2015](https:\u002F\u002Faaai.org\u002Fpapers\u002F9491-learning-entity-and-relation-embeddings-for-knowledge-graph-completion\u002F) |\n| TripleRE                       | [`pykeen.nn.TripleREInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TripleREInteraction.html)                   | [Yu *et al.*, 2021](https:\u002F\u002Fvixra.org\u002Fabs\u002F2112.0095)                                                                       |\n| TuckER                         | [`pykeen.nn.TuckERInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.TuckERInteraction.html)                       | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.09590)                                                               |\n| Unstructured Model             | [`pykeen.nn.UMInteraction`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.nn.modules.UMInteraction.html)                               | [Bordes *et al.*, 2014](https:\u002F\u002Flink.springer.com\u002Fcontent\u002Fpdf\u002F10.1007%2Fs10994-013-5363-6.pdf)                             |\n\n### Models\n\nThe following 40 models are implemented by PyKEEN.\n\n| Name                           | Model                                                                                                                                                           | Citation                                                                                                                |\n|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|\n| AutoSF                         | [`pykeen.models.AutoSF`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.auto_sf.AutoSF.html)                                                | [Zhang *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.11682)                                                                |\n| BoxE                           | [`pykeen.models.BoxE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.boxe.BoxE.html)                                                       | [Abboud *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fabs\u002F2007.06267)                                                               |\n| Canonical Tensor Decomposition | [`pykeen.models.CP`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.cp.CP.html)                                                             | [Lacroix *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.07297)                                                              |\n| CompGCN                        | [`pykeen.models.CompGCN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.compgcn.CompGCN.html)                                              | [Vashishth *et al.*, 2020](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1911.03082)                                                            |\n| ComplEx                        | [`pykeen.models.ComplEx`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.complex.ComplEx.html)                                              | [Trouillon *et al.*, 2016](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.06357)                                                            |\n| ComplEx Literal                | [`pykeen.models.ComplExLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.complex_literal.ComplExLiteral.html)                      | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| ConvE                          | [`pykeen.models.ConvE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.conv_e.ConvE.html)                                                   | [Dettmers *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F17366)                              |\n| ConvKB                         | [`pykeen.models.ConvKB`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.conv_kb.ConvKB.html)                                                | [Nguyen *et al.*, 2018](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FN18-2053)                                                      |\n| CooccurrenceFiltered           | [`pykeen.models.CooccurrenceFilteredModel`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.meta.filtered.CooccurrenceFilteredModel.html)             | [Berrendorf *et al.*, 2022](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F943)                                                  |\n| CrossE                         | [`pykeen.models.CrossE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.crosse.CrossE.html)                                                 | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.04750)                                                                |\n| DistMA                         | [`pykeen.models.DistMA`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.distma.DistMA.html)                                                 | [Shi *et al.*, 2019](https:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FD19-1075.pdf)                                                     |\n| DistMult                       | [`pykeen.models.DistMult`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.distmult.DistMult.html)                                           | [Yang *et al.*, 2014](https:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6575)                                                                  |\n| DistMult Literal               | [`pykeen.models.DistMultLiteral`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.distmult_literal.DistMultLiteral.html)                   | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| DistMult Literal (Gated)       | [`pykeen.models.DistMultLiteralGated`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.multimodal.distmult_literal_gated.DistMultLiteralGated.html)   | [Kristiadi *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.00934)                                                            |\n| ER-MLP                         | [`pykeen.models.ERMLP`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ermlp.ERMLP.html)                                                    | [Dong *et al.*, 2014](https:\u002F\u002Fdl.acm.org\u002Fcitation.cfm?id=2623623)                                                       |\n| ER-MLP (E)                     | [`pykeen.models.ERMLPE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ermlpe.ERMLPE.html)                                                 | [Sharifzadeh *et al.*, 2019](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen)                                                          |\n| Fixed Model                    | [`pykeen.models.FixedModel`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.mocks.FixedModel.html)                                                   | [Berrendorf *et al.*, 2021](https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F691)                                                  |\n| HolE                           | [`pykeen.models.HolE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.hole.HolE.html)                                                       | [Nickel *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI16\u002Fpaper\u002FviewFile\u002F12484\u002F11828)                      |\n| InductiveNodePiece             | [`pykeen.models.InductiveNodePiece`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.inductive.inductive_nodepiece.InductiveNodePiece.html)           | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| InductiveNodePieceGNN          | [`pykeen.models.InductiveNodePieceGNN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.inductive.inductive_nodepiece_gnn.InductiveNodePieceGNN.html) | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| KG2E                           | [`pykeen.models.KG2E`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.kg2e.KG2E.html)                                                       | [He *et al.*, 2015](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F2806416.2806502)                                                     |\n| MuRE                           | [`pykeen.models.MuRE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.mure.MuRE.html)                                                       | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.09791)                                                            |\n| NTN                            | [`pykeen.models.NTN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.ntn.NTN.html)                                                          | [Socher *et al.*, 2013](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.5555\u002F2999611.2999715)                                                 |\n| NodePiece                      | [`pykeen.models.NodePiece`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.node_piece.NodePiece.html)                                       | [Galkin *et al.*, 2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.12144)                                                               |\n| PairRE                         | [`pykeen.models.PairRE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.pair_re.PairRE.html)                                                | [Chao *et al.*, 2020](http:\u002F\u002Farxiv.org\u002Fabs\u002F2011.03798)                                                                  |\n| ProjE                          | [`pykeen.models.ProjE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.proj_e.ProjE.html)                                                   | [Shi *et al.*, 2017](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI17\u002Fpaper\u002Fview\u002F14279)                                   |\n| QuatE                          | [`pykeen.models.QuatE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.quate.QuatE.html)                                                    | [Zhang *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.10281)                                                                |\n| R-GCN                          | [`pykeen.models.RGCN`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rgcn.RGCN.html)                                                       | [Schlichtkrull *et al.*, 2018](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1703.06103)                                                        |\n| RESCAL                         | [`pykeen.models.RESCAL`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rescal.RESCAL.html)                                                 | [Nickel *et al.*, 2011](http:\u002F\u002Fwww.cip.ifi.lmu.de\u002F~nickel\u002Fdata\u002Fpaper-icml2011.pdf)                                      |\n| RotatE                         | [`pykeen.models.RotatE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.rotate.RotatE.html)                                                 | [Sun *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1902.10197v1)                                                                |\n| SimplE                         | [`pykeen.models.SimplE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.simple.SimplE.html)                                                 | [Kazemi *et al.*, 2018](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F7682-simple-embedding-for-link-prediction-in-knowledge-graphs)     |\n| Structured Embedding           | [`pykeen.models.SE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.structured_embedding.SE.html)                                           | [Bordes *et al.*, 2011](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI11\u002Fpaper\u002Fdownload\u002F3659\u002F3898)                        |\n| TorusE                         | [`pykeen.models.TorusE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.toruse.TorusE.html)                                                 | [Ebisu *et al.*, 2018](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI18\u002Fpaper\u002Fview\u002F16227)                                 |\n| TransD                         | [`pykeen.models.TransD`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_d.TransD.html)                                                | [Ji *et al.*, 2015](http:\u002F\u002Fwww.aclweb.org\u002Fanthology\u002FP15-1067)                                                           |\n| TransE                         | [`pykeen.models.TransE`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_e.TransE.html)                                                | [Bordes *et al.*, 2013](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F5071-translating-embeddings-for-modeling-multi-relational-data.pdf) |\n| TransF                         | [`pykeen.models.TransF`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_f.TransF.html)                                                | [Feng *et al.*, 2016](https:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FKR\u002FKR16\u002Fpaper\u002Fview\u002F12887)                                      |\n| TransH                         | [`pykeen.models.TransH`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_h.TransH.html)                                                | [Wang *et al.*, 2014](https:\u002F\u002Faaai.org\u002Fpapers\u002F8870-knowledge-graph-embedding-by-translating-on-hyperplanes\u002F)            |\n| TransR                         | [`pykeen.models.TransR`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.trans_r.TransR.html)                                                | [Lin *et al.*, 2015](http:\u002F\u002Fwww.aaai.org\u002Focs\u002Findex.php\u002FAAAI\u002FAAAI15\u002Fpaper\u002Fdownload\u002F9571\u002F9523\u002F)                           |\n| TuckER                         | [`pykeen.models.TuckER`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.tucker.TuckER.html)                                                 | [Balažević *et al.*, 2019](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.09590)                                                            |\n| Unstructured Model             | [`pykeen.models.UM`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.models.unimodal.unstructured_model.UM.html)                                             | [Bordes *et al.*, 2014](https:\u002F\u002Flink.springer.com\u002Fcontent\u002Fpdf\u002F10.1007%2Fs10994-013-5363-6.pdf)                          |\n\n### 损失函数\n\n以下15种损失函数由 PyKEEN 实现。\n\n| 名称                                                      | 参考                                                                                                                                   | 描述                                                                                           |\n|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|\n| 对抗加权二元交叉熵（带 logits）                           | [`pykeen.losses.AdversarialBCEWithLogitsLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.AdversarialBCEWithLogitsLoss.html) | 一种对抗加权的二元交叉熵损失。                                                                   |\n| 经过 sigmoid 后的二元交叉熵                              | [`pykeen.losses.BCEAfterSigmoidLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.BCEAfterSigmoidLoss.html)                   | 显式 Sigmoid + BCE 损失的数值不稳定版本。                                      |\n| 带 logits 的二元交叉熵                                    | [`pykeen.losses.BCEWithLogitsLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.BCEWithLogitsLoss.html)                       | 二元交叉熵损失。                                                                        |\n| 交叉熵                                                  | [`pykeen.losses.CrossEntropyLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.CrossEntropyLoss.html)                         | 在 softmax 输出后计算交叉熵的损失函数。                         |\n| 双重边界                                                | [`pykeen.losses.DoubleMarginLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.DoubleMarginLoss.html)                         | 基于边界的评分损失，针对正例和负例分别设置不同的边界值，源自 [sun2018]_。 |\n| 焦点损失                                                | [`pykeen.losses.FocalLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.FocalLoss.html)                                       | 由 [lin2018]_ 提出的焦点损失。                                                                |\n| 带加性边界的 InfoNCE 损失                                | [`pykeen.losses.InfoNCELoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.InfoNCELoss.html)                                   | 由 [wang2022]_ 提出的带加性边界的 InfoNCE 损失。                                        |\n| 边界排序                                                | [`pykeen.losses.MarginRankingLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.MarginRankingLoss.html)                       | 成对铰链损失（即边界排序损失）。                                                  |\n| 均方误差                                                | [`pykeen.losses.MSELoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.MSELoss.html)                                           | 均方误差损失。                                                                          |\n| 自对抗负采样                                            | [`pykeen.losses.NSSALoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.NSSALoss.html)                                         | 由 [sun2019]_ 提出的自对抗负采样损失函数。                          |\n| 成对逻辑回归                                            | [`pykeen.losses.PairwiseLogisticLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.PairwiseLogisticLoss.html)                 | 成对逻辑回归损失。                                                                           |\n| 点式铰链                                                | [`pykeen.losses.PointwiseHingeLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.PointwiseHingeLoss.html)                     | 点式铰链损失。                                                                             |\n| 软边界排序                                              | [`pykeen.losses.SoftMarginRankingLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftMarginRankingLoss.html)               | 软式成对铰链损失（即软边界排序损失）。                                        |\n| Softplus                                                  | [`pykeen.losses.SoftplusLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftplusLoss.html)                                 | 点式逻辑回归损失（即 Softplus 损失）。                                                    |\n| 软点式铰链                                              | [`pykeen.losses.SoftPointwiseHingeLoss`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.losses.SoftPointwiseHingeLoss.html)             | 软式点式铰链损失。                                                                        |\n\n### 正则化器\n\nPyKEEN 实现了以下 6 种正则化器。\n\n| 名称          | 参考                                                                                                                                       | 描述                                                            |\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|\n| combined      | [`pykeen.regularizers.CombinedRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.CombinedRegularizer.html)           | 正则化器的凸组合。                                  |\n| lp            | [`pykeen.regularizers.LpRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.LpRegularizer.html)                       | 基于 L_p 范数的简单正则化器。                                   |\n| no            | [`pykeen.regularizers.NoRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.NoRegularizer.html)                       | 不执行任何正则化的正则化器。               |\n| normlimit     | [`pykeen.regularizers.NormLimitRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.NormLimitRegularizer.html)         | 对范数设置软约束的正则化器。    |\n| orthogonality | [`pykeen.regularizers.OrthogonalityRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.OrthogonalityRegularizer.html) | 用于实现 [wang2014] 中软正交性约束的正则化器。 |\n| powersum      | [`pykeen.regularizers.PowerSumRegularizer`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.regularizers.PowerSumRegularizer.html)           | 基于 x^p 的简单正则化器。                                        |\n\n### 训练循环\n\nPyKEEN 实现了以下 3 种训练循环。\n\n| 名称          | 参考                                                                                                                                                | 描述                                                                               |\n|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|\n| lcwa          | [`pykeen.training.LCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.LCWATrainingLoop)                   | 基于局部封闭世界假设（LCWA）的训练循环。              |\n| slcwa         | [`pykeen.training.SLCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SLCWATrainingLoop)                 | 使用随机局部封闭世界假设训练方法的训练循环。 |\n| symmetriclcwa | [`pykeen.training.SymmetricLCWATrainingLoop`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Ftraining.html#pykeen.training.SymmetricLCWATrainingLoop) | 同时对 LCWA 的头和尾进行“对称”打分。                                     |\n\n### 负采样器\n\nPyKEEN 实现了以下 3 种负采样器。\n\n| 名称        | 参考                                                                                                                                   | 描述                                                                            |\n|-------------|-----------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|\n| basic       | [`pykeen.sampling.BasicNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.BasicNegativeSampler.html)             | 一种基本的负采样器。                                                              |\n| bernoulli   | [`pykeen.sampling.BernoulliNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.BernoulliNegativeSampler.html)     | 实现了 [wang2014] 提出的伯努利负采样方法。 |\n| pseudotyped | [`pykeen.sampling.PseudoTypedNegativeSampler`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.sampling.PseudoTypedNegativeSampler.html) | 一种考虑实体与关系共现情况的采样器。                   |\n\n### 停止器\n\nPyKEEN 实现了以下 2 种停止器。\n\n| 名称   | 参考                                                                                                                      | 描述                   |\n|--------|--------------------------------------------------------------------------------------------------------------------------------|-------------------------------|\n| early  | [`pykeen.stoppers.EarlyStopper`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fstoppers.html#pykeen.stoppers.EarlyStopper) | 用于提前停止的工具。 |\n| nop    | [`pykeen.stoppers.NopStopper`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fstoppers.html#pykeen.stoppers.NopStopper)     | 不执行任何操作的停止器。  |\n\n### 评估器\n\nPyKEEN 中实现了以下 5 种评估器。\n\n| 名称             | 参考文档                                                                                                                                     | 描述                                                              |\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|\n| classification   | [`pykeen.evaluation.ClassificationEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.ClassificationEvaluator.html)     | 使用分类指标的评估器。                         |\n| macrorankbased   | [`pykeen.evaluation.MacroRankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.MacroRankBasedEvaluator.html)     | 基于宏平均排名的评估。                                     |\n| ogb              | [`pykeen.evaluation.OGBEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.OGBEvaluator.html)                           | 一种基于排名的采样评估器，应用自定义的 OGB 评估方法。    |\n| rankbased        | [`pykeen.evaluation.RankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.RankBasedEvaluator.html)               | 用于 KGE 模型的基于排名的评估器。                                   |\n| sampledrankbased | [`pykeen.evaluation.SampledRankBasedEvaluator`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.evaluation.SampledRankBasedEvaluator.html) | 使用采样负例而非所有负例的基于排名的评估器。 |\n\n### 指标\n\nPyKEEN 中实现了以下 44 种指标。\n\n| 名称                                                                                                                                           | 取值范围                    | 方向   | 描述                                                             | 类型           |\n|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|-------------|-------------------------------------------------------------------------|----------------|\n| [准确率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEvaluation_of_binary_classifiers#Single_metrics)                                                      | $[0, 1]$                    | 📈           | 正确分类的数量与总数量的比率。 | 分类           |\n| [ROC曲线下面积](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.roc_auc_score.html)                                 | $[0, 1]$                    | 📈           | 接收者操作特征曲线下的面积。             | 分类           |\n| [平均精度得分](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.average_precision_score.html)                      | $[0, 1]$                    | 📈           | 不同阈值下的平均精度。                      | 分类           |\n| [平衡准确率得分](https:\u002F\u002Fscikit-learn.org\u002Fstable\u002Fmodules\u002Fgenerated\u002Fsklearn.metrics.balanced_accuracy_score.html)                      | $[0, 1]$                    | 📈           | 各类别召回率的平均值。                     | 分类           |\n| [诊断优势比](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiagnostic_odds_ratio)                                                                   | $[0, ∞)$                    | 📈           | 阳性似然比与阴性似然比的比值。            | 分类           |\n| [F1分数](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FF1_score)                                                                                             | $[0, 1]$                    | 📈           | 精确率和召回率的调和平均值。              | 分类           |\n| [假发现率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFalse_discovery_rate)                                                                     | $[0, 1]$                    | 📉           | 被预测为负例但实际为正例的比例。          | 分类           |\n| [假阴性率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FType_I_and_type_II_errors#False_positive_and_false_negative_rates)                         | $[0, 1]$                    | 📉           | 真正为正例却被预测为负例的概率。          | 分类           |\n| [假遗漏率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_and_negative_predictive_values)                                                   | $[0, 1]$                    | 📉           | 被预测为正例但实际为负例的比例。          | 分类           |\n| [假阳性率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFalse_positive_rate)                                                                       | $[0, 1]$                    | 📉           | 真正为负例却被预测为正例的概率。          | 分类           |\n| [福尔克斯-马洛斯指数](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFowlkes%E2%80%93Mallows_index)                                                           | $[0, 1]$                    | 📈           | 福尔克斯-马洛斯指数。                      | 分类           |\n| [知情度](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInformedness)                                                                                     | $[-1, 1]$                   | 📈           | 知情度指标。                              | 分类           |\n| [马修斯相关系数](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPhi_coefficient)                                                              | $[-1, 1]$                   | 📈           | 马修斯相关系数（MCC）。                    | 分类           |\n| [阴性似然比](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNegative_likelihood_ratio)                                                           | $[0, ∞)$                    | 📉           | 假阳性率与真阳性率的比值。                | 分类           |\n| [阴性预测值](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNegative_predictive_value)                                                           | $[0, 1]$                    | 📈           | 被预测为负例且实际为负例的比例。          | 分类           |\n| [评分数量](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Freference\u002Fevaluation.html)                                                          | $[0, ∞)$                    | 📈           | 评分的数量。                               | 分类           |\n| [阳性似然比](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_likelihood_ratio)                                                           | $[0, ∞)$                    | 📈           | 真阳性率与假阳性率的比值。                | 分类           |\n| [阳性预测值](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPositive_predictive_value)                                                           | $[0, 1]$                    | 📈           | 被预测为正例且实际为正例的比例。          | 分类           |\n| [患病率阈值](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrevalence_threshold)                                                                     | $[0, ∞)$                    | 📉           | 患病率阈值。                               | 分类           |\n| [威胁分数](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSensitivity_and_specificity)                                                                      | $[0, 1]$                    | 📈           | 精确率和召回率的调和平均值。              | 分类           |\n| [真阴性率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSpecificity_(tests))                                                                        | $[0, 1]$                    | 📈           | 真正为假例却被预测为负例的概率。          | 分类           |\n| [真阳性率](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSensitivity_(test))                                                                         | $[0, 1]$                    | 📈           | 真正为正例却被预测为正例的概率。          | 分类           |\n| [调整后的算术平均排名（AAMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                       | $[0, 2)$                    | 📉           | 所有排名的平均值除以其期望值。            | 排名           |\n| [调整后的算术平均排名指数（AAMRI）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                | $[-1, 1]$                   | 📈           | 重新索引的调整后平均排名（AAMR）         | 排名           |\n| [调整后的几何平均排名指数（AGMRI）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.06914)                                                                 | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | 重新索引的调整后几何平均排名（AGMRI）     | 排名           |\n| [调整后的K位命中率](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                         | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | 重新索引的调整后K位命中率               | 排名           |\n| [调整后的倒数调和平均排名](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                        | $(\\frac{-E[f]}{1-E[f]}, 1]$ | 📈           | 重新索引的调整后MRR                       | 排名           |\n| [几何平均排名（GMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                  | $[1, ∞)$                    | 📉           | 所有排名的几何平均值。                    | 排名           |\n| [调和平均排名（HMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                   | $[1, ∞)$                    | 📉           | 所有排名的调和平均值。                    | 排名           |\n| [K位命中率](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Ftutorial\u002Funderstanding_evaluation.html#hits-k)                                              | $[0, 1]$                    | 📈           | 排名不大于给定k的相对频率。               | 排名           |\n| [倒数算术平均排名（IAMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                        | $(0, 1]$                    | 📈           | 所有排名的算术平均值的倒数。              | 排名           |\n| [倒数几何平均排名（IGMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                         | $(0, 1]$                    | 📈           | 所有排名的几何平均值的倒数。              | 排名           |\n| [倒数中位排名](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                        | $(0, 1]$                    | 📈           | 所有排名的中位数的倒数。                  | 排名           |\n| [平均排名（MR）](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Fstable\u002Ftutorial\u002Funderstanding_evaluation.html#mean-rank)                                     | $[1, ∞)$                    | 📉           | 所有排名的算术平均值。                    | 排名           |\n| [平均倒数排名（MRR）](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMean_reciprocal_rank)                                                               | $(0, 1]$                    | 📈           | 所有排名的调和平均值的倒数。              | 排名           |\n| [中位排名](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                                | $[1, ∞)$                    | 📉           | 所有排名的中位数。                        | 排名           |\n| [z-几何平均排名（zGMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                               | $(-∞, ∞)$                   | 📈           | z-score标准化后的几何平均排名             | 排名           |\n| [z-K位命中率](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                                | $(-∞, ∞)$                   | 📈           | z-score标准化后的K位命中率                | 排名           |\n| [z-平均排名（zMR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                                          | $(-∞, ∞)$                   | 📈           | z-score标准化后的平均排名                 | 排名           |\n| [z-平均倒数排名（zMRR）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544)                                                                              | $(-∞, ∞)$                   | 📈           | z-score标准化后的平均倒数排名             | 排名           |\n\n### 跟踪器\n\nPyKEEN 中实现了以下 8 种跟踪器。\n\n| 名称        | 参考                                                                                                                               | 描述                                               |\n|-------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|\n| console     | [`pykeen.trackers.ConsoleResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.ConsoleResultTracker.html)         | 直接在控制台打印结果的类。                  |\n| csv         | [`pykeen.trackers.CSVResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.CSVResultTracker.html)                 | 将结果跟踪到 CSV 文件中。                           |\n| json        | [`pykeen.trackers.JSONResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.JSONResultTracker.html)               | 将结果跟踪到 JSON Lines 文件中。                    |\n| mlflow      | [`pykeen.trackers.MLFlowResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.MLFlowResultTracker.html)           | 用于 MLflow 的跟踪器。                                     |\n| neptune     | [`pykeen.trackers.NeptuneResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.NeptuneResultTracker.html)         | 用于 Neptune.ai 的跟踪器。                                 |\n| python      | [`pykeen.trackers.PythonResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.PythonResultTracker.html)           | 将所有内容存储为 Python 字典的跟踪器。           |\n| tensorboard | [`pykeen.trackers.TensorBoardResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.TensorBoardResultTracker.html) | 用于 TensorBoard 的跟踪器。                                |\n| wandb       | [`pykeen.trackers.WANDBResultTracker`](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Fapi\u002Fpykeen.trackers.WANDBResultTracker.html)             | 用于 Weights and Biases 的跟踪器。                         |\n\n## 实验\n\n### 复现\n\nPyKEEN 包含一组精心策划的实验设置，用于复现过去的标志性实验。可以通过以下方式访问和运行：\n\n```shell\npykeen experiments reproduce tucker balazevic2019 fb15k\n```\n\n其中三个参数分别是模型名称、参考文献和数据集。输出目录可以使用 `-d` 选项进行指定。\n\n### 削除实验\n\nPyKEEN 提供了通过超参数优化模块来指定削除实验的功能。可以按如下方式运行：\n\n```shell\npykeen experiments ablation ~\u002Fpath\u002Fto\u002Fconfig.json\n```\n\n### 大规模可复现性和基准测试研究\n\n我们使用 PyKEEN 进行了一项大规模的可复现性和基准测试研究，相关内容发表在我们的文章中：\n\n```bibtex\n@article{ali2020benchmarking,\n  author={Ali, Mehdi and Berrendorf, Max and Hoyt, Charles Tapley and Vermue, Laurent and Galkin, Mikhail and Sharifzadeh, Sahand and Fischer, Asja and Tresp, Volker and Lehmann, Jens},\n  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},\n  title={Bringing Light Into the Dark: A Large-scale Evaluation of Knowledge Graph Embedding Models under a Unified Framework},\n  year={2021},\n  pages={1-1},\n  doi={10.1109\u002FTPAMI.2021.3124805}}\n}\n```\n\n我们已将所有代码、实验配置、结果及分析公开在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fbenchmarking 上，以支持我们的研究结论。\n\n## 贡献\n\n无论是提交问题、发起拉取请求还是进行分叉，您的贡献都将受到欢迎。有关如何参与的更多信息，请参阅 [CONTRIBUTING.md](\u002FCONTRIBUTING.md)。\n\n如果您有任何疑问，请使用 GitHub 讨论功能：https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fdiscussions\u002Fnew。\n\n## 致谢\n\n### 支持者\n\n本项目得到了多家机构的支持（按字母顺序排列）：\n\n- [拜耳](https:\u002F\u002Fwww.bayer.com\u002F)\n- [CoronaWhy](https:\u002F\u002Fwww.coronawhy.org\u002F)\n- [Enveda Biosciences](https:\u002F\u002Fwww.envedabio.com\u002F)\n- [弗劳恩霍夫算法与科学计算研究所](https:\u002F\u002Fwww.scai.fraunhofer.de)\n- [弗劳恩霍夫智能分析与信息系统研究所](https:\u002F\u002Fwww.iais.fraunhofer.de)\n- [弗劳恩霍夫机器学习中心](https:\u002F\u002Fwww.cit.fraunhofer.de\u002Fde\u002Fzentren\u002Fmaschinelles-lernen.html)\n- [哈佛大学治疗科学项目——系统药理学实验室](https:\u002F\u002Fhits.harvard.edu\u002Fthe-program\u002Flaboratory-of-systems-pharmacology\u002F)\n- [慕尼黑路德维希-马克西米利安大学](https:\u002F\u002Fwww.en.uni-muenchen.de\u002Findex.html)\n- [慕尼黑机器学习中心 (MCML)](https:\u002F\u002Fmcml.ai\u002F)\n- [西门子](https:\u002F\u002Fnew.siemens.com\u002Fglobal\u002Fen.html)\n- [智能数据分析研究组（波恩大学与弗劳恩霍夫 IAIS）](https:\u002F\u002Fsda.tech)\n- [丹麦技术大学 — DTU Compute — 认知系统部门](https:\u002F\u002Fwww.compute.dtu.dk\u002Fenglish\u002Fresearch\u002Fresearch-sections\u002Fcogsys)\n- [丹麦技术大学 — DTU Compute — 统计与数据分析部门](https:\u002F\u002Fwww.compute.dtu.dk\u002Fenglish\u002Fresearch\u002Fresearch-sections\u002Fstat)\n- [波恩大学](https:\u002F\u002Fwww.uni-bonn.de\u002F)\n\n### 资助\n\nPyKEEN 的开发得到了以下资助项目的支持：\n\n| 资助机构                                             | 计划                                                                                                                       | 资助编号           |\n|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------|\n| DARPA                                                    | [青年教师奖（负责人：本杰明·乔里）](https:\u002F\u002Findralab.github.io\u002F#projects)                                              | W911NF2010255   |\n| DARPA                                                    | [自动化科学知识提取 (ASKE)](https:\u002F\u002Fwww.darpa.mil\u002Fprogram\u002Fautomating-scientific-knowledge-extraction) | HR00111990009   |\n| 德国联邦教育与研究部 (BMBF) | [基于知识图谱的机器学习 (MLWin)](https:\u002F\u002Fmlwin.de)                                                            | 01IS18050D      |\n| 德国联邦教育与研究部 (BMBF) | [慕尼黑机器学习中心 (MCML)](https:\u002F\u002Fmcml.ai)                                                                  | 01IS18036A      |\n| 丹麦创新基金 (Innovationsfonden)              | [丹麦大数据分析驱动创新中心 (DABAI)](https:\u002F\u002Fdabai.dk)                                            | Grand Solutions |\n\n### 标志\n\nPyKEEN 的标志由 [Carina Steinborn](https:\u002F\u002Fwww.xing.com\u002Fprofile\u002FCarina_Steinborn2) 设计。\n\n## 引用\n\n如果您在工作中使用了 PyKEEN，请考虑引用\n[我们的论文](http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-825.html)：\n\n```bibtex\n@article{ali2021pykeen,\n    author = {Ali, Mehdi and Berrendorf, Max and Hoyt, Charles Tapley and Vermue, Laurent and Sharifzadeh, Sahand and Tresp, Volker and Lehmann, Jens},\n    journal = {机器学习研究期刊},\n    number = {82},\n    pages = {1--6},\n    title = {{PyKEEN 1.0：用于训练和评估知识图嵌入的 Python 库}},\n    url = {http:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv22\u002F20-825.html},\n    volume = {22},\n    year = {2021}\n}\n```","# PyKEEN 快速上手指南\n\nPyKEEN (Python Knowledge Embeddings) 是一个用于训练和评估知识图谱嵌入模型的 Python 包，支持多模态信息整合。\n\n## 环境准备\n\n*   **操作系统**：Linux, macOS, Windows\n*   **Python 版本**：3.9 或更高版本\n*   **前置依赖**：建议先更新 `pip` 以确保安装顺利\n    ```bash\n    pip install --upgrade pip\n    ```\n*   **国内加速**：推荐使用清华或阿里镜像源加速安装过程。\n\n## 安装步骤\n\n### 方式一：安装稳定版（推荐）\n通过 PyPI 安装最新稳定版本：\n\n```bash\npip install pykeen -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方式二：安装开发版\n如需体验 GitHub 上的最新功能，可直接从源码安装：\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen.git\n```\n\n## 基本使用\n\nPyKEEN 提供了高级的 `pipeline` 接口，只需几行代码即可完成数据加载、模型训练和评估。\n\n以下示例演示如何使用 **TransE** 模型在内置的 **Nations** 数据集上进行训练和测试：\n\n```python\nfrom pykeen.pipeline import pipeline\n\nresult = pipeline(\n    model='TransE',\n    dataset='nations',\n)\n```\n\n**说明：**\n*   **默认行为**：上述代码默认使用随机局部封闭世界假设 (sLCWA) 进行训练，并采用基于排名的评估方法。\n*   **结果获取**：`result` 对象包含训练好的模型、训练循环状态、评估指标等详细信息。\n*   **扩展性**：你可以轻松替换 `model` 参数（如 `'DistMult'`, `'RotatE'` 等）或 `dataset` 参数来尝试不同的组合。\n\n更多高级用法（如使用自定义数据集、超参数优化等）请参考官方文档：https:\u002F\u002Fpykeen.readthedocs.io","某生物制药公司的数据科学团队正试图从分散的医学文献和实验报告中构建知识图谱，以挖掘潜在的“药物 - 靶点”相互作用关系。\n\n### 没有 pykeen 时\n- **重复造轮子成本高**：团队需手动编写复杂的 PyTorch 代码来实现 TransE 或 RotatE 等经典算法，耗时数周且容易引入底层 Bug。\n- **模型对比困难**：缺乏统一框架，每次切换不同嵌入模型或调整训练策略（如负采样方式）都需要重构大量代码，难以快速验证哪种方案最优。\n- **评估标准不统一**：自定义的评估脚本往往遗漏关键的排名指标（如 MRR、Hits@K），导致不同实验结果之间缺乏可比性，影响决策准确性。\n- **超参数调优繁琐**：缺少自动化集成，研究人员只能凭经验手动网格搜索超参数，效率极低且容易陷入局部最优。\n\n### 使用 pykeen 后\n- **开箱即用的模型库**：直接调用内置的 40+ 种预置模型（如 TransE、ComplEx），仅需几行代码即可启动训练，将开发周期从数周缩短至数小时。\n- **灵活的流水线配置**：通过 `pipeline` 函数一键切换模型、数据集及训练循环假设（如 sLCWA），轻松完成多模型横向对比实验。\n- **标准化的评估体系**：自动输出包含 MR、MRR 及 Hits@N 在内的完整排名评估报告，确保实验结果严谨且可复现。\n- **集成自动化调优**：原生集成 Optuna，自动搜索最佳超参数组合，显著提升了模型在稀疏生物医学数据上的预测精度。\n\npykeen 将原本繁琐的知识图谱嵌入研发流程转化为标准化的工业级流水线，让团队能专注于业务洞察而非底层算法实现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpykeen_pykeen_840cad80.png","PyKEEN","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpykeen_9848b089.png","Predictions for the People",null,"https:\u002F\u002Fpykeen.github.io","https:\u002F\u002Fgithub.com\u002Fpykeen",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",80.6,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",19.4,1979,215,"2026-04-20T05:10:40","MIT","Linux, macOS, Windows","未说明 (基于 PyTorch，可选支持 CUDA)","未说明",{"notes":96,"python":97,"dependencies":98},"README 中明确提到了支持 Windows 安装。该工具基于 PyTorch 和 PyTorch Lightning，因此 GPU 支持取决于本地 PyTorch 的安装配置（非强制必需，但推荐用于加速训练）。具体显存和内存需求取决于所选数据集大小（从几千到数千万三元组不等）及模型复杂度，文中未给出统一硬件指标。","3.9+",[99,100,101,102,103,104,105,106],"torch","pytorch-lightning","optuna","scipy","pandas","numpy","click","tqdm",[16,14],[109,110,111,112,113,64,114,115,116,99],"knowledge-graph-embeddings","knowledge-graphs","machine-learning","link-prediction","knowledge-base-completion","deep-learning","cuda","python","2026-03-27T02:49:30.150509","2026-04-20T19:22:23.378822",[120,125,130,135,140,144],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},45477,"在使用 TextRepresentation 训练模型时遇到 IndexError 或 CUDA 内存不足（OutOfMemoryError）错误，如何解决？","这通常是由于显存不足导致的。即使评估批次大小（evaluation batch size）设为 1，仍可能因模型过大或显存碎片化而报错。解决方案包括：\n1. 尝试设置环境变量以减少显存碎片：export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512\n2. 进一步减小评估或训练的批次大小。\n3. 确保使用的是最新版本的 PyKEEN，因为旧版本可能存在内存优化问题。\n如果问题依旧，请检查 GPU 总容量是否满足模型需求（例如报错提示需要 300+ GiB 而显卡只有 40 GiB 时，需更换硬件或简化模型）。","https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F1197",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},45478,"升级到 PyKEEN 1.8.0 后，代码中使用的 `EmbeddingSpecification` 找不到怎么办？","在 PyKEEN 1.8.0 及更高版本中，`EmbeddingSpecification` 的导入路径或用法可能发生了变化。该问题已在 master 分支修复。如果遇到导入错误，请确保您已升级到最新的开发版本或等待下一个稳定版发布。对于旧代码迁移，建议查阅官方文档中关于表示层（representation）的最新 API 说明，通常此类类会被重构到 `pykeen.nn.representation` 模块的不同子类中或直接通过配置字典替代。","https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F858",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},45479,"PyKEEN 是否支持在 Literal 模型中使用文本字面量（Text Literals）？如何使用？","是的，PyKEEN 现已支持文本字面量。您可以使用 `LabelBasedTransformerRepresentation` 类来创建基于文本的实体表示。\n使用方法示例：\n1. 直接从三元组工厂加载标签：\n   entity_representations = LabelBasedTransformerRepresentation.from_triples_factory(triples_factory=dataset.training)\n2. 或者使用自定义文本列表（需确保顺序与内部实体 ID 顺序一致）：\n   from operator import itemgetter\n   # 假设 labels 是您的文本列表，且顺序对应实体 ID\n   entity_representations = LabelBasedTransformerRepresentation(labels=[\"brazil\", \"uk\"])\n注意：如果文本不是节点 ID（例如来自知识图谱中的 \"note\" 属性），您需要手动构建标签列表并确保其索引与 PyKEEN 内部的实体索引（排序后的实体名称列表索引）严格匹配。","https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F470",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},45480,"运行 pipeline 时在 rank_based_evaluator.py 中报错 \"ValueError: need at least one array to concatenate\" 是什么原因？","此错误通常发生在 GPU 禁用或未正确配置自动内存优化时，导致评估阶段无法生成有效的排名数组。特别是在使用 AutoSF 等特定模型或进行大小探测（size probing）时容易出现。\n解决方案：\n1. 尝试在 GPU 环境下运行，因为某些内存优化逻辑仅在 CUDA 可用时触发。\n2. 如果必须在 CPU 上运行或问题依旧，尝试降级 `class-resolver` 库到 0.3.3 版本（针对 PyKEEN 1.7.0 用户）：pip install class-resolver==0.3.3\n3. 检查是否传递了无效的评估参数，确保测试集和验证集不为空。","https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F819",{"id":141,"question_zh":142,"answer_zh":143,"source_url":134},45481,"如何在 PyKEEN 中使用非节点 ID 的文本属性（如知识图谱中的描述字段）作为实体表示？","虽然 `LabelBasedTransformerRepresentation` 默认使用节点标签，但您可以通过构造函数传入任意文本列表来支持自定义属性（如 \"note\" 字段）。\n关键步骤：\n1. 提取您想要的文本属性到一个列表中。\n2. 确保该列表的顺序与 PyKEEN 内部实体 ID 的顺序完全一致（通常是按实体名称排序后的索引）。\n3. 初始化表示层：\n   entity_representations = LabelBasedTransformerRepresentation(labels=your_custom_text_list)\n如果文本属性不唯一或顺序难以对齐，您可能需要先对数据集进行预处理，建立实体 ID 到自定义文本的映射，并重新排序列表以匹配内部索引。",{"id":145,"question_zh":146,"answer_zh":147,"source_url":124},45482,"遇到 CUDA 内存分配失败（Tried to allocate XX GiB）但显存看似充足时该怎么办？","即使显示有大量空闲显存（如 9 GiB free），PyTorch 也可能因显存碎片化而无法分配连续的大块内存（如报错请求 17 GiB）。\n推荐解决方法：\n1. 设置环境变量调整显存分配策略：\n   export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512\n   （或在 Windows 上使用 set 命令）\n2. 显著减小 `evaluation_kwargs` 中的 `batch_size`，甚至设为 1。\n3. 减少模型维度（embedding_dim）或层数。\n4. 重启 Python 内核以释放残留的显存占用。",[149,154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244],{"id":150,"version":151,"summary_zh":152,"released_at":153},360410,"v1.1.0","## New Datasets\r\n\r\n- CoDEx (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F154)\r\n- DRKG (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F156)\r\n- OGB (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F159)\r\n- ConceptNet (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F160)\r\n- Clinical Knowledge Graph (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F209)\r\n\r\n## New Trackers\r\n\r\n- Neptune.ai (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F183)\r\n\r\n## Added\r\n\r\n- Add MLFlow set tags function (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F139; thanks @sunny1401)\r\n- Add score_t\u002Fh function for ComplEx (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F150)\r\n- Add proper testing for literal datasets and literal models (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F199)\r\n- Checkpoint functionality (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F123)\r\n- Random triple generation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F201)\r\n- Make negative sampler corruption scheme configurable (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F209)\r\n- Add predict with inverse triples pipeline (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F208)\r\n- Add generalize p-norm to regularizer (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F225)\r\n\r\n## Changed\r\n\r\n- New harness for resetting parameters (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F131)\r\n- Modularize embeddings (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F132)\r\n- Update first steps documentation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F152; thanks @TobiasUhmann )\r\n- Switched testing to GitHub Actions (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F165 and https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F194)\r\n- No longer support Python 3.6\r\n- Move automatic memory optimization (AMO) option out of model and into training loop (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F176)\r\n- Improve hyper-parameter defaults and HPO defaults (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F181 and https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F179)\r\n- Switch internal usage to ID-based triples (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F193 and https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F220)\r\n- Optimize triples splitting algorithm (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F187)\r\n- Generalize metadata storage in triples factory (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F211)\r\n- Add drop_last option to data loader in training loop (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F217)\r\n\r\n## Fixed\r\n\r\n- Whitelist support in HPO pipeline (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F124)\r\n- Improve evaluator instantiation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F125; thanks @kantholtz)\r\n- CPU fallback on AMO (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F232)\r\n- Fix HPO save issues (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F235)\r\n- Fix GPU issue in plotting (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F207)","2021-01-20T11:50:48",{"id":155,"version":156,"summary_zh":157,"released_at":158},360411,"v1.0.5","## Added\r\n\r\n- Added testing on Windows with AppVeyor and documentation for installation on Windows\r\n  (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F95)\r\n- Add ability to specify custom datasets in HPO and ablation studies (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F54)\r\n- Add functions for plotting entities and relations (as well as an accompanying tutorial)\r\n  (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F99)\r\n\r\n## Changed\r\n\r\n- Replaced BCE loss with BCEWithLogits loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F109)\r\n- Store default HPO ranges in loss classes (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F111)\r\n- Use entrypoints for datasets (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F115) to allow registering of custom datasets\r\n- Improved WANDB results tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F117, thanks @kantholtz)\r\n- Reorganized ablation study generation and execution (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F54)\r\n\r\n## Fixed\r\n\r\n- Fixed bug in the initialization of ConvE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F100)\r\n- Fixed cross-platform issue with random integer generation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F98)\r\n- Fixed documentation build on ReadTheDocs (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F104)","2020-10-21T11:59:14",{"id":160,"version":161,"summary_zh":162,"released_at":163},360412,"v1.0.4","## Added\r\n\r\n- Enable restricted evaluation on a subset of entities\u002Frelations (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F62, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F83)\r\n\r\n## Changed\r\n\r\n- Use number of epochs as step instead of number of checks (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F72)\r\n\r\n## Fixed\r\n\r\n- Fix bug in early stopping (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F77)","2020-08-25T14:35:05",{"id":165,"version":166,"summary_zh":167,"released_at":168},360413,"v1.0.3","## Added\r\n\r\n- Side-specific evaluation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F44)\r\n- Grid Sampler (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F52)\r\n- Weights & Biases Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F68), thanks @migalkin!\r\n\r\n## Changed\r\n\r\n- Update to Optuna 2.0 (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F52)\r\n- Generalize specification of tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F39)\r\n\r\n## Fixed\r\n\r\n- Fix bug in triples factory splitter (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F59)\r\n- Device mismatch bug (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F50)","2020-08-13T14:53:16",{"id":170,"version":171,"summary_zh":172,"released_at":173},360414,"v1.0.2","## Added\r\n\r\n- Add default values for margin and adversarial temperature in NSSA loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F29)\r\n- Added FTP uploader (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F35)\r\n- Add AWS S3 uploader (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F39)\r\n\r\n## Changed\r\n\r\n- Improved MLflow support (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F40)\r\n- Lots of improvements to documentation!\r\n\r\n## Fixed\r\n\r\n- Fix triples factory splitting bug (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F21)\r\n- Fix problem with tensors' device during prediction (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F41)\r\n- Fix RotatE relation embeddings re-initialization (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F26)","2020-07-10T18:52:33",{"id":175,"version":176,"summary_zh":177,"released_at":178},360415,"v1.0.1","## Added\r\n\r\n- Add fractional hits@k (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F17)\r\n- Add link prediction pipeline (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F10)\r\n\r\n## Changed\r\n\r\n- Update documentation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F10)\r\n","2020-07-02T15:27:19",{"id":180,"version":181,"summary_zh":182,"released_at":183},360396,"v1.11.1","## 增强功能\n\n### 归纳式模型和数据集\n\n* ⛵🪚 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1416 中实现的半归纳和全归纳划分\n\n### 表征方法\n\nPyKEEN v1.11.1 引入了多种新的表征方法，以支持用户自定义特征化的情景（例如化学信息学领域的化学指纹）。\n\n* 🪫🔈 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1509 中实现的低秩表征泛化\n* 👩‍👩‍👧‍👦⛽ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1507 中添加的多填充表征\n* ✨✨ 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1511 中添加的特征增强嵌入和 MLP 转换表征\n* ➕🎒 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1512 中添加的嵌入袋表征\n\n### 损失权重\n\nPyKEEN v1.11.1 引入了损失权重，用于影响给定三元组在损失函数中的权重大小。它们主要是用来调整优化标准的工具，即你希望嵌入模型优化的目标是什么。例如，你可以根据应用需求，更关注或减少对某些类型三元组的优化；也可以利用损失权重来缓解关系频率的不平衡问题，即降低高频关系类型的权重。\n\n更多信息请参见：https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Floss_weighting.html\n\n* 🔓⚖️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1525 中公开的 BCEWithLogitsLoss 的 pos_weight 参数\n* 💸🏋 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1529 中实现的损失权重\n* 🦍🍌 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1532 中实现的基于样本权重的训练\n* 💸❇️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1534 中实现的简单损失权重\n\n### 其他\n\n* 👾🍉 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1508 中添加的针对表征中 `max_id` 不匹配的自定义错误\n* 🔢✅ 由 @chartsNgraphs 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1499 中对 BackfillRepresentation 中 `base_ids` 最大值的检查\n* ⏩#️⃣ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1528 中将 `max_id` 传递至适配后的表征方法\n\n## 移除内容\n\n* 🛗🧹 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1491 中移除的功能性交互抽象\n\n## 修复内容\n\n* 🧑‍🔧🪓 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1516 中修复的归纳式划分\n* 🧑‍🔧⛓️‍💥 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1495 中修复的数据集限制\n* ⏱️🧺 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1497 中修复的缓存测试\n* 🍍🐉 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1485 中修复的切片及显式目标索引问题\n* 🧹🚯 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1486 中修复的未使用变量问题\n\n## 文档更新\n\n* 🎓🚊 由 @Str1ien 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1518 中为“使用学习到的嵌入”教程添加的具体示例\n* 🏴‍☠️❇️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1503 中更新的归纳式 NodePiece 示例\n* 🤝🌐 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fp 中更新解析器和文档","2025-04-24T10:52:18",{"id":185,"version":186,"summary_zh":187,"released_at":188},360397,"v1.11.0","PyKEEN 1.11 包含了过去一年工作中许多不错的修复，同时也有一些较大的（可能破坏兼容性的）变更，请参阅下方的最后一个标题。非常感谢我们的五位新贡献者，以及在问题跟踪器上进行的大量精彩讨论。\n\n## 增强功能\n\n* EarlyStopper：由 @lorenzobalzani 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1377 中实现的进度条显示功能\n* ⚙️🧮 更新 generate_triples，以确保正确的实体数量，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1460 中完成\n* ⛏️🗄️ 添加限制数据集的方法，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1436 中实现\n* 🔥🧮 Torch 张量类型注解，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1439 中完成\n* 🔓📊 放宽 RankBasedEvaluator 的 metrics\u002Fmetrics_kwargs 参数对的类型提示，使其与 `make_many` 匹配，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1383 中实现\n* 🚨🏭 对使用反向三元组的评估工厂发出警告，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1347 中完成\n* 🏋️🤙 训练回调基础设施，用于保存检查点，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1430 中实现\n\n## 错误修复\n\n* 修复 using_wandb.rst 中的关键字参数，由 @LuisaWerner 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1345 中完成\n* 💾🕹️ 修复 ablation_pipeline 中自定义数据集的存储问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1374 中完成\n* 🔄🙃 修复 `nguyen2018_transe_wn18rr` 的复现配置，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1373 中完成\n* ⌛📋 修复 LR 调度器的（重新）实例化问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1386 中完成\n* 修复当 Evaluator 中 use_tqdm=False 时仍显示 tqdm 的 bug，由 @nomisto 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1391 中完成\n* 📜🔧 修复 LabelBasedInitializer 的示例，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1403 中完成\n* 修复“全归纳式 LP 示例”的问题，由 @mohmehmo 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1405 中完成\n* 🤖🔥 修复自动内存优化并改进文档，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1428 中完成\n* 🔙⛽ 修复 BackfillRepresentation 类的文档字符串，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1437 中完成\n* 🔧🥇 修复 BestKeeper 并为检查点调度添加测试，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1433 中完成\n* 🩹🛁 修复回填表示法，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1440 中完成\n* 🚨🦺 修复快速测试未运行的问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1458 中完成\n* 🧼🫧 修复 Interaction 中的形状处理问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1459 中完成\n* 🏎️🧑‍🔧 修复设备错误及 mypy 问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1461 中完成\n\n## 移除内容\n\n* 🔪💨 移除可切片性注解，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1465 中完成\n* 🧪💨 移除从未运行过的测试，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1466 中完成\n* 从超类的初始化调用中移除 create_inverse_triples，由 @nomisto 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1393 中完成\n\n## 文档\n\n* 🗞️📖 更新文档，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1473 中完成\n* 🦚🪻 改进 pykeen.triples 的文档","2024-10-29T16:35:05",{"id":190,"version":191,"summary_zh":192,"released_at":193},360398,"v1.10.2","## 变更内容\n* 🧰♻️ 添加依赖缓存，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1239 中完成\n* ⚖️🗺️ 修复多样性估计函数，由 @dobraczka 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1242 中完成\n* 👋🌐 更新“Hello World”笔记本，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1249 中完成\n* 💾📉 提升将 OGB 数据集转换为 TriplesFactory 的内存效率，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1253 中完成\n* 🔧✍️ 修复 CachedTextRepresentation.from_dataset 方法，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1259 中完成\n* 🧬 💾 添加 PharMeBINet 数据集，由 @sbonner0 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1257 中完成\n* ⚗️🎯 修复范数限制正则化器的超参数优化默认值，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1274 中完成\n* 🤔🙅‍♀️ 修复 TransH 的超参数优化兼容性问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1277 中完成\n* 🔥🪞 修复使用逆关系进行关系预测的问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1304 中完成\n* 🧹🧑‍⚖️ 为 Optuna 添加 gc_after_trial 参数，由 @LizzAlice 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1301 中完成\n* 🐏🚀 在 Evaluator 中使用 torch_max_mem 进行自动内存优化，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1261 中完成\n* ⚓↕️ CSGraphAnchorSearcher：确保 top-k 索引数组已排序，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1318 中完成\n* 🔥🧩 修复 NodePiece 和 Complex 嵌入方法，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1288 中完成\n* 🥄🧩 提供创建归纳式 NodePiece 表示的工具函数，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1322 中完成\n* 🍂🚮 确保临时文件被清理，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1307 中完成\n* ↔️⭐ 合并 BoxE 交互模块，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1180 中完成\n* 🌅🔪 为惰性目标表示实现早期切片功能，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1321 中完成\n* 🔧🔮 修复 predict_all 方法以支持归纳推理，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1320 中完成\n* 🏗️🌊 支持解析非排名型指标，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1237 中完成\n* 📖✨ 更新 README 文件，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F968 中完成\n* ⁉️⭕ 当在超参数优化配置中遇到 checkpoint_name 时抛出错误，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1324 中完成\n* 📉☎️ 添加验证损失训练回调，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1169 中完成\n* 放宽 Protobuf 依赖要求，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1332 中完成\n* ✅📉 检查损失函数的超参数优化默认值，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1333 中完成\n* 🔝📐 为 CI 构建提升 PyTorch Geometric 的 CPU 版本号，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1336 中完成\n* ☑️💸 更新损失函数超参数优化默认范围检查，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1337 中完成\n* 🎣🏆 清理代码库并修复 RGCN 的超参数优化默认值，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1370 中完成\n\n## 新贡献者\n* @LizzAlice 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1301 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fcompare\u002Fv1.10.1...v1.10.2","2024-02-19T21:29:27",{"id":195,"version":196,"summary_zh":197,"released_at":198},360399,"v1.10.1","## 变更内容\n\n* 📚🛗 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1233 中更新了预测迁移指南\n* 🚚🪞 由 @dobraczka 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1229 中确保归纳表示位于同一设备上\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fcompare\u002Fv1.10.0...v1.10.1","2023-02-22T18:28:28",{"id":200,"version":201,"summary_zh":202,"released_at":203},360400,"v1.10.0","PyKEEN 1.10 版本包含大量错误修复、性能改进和新功能。其中一些亮点包括对称的 sLCWA 训练循环、使用 OGB 进行评估、生物医学实体表示模块、低秩表示近似，以及对预测流水线的诸多改进。\n\n## 模型与层\n\n* 🔧✈️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1057 中修复 TransH\n* ♚♔ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1065 中更新 ConvKB 交互\n* 🐸🫖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1056 中修复 QuatE\n* 🐸🫖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1070 中修复 QuatE 测试失败问题\n* 🩹💯 由 @dobraczka 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1073 中修正 OpenEA 图大小中的拼写错误\n* 🌑⛱️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1106 中引入归纳式 ERModel 基类\n* 🏋️ 🔧 由 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1138 中修复 `CompGCNLayer` 中边权重的 kwargs 问题\n* ↔️⭐ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1103 中合并 ComplEx 交互\n* ↔️⭐ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1112 中合并 AutoSF 交互\n* 🦷 🔄 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1203 中提取反转工具函数\n\n### NodePiece\n\n* 📿 🧩 由 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1064 中支持关系分词器中的不连通节点\n* ⚙️🔢 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1104 中修复参数化聚合的 InductiveNodePiece 问题\n\n## 文档\n\n* 🖊️📖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1067 中修正教程中的拼写错误\n\n## 性能\n\n* 🍭 🚀 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1058 中添加 opt_einsum 的可选依赖\n* ⚽ 🔧 由 @Allaway11 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1076 中正确地将张量送回 CPU，在基于排名的评估器中实现\n* 🍭🧑‍🚀 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1068 中更新剩余的 einsum 使用情况\n* ♻️⚙️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1089 中复用 AMO 来处理 predict_triples_df\n\n## 流水线与预测\n\n* 🔮☕ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1090 中实现自定义预测过滤\n* 🪓💻 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1075 中拆分流水线代码\n* 🔮🤔 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1078 中升级预测消费者\n* 🌀 🏴‍☠️ 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1092 中清理反向三元组相关参数\n* 🐛🐔 由 @AImenes 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1157 中修复 predict.consume_scores 中的索引错误问题\n\n## 表示\n\n* 🔵🟦 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1091 中通过低秩近似其他表示方法\n* 🗿📖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1147 中更新基于文本的表示教程\n* 📜🔧 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1209 中修复标签未转换为列表的问题\n* 🪞🧬 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1055 中通过 PyOBO 实现生物医学实体的文本表示\n\n\n## ","2023-01-31T21:55:35",{"id":205,"version":206,"summary_zh":207,"released_at":208},360401,"v1.9.0","PyKEEN 本次发布的核心主题是引入新颖且令人兴奋的表示方法，以优雅的方式将更多类型的数据（文本、图像、标量数据）纳入训练过程。其中多项改进为 NodePiece 功能带来了新的特性。\n\n## 训练与评估\n\n* 🔬🔁 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F768 中实现的评估循环\n* 🐦🛑 早停机制：从最佳 epoch 重新加载权重，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F961 中实现\n* 🔬🚪 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F938 中更新的评估器 evaluate 方法，支持传递 kwargs 参数\n* 🌪😿 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1021 中修复的 epoch 损失问题\n\n## 数据集\n\n* 🥨🕸️ 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F947 中添加的全球生物相互作用（GloBI）数据集\n* 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F1034 中修复的包含逆三元组时的数据集缓存问题\n\n## 模型\n\n### 新增\n\n* 🇨🇴🕸️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F943 中添加的共现过滤元模型\n\n### 更新\n\n* 📏🤝 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F971 中新增的 LineaRE 相互作用\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F869 中将 ERMLP 更新为 ERModel\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F872 中将 ERMLP-E 更新为 ERModel\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F953 中将 HolE 更新为 ERModel\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F955 中将 TransE 更新为 ERModel\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F954 中将 TransH 更新为 ERModel\n* ✨🤖 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F952 中将 RESCAL 更新为 ERModel\n* ✨💀 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F865 中逐步淘汰旧式模型\n* 🫶 🧨 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F978 中更新 ConvKB 和 SE，使其使用 einsum\n* 🏎️ 🏴‍☠️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F634 中添加高效的 RGCN 实现\n* 🔧➡️ 由 @PhaelIshall 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F957 中将 Nguyen 的 TransE 配置移至正确目录\n\n## 表示方法\n\n* 👥📝 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F966 中提出的 Wikidata 文本表示\n* 🔗🗿 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F964 中提出的组合表示\n* 🔳🔲 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F980 中添加的分区表示\n* 📋❇️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F969 中泛化文本编码器，并添加一个简单的编码器\n* 🚚🗽 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F984 中提出的变换表示\n* 👀📇 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F965 中提出的简单视觉表示\n* 🏋️🚂 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F989 中提出的张量列车表示\n\n## NodePiece\n\n* ⚓🔍 NodePiece：由 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F990 中实现的 GPU 加速 BFS 搜索器\n* 🏴‍☠️🌊 NodePiece x METIS：由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F988 中实现的结合 METIS 的 NodePiece\n* ⚓ 📖 NodePiece 关于 `MetisAnchorTokenizer` 的文档：由 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykee 中编写","2022-08-04T15:51:28",{"id":210,"version":211,"summary_zh":212,"released_at":213},360402,"v1.8.2","## 数据集\n\n* 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F915 中由 @sbonner0 添加了 PrimeKG 数据集\n* 🌀🔗 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F871 中扩展 EA 数据集，以支持加载统一图\n* 🎺🎷 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F907 中修复了 wk3l 的加载问题\n\n## Lightning\n\n* 🔥⚡ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F905 中引入 PyTorch Lightning\n* 🔥⚡ 第二部分：PyTorch Lightning，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F917 中完成\n* 🚅⚡ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F930 中测试使用 PyTorch Lightning 进行训练\n\n## 损失函数\n\n* 📉🧑‍🤝‍🧑 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F925 中修复了 PairRE 的默认损失函数\n* ℹ️🦭 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F926 中添加了 InfoNCE 损失函数\n* ℹ️🚀 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F928 中更新了 InfoNCE LCWA 的实现\n\n## 表征方法\n\n* 🎲🚶 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F918 中引入随机游走位置编码\n* 🏛️👨 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F920 中引入 Weisfeiler-Lehman 特征\n\n## 其他优秀内容（不在上一条提交中，因为是在下午5点之后）\n\n* 🧫🐍 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F891 中更新了 scipy 的最低版本要求\n* ♻️☎️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F886 中在评估回调中复用优化后的批次大小\n* 🖥️🦎 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F888 中修复了复数类型的初始化问题\n* 📦📚 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F631 中更新了 BoxE 的可重复性配置\n* 🫓🪁 由 SenJia 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F883 中改进了包含 `nan` 字符串的三元组加载\n* 🪵 ✨ 由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F897 中更新了 flake8 的忽略规则\n* 👯‍♂️👯‍♀️ 由 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F896 中为 NodePiece 表征方法引入唯一哈希值\n* 📐📨 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F894 中引入 PyTorch Geometric 的消息传递表征方法\n* 🪛📁 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F890 中修复了目录路径规范化问题\n* 🧛🇪🇺 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F893 中实现了更多图对统一方法\n* 🔙🌙 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F899 中增加了初始化阶段的向后兼容性\n* 📔✅ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F892 中更新了 docstring 覆盖率检查\n* 🪄🖊️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F904 中为类解析器添加类型注解\n* 📋➡️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F903 中将实验列表从尾部移至独立命令\n* 🔧📜 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F902 中更新了关于网格搜索的超参数优化教程\n* 📖 🛠️ 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F912 中修正了预测文档中的拼写错误\n* ✂️🌰 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F908 中从 CoreTriplesFactory 中提取出与三元组无关的信息\n* 🐍👍 由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F921 中将 Python 最低版本提高到 3.8\n* 🧚💾 扩展保存功能至目录","2022-05-24T15:35:40",{"id":215,"version":216,"summary_zh":217,"released_at":218},360403,"v1.8.1","PyKEEN 1.8.1 包含了一些关键的错误修复，以及一些其他很棒的更新。\n\n## 评估\n\n* ⚖️🌡️ 基于权重排名的指标，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F837 中实现\n* 🌌🧐 宏平均评估，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F850 中实现\n\n## 归纳模型\n\n* ⚓🧍 基于 PPR 的 NodePiece 锚点搜索，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F870 中实现\n\n## 转导模型\n\n* ✨🤖 将 DistMult 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F874 中实现\n* ✨🤖 将 ProjE 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F876 中实现\n* ✨🤖 将 RotatE 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F877 中实现\n* ✨🤖 将 ConvE 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F875 中实现\n* 🚛®️ 将 TuckER 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F866 中实现\n* ✨🦜 将 TransR 升级为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F868 中实现\n\n## 新数据集\n\n* 🌪️ 📖 添加 ILPC 数据集和归纳数据集解析器，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F848 中实现\n* 👑🤑 添加 aristo-v4 数据集，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F855 中实现\n\n## 文档\n\n* 📗✨ 更新文档以更好地反映新式模型，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F879 中实现\n* 👣 📚 修正“入门指南”教程中的错别字，由 @andreasala98 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F846 中实现\n\n## 错误修复\n\n* 🔧#️⃣ 修复 arange 的 dtype 和方差截断问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F881 中实现\n* 🪄⚖️ 修复 pop_regularization_term 函数，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F849 中实现\n* 🧑‍🏭🔢 修复数值三元组工厂，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F862 中实现\n* 🍔 🪓 确保所有数据集的划分具有可重复性，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F856 中实现\n* 🚫🏋 如果没有可用的训练批次，则抛出明确的错误，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F860 中实现\n* 🚚💻 修复 TransformerEncoder 令牌的设备问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F861 中实现\n\n## 其他\n\n* 🔎🏋 在训练循环中解决优化器、学习率调度器和追踪器的问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F852 中实现\n* 🎯🪜 更新默认批量大小的超参数优化范围，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F864 中实现\n* ♻️🔥 使用 PyTorch 内置的广播功能，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F873 中实现\n\n## 新贡献者\n* @andreasala98 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F846 中做出了他们的首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fcompare\u002Fv1.8.0...v1.8.1","2022-04-20T12:02:16",{"id":220,"version":221,"summary_zh":222,"released_at":223},360404,"v1.8.0","自今年年初以来，PyKEEN v1.8.0 推出了大量更新，其中包含三大主题：\n\n1. 引入了归纳式链接预测流水线和 NodePiece 模型。我们强烈建议结合这一新流水线及模型阅读 [*知识图谱上归纳式链接预测的开放挑战*](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.01520)。\n2. 随着 [*面向知识图谱链接预测的排名评估指标统一框架*](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.07544) 的提出，新增了基于排名的评估指标。\n3. 对负采样进行了大规模内部重构，以更好地利用 PyTorch 的数据加载器，并支持多 CPU 并发生成（特别感谢 @Koenkalle 在测试方面提供的帮助）。\n\n## NodePiece 与归纳式链接预测\n\n* 🦆🐍 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F722 中实现的归纳式 LP 框架\n* 🌙🐺 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F769 中添加 `mode` 参数\n* 🍸✌️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F770 中为 NodePiece 实现混合分词\n* ☮️⚓ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F755 中引入带锚点的 NodePiece\n* 🥒🏴‍☠️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F822 中实现 NodePiece 的预计算分词\n* 🦜📖 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F833 中重构 NodePiece 并改进文档\n* ⚓ 🔧 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F776 中修复 NodePiece MixtureAnchorSelection 的唯一锚点 ID 问题及 PageRank 计算问题\n* 🧩🧪 @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F771 中提供 NodePiece 的实验性配置\n* 👀 🏋️ @migalkin 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F734 中引入注意力机制加权边\n\n## 模型\n\n### 新增\n\n* ⛟↔️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F751 中添加（多）线性 Tucker 交互\n* 🍦 🎸 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F543 中引入软逆三元组基线\n\n### 更新\n\n* 🤖 ⛑️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F725 中修复 FixedModel 的设备问题\n* 🧀 🏹 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F729 中统一 `slice_size` 的使用方式\n* 📟 ✂️ @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F730 中移除模型中的设备相关代码\n* 💃 🪥 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F762 中清理模型参数传递逻辑\n\n## 训练与评估\n\n* ✂️ ⏰ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F355 中将早停逻辑从评估中分离\n* 🎲🎚️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F733 中实现基于采样的排名评估器\n* ⛏©️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F740 中修复检查点保存问题\n* 🌋 🗺️ @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F780 中将评估器由数据类改为字典\n* 🌀 ⚖️ @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F767 中简化评估流程\n* 🛤️ 🔁 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F793 中将结果跟踪器移至循环内部\n\n### 回调函数\n\n* 📞🔙 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F765 中实现评估回调\n* 🥊 ☎️ 通过 tr","2022-03-22T13:27:29",{"id":225,"version":226,"summary_zh":227,"released_at":228},360405,"v1.7.0","## 新模型\n\n- 添加 BoxE，由 @ralphabb 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F618 中实现\n- 添加 TripleRE，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F712 中实现\n- 添加 AutoSF，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F713 中实现\n- 添加 Transformer，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F714 中实现\n- 添加规范张量分解，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F663 中实现\n- 添加（新颖的）固定模型，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F691 中实现\n- 添加 NodePiece 模型，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F621 中实现\n\n## 更新的模型\n\n- 更新 R-GCN 配置，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F610 中实现\n- 将 ConvKB 更新为 ERModel，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F425 中实现\n- 将 ComplEx 更新为 ERModel，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F639 中实现\n- 将 TranslationalInteraction 重命名为 NormBasedInteraction，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F651 中实现\n- 修复通用切片维度问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F683 中实现\n- 将 UnstructuredModel 重命名为 UM，将 StructuredEmbedding 重命名为 SE，由 @cthoyt 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F721 中实现\n- 允许在 `ERModel` 的 `__init__` 方法中传递未解析的损失函数，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F717 中实现\n\n## 表征与初始化\n\n- 添加低秩嵌入，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F680 中实现\n- 添加 NodePiece 表征，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F621 中实现\n- 添加基于标签的初始化方法，使用 Transformer（例如 BERT），由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F638 和 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F652 中实现\n- 添加基于标签的表征方法（例如用于利用 KGEM 更新语言模型），由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F652 中实现\n- 移除字面量表征（改用基于标签的初始化方法），由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F679 中实现\n\n## 训练\n\n- 修复显示上一 epoch 损失的问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F627 中实现\n- 修复 MultiTrainingCallback 上的 kwargs 传递问题，由 Rodrigo-A-Pereira 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F645 中实现\n- 扩展回调函数功能，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F609 中实现\n- 添加梯度裁剪功能，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F607 中实现\n- 修复 sLCWA 的负分形状问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F624 中实现\n- 修复当损失函数归约方式不为“均值”时的 epoch 损失问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F623 中实现\n- 为交叉熵损失添加 sLCWA 支持，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F704 中实现\n\n## 推理\n\n- 添加基于 MC dropout 的不确定性估计函数，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F688 中实现\n- 修复预测 top k 的问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F690 中实现\n- 修复在使用逆关系时 `predict_*` 方法中的索引问题，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F699 中实现\n- 将张量移动到设备上，用于 `predict_*` 方法，由 @mberr 在 https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002F… 中实现","2022-01-11T14:57:28",{"id":230,"version":231,"summary_zh":232,"released_at":233},360406,"v1.6.0","This release is only compatible with PyTorch 1.9+. Because of some changes,\r\nit's now pretty non-trivial to support both, so moving forwards PyKEEN will\r\ncontinue to support the latest version of PyTorch and try its best to keep\r\nbackwards compatibility.\r\n\r\n## New Models\r\n\r\n- DistMA (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F507)\r\n- TorusE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F510)\r\n- Frequency Baselines (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F514)\r\n- Gated Distmult Literal (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F591, thanks @Rodrigo-A-Pereira)\r\n\r\n## New Datasets\r\n\r\n- WD50K (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F511)\r\n- Wikidata5M (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F528)\r\n- BioKG (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F585, thanks @sbonner0)\r\n\r\n## New Losses\r\n\r\n- Double Margin Loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F539)\r\n- Focal Loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F542)\r\n- Pointwise Hinge Loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F540)\r\n- Soft Pointwise Hinge Loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F540)\r\n- Pairwise Logistic Loss (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F540)\r\n\r\n## Added\r\n\r\n- Tutorial in using checkpoints when bringing your own data (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F498)\r\n- Learning rate scheduling (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F492)\r\n- Checkpoints include entity\u002Frelation maps (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F498)\r\n- QuatE reproducibility configurations (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F486)\r\n\r\n## Changed\r\n\r\n- Reimplment SE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F521)\r\n  and NTN (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F522) with new-style models\r\n- Generalize pairwise loss and pointwise loss hierarchies (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F540)\r\n- Update to use PyTorch 1.9 functionality (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F489)\r\n- Generalize generator strategies in LCWA (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F602)\r\n\r\n## Fixed\r\n\r\n- FileNotFoundError on Windows\u002FAnaconda (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F503, thanks @Hao-666)\r\n- Fixed docstring for ComplEx interaction (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F504)\r\n- Make DistMult the default interaction function for R-GCN (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F548)\r\n- Fix gradient error in CompGCN buffering (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F573)\r\n- Fix splitting of numeric triples factories (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F594, thanks @Rodrigo-A-Pereira)\r\n- Fix determinism in spitting of triples factory (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F500)\r\n- Fix documentation and improve HPO suggestion (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F524, thanks @kdutia)\r\n","2021-10-18T09:50:50",{"id":235,"version":236,"summary_zh":237,"released_at":238},360407,"v1.5.0","## New Metrics\r\n\r\n- Adjusted Arithmetic Mean Rank Index (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F378)\r\n- Add harmonic, geometric, and median rankings (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F381)\r\n\r\n## New Trackers\r\n\r\n- Console Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F440)\r\n- Tensorboard Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F416; thanks @sbonner0)\r\n\r\n## New Models\r\n\r\n- QuatE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F367)\r\n- CompGCN (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F382)\r\n- CrossE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F467)\r\n- Reimplementation of LiteralE with arbitrary combination (g) function (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F245)\r\n\r\n## New Negative Samplers\r\n\r\n- Pseudo-typed Negative Sampler (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F412)\r\n\r\n## Datasets\r\n\r\n- Removed invalid datasets (OpenBioLink filtered sets; https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002Fhttps:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F439)\r\n- Added WK3k-15K (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F403)\r\n- Added WK3l-120K (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F403)\r\n- Added CN3l (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F403)\r\n\r\n## Added\r\n\r\n- Documentation on using PyKEEN in Google Colab and Kaggle (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F379, thanks @jerryIsHere)\r\n- Pass custom training loops to pipeline (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F334)\r\n- Compatibility later for the fft module (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F288)\r\n- Official Python 3.9 support, now that PyTorch has it (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F223)\r\n- Utilities for dataset analysis (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F16, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F392)\r\n- Filtering of negative sampling now uses a bloom filter by default (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F401)\r\n- Optional embedding dropout (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F422)\r\n- Added more HPO suggestion methods and docs (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F446)\r\n- Training callbacks (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F429)\r\n- Class resolver for datasets (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F473)\r\n\r\n## Updated\r\n\r\n- R-GCN implementation now uses new-style models and is super idiomatic (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F110)\r\n- Enable passing of interaction function by string in base model class (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F384, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F387)\r\n- Bump scipy requirement to 1.5.0+\r\n- Updated interfaces of models and negative samplers to enforce kwargs (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F445)\r\n- Reorganize filtering, negative sampling, and remove triples factory from most objects (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F400, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F405, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F406, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F409, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F420)\r\n- Update automatic memory optimization (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F404)\r\n- Flexibly define positive triples for filtering (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F398)\r\n- Completely reimplemented negative sampling interface in training loops (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F427)\r\n- Completely reimplemented loss function in training loops (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F448)\r\n- Forward-compatibility of embeddings in old-style models and updated docs on how to use embeddings (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F474)\r\n\r\n## Fixed\r\n\r\n- Regularizer passing in the pipeline and HPO (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F345)\r\n- Saving results when using multimodal models (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F349)\r\n- Add missing diagonal constraint on MuRE Model (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F353)\r\n- Fix early stopper handling (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F419)\r\n- Fixed saving results from pipeline (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F428, thanks @kantholtz)\r\n- Fix OOM issues with early stopper and AMO (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F433)\r\n- Fix ER-MLP functional form (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F444)\r\n","2021-06-13T21:50:49",{"id":240,"version":241,"summary_zh":242,"released_at":243},360408,"v1.4.0","## New Datasets\r\n\r\n- Countries (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F314)\r\n- DB100K (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F316)\r\n\r\n## New Models\r\n\r\n- MuRE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F311)\r\n- PairRE (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F309)\r\n- Monotonic affine transformer (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F324)\r\n\r\n## New Algorithms\r\n\r\nIf you're interested in any of these, please get in touch with us regarding an upcoming publication.\r\n\r\n- Dataset Similarity (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F294)\r\n- Dataset Deterioration (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F295)\r\n- Dataset Remix (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F296)\r\n\r\n## Added\r\n\r\n- New-style models (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F260) for direct usage of interaction modules\r\n- Ability to train ``pipeline()`` using an Interaction module rather than a Model (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F326, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F330).\r\n\r\n## Changes\r\n\r\n- Lookup of assets is now mediated by the [`class_resolver`](https:\u002F\u002Fgithub.com\u002Fcthoyt\u002Fclass-resolver) package (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F321, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F327)\r\n- The [`docdata`](https:\u002F\u002Fgithub.com\u002Fcthoyt\u002Fdocdata\u002F) package is now used to parse structured information out of the model and dataset documentation in order to make a more informative README with links to citations (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F303).\r\n\r\n## Fixed\r\n\r\n- Fixed ComplEx's implementation (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F313)\r\n- Fixed OGB's reuse entity identifiers (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F318, thanks @tgebhart)","2021-03-04T16:07:36",{"id":245,"version":246,"summary_zh":247,"released_at":248},360409,"v1.3.0","We skipped version 1.2.0 because we made an accidental release before this version was ready. We're only human, and are looking into improving our release workflow to live in CI\u002FCD so something like this doesn't happen again. However, as an end user, this won't have an effect on you.\r\n\r\n## New Datasets\r\n\r\n- CSKG (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F249)\r\n- DBpedia50 (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F278)\r\n\r\n## New Trackers\r\n\r\n- General file-based Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F254)\r\n- CSV Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F254)\r\n- JSON Tracker (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fpull\u002F254)\r\n\r\n## Added\r\n\r\n- ``pykeen version`` command for more easily reporting your environment in issues (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F251)\r\n- Functional forms of all interaction models (e.g., TransE, RotatE) (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F238, [pykeen.nn.functional documentation](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fnn\u002Ffunctional.html)). These can be generally reused, even outside of the typical PyKEEN workflows.\r\n- Modular forms of all interaction models (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F242, [pykeen.nn.modules documentation](https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fnn\u002Fmodules.html)). These wrap the functional forms of interaction models and store hyper-parameters such as the ``p`` value for the L_p norm in TransE.\r\n- The initializer, normalizer, and constrainer for the entity and relation embeddings are now exposed through the ``__init__()`` function of each KGEM class and can be configured. A future update will enable HPO on these as well (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F282).\r\n\r\n## Refactoring and Future Preparation\r\n\r\nThis release contains a few big refactors. Most won't affect end-users, but if you're writing your own PyKEEN models, these are important. Many of them are motivated to make it possible to introduce a new interface that makes it much easier for researchers (who shouldn't have to understand the inner workings of PyKEEN) to make new models.\r\n\r\n- The regularizer has been refactored (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F266,\r\n  https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F274). It no longer accepts a ``torch.device`` when instantiated.\r\n- The ``pykeen.nn.Embedding`` class has been improved in several ways:\r\n  - Embedding Specification class makes it easier to write new classes (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F277)\r\n  - Refactor to make shape of embedding explicit (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F287)\r\n  - Specification of complex datatype (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F292)\r\n- Refactoring of the loss model class to provide a meaningful class hierarchy (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F256, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F262)\r\n- Refactoring of the base model class to provide a consistent interface (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F246, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F248, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F253, https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F257). This allowed for simplification of the loss computation based on the new hierarchy and also new implementation of regularizer class.\r\n- More automated testing of typing with MyPy (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F255) and automated checking of documentation with ``doctests`` (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F291)\r\n\r\n## Triples Loading\r\n\r\nWe've made some improvements to the ``pykeen.triples.TriplesFactory`` to facilitate loading even larger datasets (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F216). However, this required an interface change. This will affect any code that loads custom triples. If you're loading triples from a path, you should now use:\r\n\r\n```python\r\npath = ...\r\n# Old (doesn't work anymore)\r\ntf = TriplesFactory(path=path)\r\n\r\n# New\r\ntf = TriplesFactory.from_path(path)\r\n```\r\n\r\n## Predictions\r\n\r\nWhile refactoring the base model class, we excised the prediction functionality to a new module ``pykeen.models.predict`` (docs: https:\u002F\u002Fpykeen.readthedocs.io\u002Fen\u002Flatest\u002Freference\u002Fpredict.html#functions). We also renamed some of the prediction functions inside the base model to make them more consistent, but we now recommend you use the functions from ``pykeen.models.predict`` instead.\r\n\r\n- ``Model.predict_heads()`` -> ``Model.get_head_prediction_df()``\r\n- ``Model.predict_relations()`` -> ``Model.get_head_prediction_df()``\r\n- ``Model.predict_tails()`` -> ``Model.get_head_prediction_df()``\r\n- ``Model.score_all_triples()`` -> ``Model.get_all_prediction_df()``\r\n\r\n## Fixed\r\n\r\n- Do not create inverse triples for validation and testing factory (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F270)\r\n- Treat nonzero applied to large tensor error as OOM for batch size search (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F279)\r\n- Fix bug in loading ConceptNet (https:\u002F\u002Fgithub.com\u002Fpykeen\u002Fpykeen\u002Fissues\u002F290). If your experiments relied on this\r\n  dataset, you should rerun them.\r\n","2021-02-15T14:17:06"]