Anteriormente conhecido como kglib.
O typeDB-ML fornece ferramentas para ativar algoritmos de gráfico e aprendizado de máquina com o typeDB.
Existem integrações para o Networkx e para Pytorch Geométrico (PYG).
A integração do NetworkX permite que você use uma grande biblioteca de algoritmos sobre dados gráficos exportados do typeDB.
A integração geométrica do Pytorch (PYG) fornece uma caixa de ferramentas para criar redes neurais gráficas (GNNs) para seus dados typeDB, com um exemplo incluído para previsão de links (ou: previsão de relação binária, em termos tipedB). A estrutura dos GNNs é totalmente personalizável, com componentes de rede para tópicos populares, como atenção gráfica e transformadores de gráfico embutidos.
build_graph_from_queries
).DataSet
para carregar preguiçosamente gráficos de uma instância do typeDB. Cada gráfico é convertido em um objeto Data
PYG.HeteroData
, pois todos os dados no typeDB têm um tipo. A conversão de Data
para HeteroData
está disponível no PYG, mas perde informações sobre pedidos de nó. Para remediar isso, o typeDB-ML fornece ao store_concepts_by_type
para armazenar conceitos consistentes com um objeto HeteroData
. Isso permite que os conceitos sejam re-associados adequadamente com previsões após o término do aprendizado.FeatureEncoder
para orquestrar codificadores para gerar recursos para gráficos.HeteroData
Você pode achar os seguintes recursos úteis, principalmente para entender por que o typeDB-ML foi iniciado:
Python> = 3.7.x
Pegue o arquivo requirements.txt
aqui e instale os requisitos com pip install -r requirements.txt
. Isso se deve a alguns meandros que instalam as dependências da PYG, veja aqui para obter detalhes.
Instalado typeDB-ml: pip install typedb-ml
.
TypeDB 2.11.1 em execução em segundo plano.
typedb-client-python
2.11.x (Pypi, liberação do GitHub). Isso deve ser instalado automaticamente quando você pip install typedb-ml
.
Dê uma olhada no exemplo de previsão de previsão de link heterogêneo de Pytorch para ver como usar o typeDB-ML para criar um GNN nos dados typeDB.
Para seguir a conversa de desenvolvimento, junte-se à Vaticle Discord e junte-se ao canal #typedb-ml
. Como alternativa, inicie um novo tópico no fórum de discussão do Vaticle.
O typeDB-ML exige que você migrasse seus dados para uma instância de cluster typeDB ou typeDB. Há um repositório oficial de como fazer isso e informações disponíveis sobre a migração nos documentos. Como alternativa, existem fantásticos projetos liderados pela comunidade que crescem no OSI typeDB para facilitar o carregamento de dados rápido e fácil, por exemplo, o tipedb carregador.
Espera -se que você use o PIP para instalar, mas se precisar fazer suas próprias alterações na biblioteca e importá -la para o seu projeto, poderá construir a partir da fonte da seguinte maneira:
Clone typedb-ml:
git clone [email protected]:vaticle/typedb-ml.git
Entre no diretório do projeto:
cd typedb-ml
Construa todos os alvos:
bazel build //...
Execute todos os testes. Requer Python 3.7+ no seu PATH
. As dependências de teste são para Linux, pois esse é o ambiente de IC:
bazel test //typedb_ml/... --test_output=streamed --spawn_strategy=standalone --action_env=PATH
Construa a distribuição PIP. Saídas para bazel-bin
:
bazel build //:assemble-pip