Consider a constant graph, nothing changes. However, running gds.beta.graphSage.stream (or gds.beta.graphSage.mutate) yields inconsistent embeddings for the same node between runs. In the specific case, given a node n, I have a nonzero probability to obtain sensibly different embeddings in two consecutive runs.
Create a weighted graph and pick a test node, say n
at each run t:
Drop the memory graph
Create a new memory graph
Stream the embeddings and look at the embeddings of node n
Across runs: sometimes embeddings of node n are the same in two consecutive runs, sometimes they are different. There is no deterministic behaviour.
As I am employing such embeddings in a ML pipeline, I do need embeddings of a node n to be always the same if the graph and the model do not change.
Describe the bug
gds.beta.graphSage.stream
(orgds.beta.graphSage.mutate
) yields inconsistent embeddings for the same node between runs. In the specific case, given a noden
, I have a nonzero probability to obtain sensibly different embeddings in two consecutive runs.To Reproduce
GDS version: 2.1.12 Neo4j version: 4.4.11 Operating system: Debian (run into docker)
Steps to reproduce the behavior:
n
t
:n
Across runs: sometimes embeddings of node
n
are the same in two consecutive runs, sometimes they are different. There is no deterministic behaviour. As I am employing such embeddings in a ML pipeline, I do need embeddings of a noden
to be always the same if the graph and the model do not change.Am I doing something wrong or is there a bug?