Anteriormente conocido como Kglib.
TypedB-ML proporciona herramientas para habilitar algoritmos gráficos y aprendizaje automático con TypedB.
Hay integraciones para NetworkX y para Pytorch geométrica (PYG).
La integración de NetworkX le permite usar una gran biblioteca de algoritmos sobre los datos gráficos exportados desde TypedB.
La integración geométrica de Pytorch (PYG) le brinda una caja de herramientas para construir redes neuronales gráficas (GNN) para sus datos TypedB, con un ejemplo incluido para la predicción de enlaces (o: Predicción de la relación binaria, en términos TypedB). La estructura de los GNN es totalmente personalizable, con componentes de red para temas populares como la atención de los gráficos y los transformadores de gráficos incorporados.
build_graph_from_queries
).DataSet
para cargar gráficos perezosamente desde una instancia typedb. Cada gráfico se convierte en un objeto Data
PYG.HeteroData
PYG ya que todos los datos en TypedB tienen un tipo. La conversión de Data
a HeteroData
está disponible en PYG, pero pierde información de pedido de nodos. Para remediar esto, TypedB-ML proporciona store_concepts_by_type
para almacenar conceptos consistentes con un objeto HeteroData
. Esto permite que los conceptos se vuelvan a asociar adecuadamente con las predicciones después de que se termine el aprendizaje.FeatureEncoder
para orquestar codificadores para generar características para gráficos.HeteroData
pyg Puede encontrar útiles los siguientes recursos útiles, particularmente para comprender por qué comenzó TypedB-ML:
Python> = 3.7.x
Tome el archivo requirements.txt
desde aquí e instale los requisitos con pip install -r requirements.txt
. Esto se debe a que algunas complejidades instalan las dependencias de PYG, consulte aquí para más detalles.
TypedB-ML instalado: pip install typedb-ml
.
Typedb 2.11.1 en segundo plano.
typedb-client-python
2.11.x (Pypi, liberación de GitHub). Esto debe instalarse automáticamente cuando pip install typedb-ml
.
Eche un vistazo al ejemplo de predicción del enlace heterogéneo geométrico de Pytorch para ver cómo usar TypedB-ML para construir un GNN en los datos TypedB.
Para seguir la conversación de desarrollo, únase a la discordia del Vaticle y únase al canal #typedb-ml
. Alternativamente, comience un nuevo tema en el Foro de Discusión Vaticle.
TypedB-ML requiere que haya migrado sus datos a una instancia de clúster TypedB o TypedB. Hay un repositorio oficial sobre cómo hacerlo, e información disponible sobre la migración en los documentos. Alternativamente, hay fantásticos proyectos dirigidos por la comunidad que crecen en el TypedB OSI para facilitar la carga de datos rápida y fácil, por ejemplo, TypedB Loader.
Se espera que use PIP para instalar, pero si necesita hacer sus propios cambios en la biblioteca y importarlo en su proyecto, puede construir desde la fuente de la siguiente manera:
Clon typedb-ml:
git clone [email protected]:vaticle/typedb-ml.git
Entra en el directorio del proyecto:
cd typedb-ml
Construya todos los objetivos:
bazel build //...
Ejecute todas las pruebas. Requiere Python 3.7+ en su PATH
. Las dependencias de la prueba son para Linux, ya que ese es el entorno CI:
bazel test //typedb_ml/... --test_output=streamed --spawn_strategy=standalone --action_env=PATH
Construya la distribución PIP. Salidas a bazel-bin
:
bazel build //:assemble-pip