forked from google-research/smore
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
The overall goal is to fit SMORE into the PyG interface, and to re-use as much of PyG's functionality as possible. This involves:
- Providing datasets as part of a
InMemoryDataset - Integrate
SparseEmbeddingfunctionality with asychronous access directly in PyG (can be later used for integration withGNNAutoScaleas well) - Clean-up models to make use of
MessagePassingwhenever possible - Out-source evaluation metrics to
torch_geometric.utilsortorch_geometric.metrics - Potentially integrate with GraphGym once multi-GPU support for GraphGym lands
In general, I'm in favor of storing KGs as pure PyTorch tensors, and utilize the torch.extension package for C++/CUDA integration (similar to how torch-scatter and torch-sparse works). This should also allow us to have @torch.jit.script support for C++ extensions.
We can store KGs in CSR representation based on head type. Relations can be sorted based on relation id inside each head id and can be then effectively queried via binary search.
Reactions are currently unavailable