Ранее известный как kglib.
TypedB-ML предоставляет инструменты для включения алгоритмов графика и машинного обучения с TypedB.
Существуют интеграции для NetworkX и для Pytorch Geometric (PYG).
Интеграция NetworkX позволяет использовать большую библиотеку алгоритмов по сравнению с графическими данными, экспортированными из TypedB.
Интеграция Pytorch Geometric (PYG) дает вам набор инструментов для создания графических нейронных сетей (GNN) для ваших данных TypedB с примером, включенным для прогнозирования ссылок (или: прогноз бинарного отношения, в терминах TypedB). Структура GNN полностью настраима, с сетевыми компонентами для популярных тем, таких как встроенные трансформаторы графа и графические трансформаторы.
build_graph_from_queries
).DataSet
для лениво загружаю графики из экземпляра TypedB. Каждый график преобразуется в объект Data
PYG.HeteroData
, поскольку все данные в TypedB имеют тип. Преобразование из Data
в HeteroData
доступно в PYG, но теряет информацию о заказе узлов. Чтобы исправить это, TypedB-ML предоставляет store_concepts_by_type
для хранения концепций, соответствующих объекту HeteroData
. Это позволяет должным образом переосмысливаться концепциями с прогнозами после завершения обучения.FeatureEncoder
для оркестровки энкодеров для создания функций для графиков.HeteroData
Вы можете найти следующие ресурсы полезными, особенно чтобы понять, почему начался typedb-ml:
Python> = 3.7.x
Возьмите файл requirements.txt
отсюда и установите требования с помощью pip install -r requirements.txt
. Это связано с некоторыми тонкостями, установленными зависимостями PYG, см. Здесь для деталей.
Установлен TypedB-ML: pip install typedb-ml
.
TypedB 2.11.1 работает в фоновом режиме.
typedb-client-python
2.11.x (PYPI, выпуск GitHub). Это должно быть установлено автоматически при pip install typedb-ml
.
Взгляните на пример прогнозирования геометрического геометрического гетерогенного звена Pytorch, чтобы увидеть, как использовать TypedB-ML для построения GNN на данных TypedB.
Чтобы следовать разговору о разработке, присоединяйтесь к Discord Vaticle и присоединяйтесь к каналу #typedb-ml
. В качестве альтернативы, начните новую тему на дискуссионном форуме Ватика.
TypedB-ML требует, чтобы вы перенесли свои данные в экземпляр кластера TypedB или TypedB. Есть официальные примеры репо для того, как это сделать, и информация о миграции в документах. В качестве альтернативы, в TypedB OSI растут фантастические проекты, подлежащие сообществу, чтобы облегчить быстрое и легкую загрузку данных, например, TypedB Loader.
Ожидается, что вы будете использовать PIP для установки, но если вам нужно внести свои собственные изменения в библиотеку и импортировать его в свой проект, вы можете построить из источника следующим образом:
Клон typedb-ml:
git clone [email protected]:vaticle/typedb-ml.git
Зайдите в каталог проектов:
cd typedb-ml
Создайте все цели:
bazel build //...
Запустите все тесты. Требуется Python 3.7+ на вашем PATH
. Тестовые зависимости для Linux, так как это среда CI:
bazel test //typedb_ml/... --test_output=streamed --spawn_strategy=standalone --action_env=PATH
Создайте распределение PIP. Выходы на bazel-bin
:
bazel build //:assemble-pip