awslabs / dgl-ke

High performance, easy-to-use, and scalable package for learning large-scale knowledge graph embeddings.
https://dglke.dgl.ai/doc/
Apache License 2.0
1.25k stars 194 forks source link

Support Adam or Adagrad #260

Open LeoYML opened 1 year ago

LeoYML commented 1 year ago

Hi, Thanks for your excellent jobs!

Why not support Adam and Adagrad?

Is this project updating? or your team is working on new projct.

yulong-CSAI commented 1 year ago

same question

yulong-CSAI commented 1 year ago

And I apply the ExternalEmbedding to my code, to enhance my train efficient, I found I can't get statisfied result. Does it's matters with dgl Graph.

YijianLiu commented 1 year ago

And I apply the ExternalEmbedding to my code, to enhance my train efficient, I found I can't get statisfied result. Does it's matters with dgl Graph.

I have a question need your help! We can communicate together. On the code, I see pos_g has edges 1024 and neg_g also has edges 1024, it corrupts triplet 1 time, but on the paper you say corrupt every triplet k times. Is it correct? Or does it just mean 1024=4*256, 256 is chunk size, and on this way you finish group triplets into 4 chunks and corrupt them together then we get 1024

LeoYML commented 1 year ago

As I understand, It corrupts together, the candidates(neg_samples) for per triplet is same.

I have implemented another version that different triplets use different candidates, but the training is not efficient and the GPU memory is so large (as expected).

By the way, I am working on implement the adam by myself, I think this project is not active enough, If somebody would like to communicate with me directly, can email yueling.me@qq.com or add my wechat, I am working on improving this pipeline.

yulong-CSAI commented 1 year ago

I have also tried to implement adam myself, but doesn't adam take up a lot of memory?

yulong-CSAI commented 1 year ago

Now kge framework is a lot, pykeen framework is quite active, better than dglke

YijianLiu commented 1 year ago

pykeen

Thanks, and are there any other KGE models to recommend besides pykeen, do you learn openKE?

yulong-CSAI commented 1 year ago

openke is a relatively early project, has not been very active, currently see pykeen is always updated framework