facebookresearch / PyTorch-BigGraph

Generate embeddings from large-scale graph-structured data.
https://torchbiggraph.readthedocs.io/
Other
3.38k stars 449 forks source link

[Question] Implementing my own embedding in PBG #143

Closed spapadias closed 4 years ago

spapadias commented 4 years ago

Hello PBG people!

I read the SysML 2019 paper and I found it very interesting. It is great that the project is open source.

I am wondering if I can implement my own embedding algorithm on top of your system. Do you provide any abstractions for the developers (I did not see any such section in the paper)?

Best, Makis

adamlerer commented 4 years ago

I guess it depends what exactly your embedding algorithm is. There are abstractions for changing things like the loss function, relation operator, etc., but PBG is pretty specialized for high performance on large datasets, and so it will be hard to support more exotic embedding algorithms.

You might want to check out something like https://github.com/facebookresearch/kbc .

spapadias commented 4 years ago

Hi Adam! Thanks for your answer.

For example, in the paper you compare with DeepWalk which is a random-walk based method for calculating graph node embeddings.

Did you implement DeepWalk on top of PBG?

If yes, do you provide abstractions for defining random-walk operations in PBG? If no, is it possible to build such abstractions in your system?

Thanks in advance.

adamlerer commented 4 years ago

No, you cannot do random-walk type embeddings in PBG.