DeepGraphLearning / graphvite

GraphVite: A General and High-performance Graph Embedding System
https://graphvite.io
Apache License 2.0
1.21k stars 151 forks source link

stability of embedding #78

Open Passion-4-Life opened 3 years ago

Passion-4-Life commented 3 years ago

Hi,

I was wondering how is the randomness/stability of embedding algorithms in GraphVite (for example DeepWalk). If I run it on the same graph twice, will I get the same embedding result? Also, if the randomness does exist, is there any seed/config so that I can ensure the reproduction? Thanks

KiddoZhu commented 3 years ago

The CPU part, such as parameter initialization and edge sampling, is always seeded and reproducible.

The GPU part is a little bit random since we use ASGD. There is no guarantee in the update order of each sample. This may cause some randomness in the result. However, in practice we never found any significant difference for any model on any standard dataset provided in GraphVite.