There seems to be a parallelization bug in Graphlab Create 2.1.
When calling SGraph.triple_apply() with a function which updates edge attributes, the result becomes non-deterministic in the parallel processing situation.
To solve this problem, set the number of Graphlab’s worker threads to 1, which can be done as follows.
graphlab.set_runtime_config('GRAPHLAB_DEFAULT_NUM_GRAPH_LAMBDA_WORKERS', 1)
Though it seems OK to update node attributes in parallel, I’m not sure whether the number of workers can be changed after once initiated.
ピンバック: Graphlab Create Tips | Technooooootes
*a comment by myself*
This issue is resolved by specifying all the attributes of vertices and edges to `mutated_fields`.
It is also mentioned in the API Docs.
https://turi.com/products/create/docs/generated/graphlab.SGraph.triple_apply.html