[graph-tool] Re: error: Received Orphaned Property Map
Am 04.10.21 um 20:27 schrieb sam.gyet...@gmail.com: i wasn't aware of the own_property() function and can't find it in the graph-tool documentation (other than seeing it being used in examples involving visualization). whatever it does, it seems to work just do: help(Graph.own_property) -- Tiago de Paula Peixoto ___ graph-tool mailing list -- graph-tool@skewed.de To unsubscribe send an email to graph-tool-le...@skewed.de
[graph-tool] Re: error: Received Orphaned Property Map
here is a working example ``` import graph_tool.all as gt import multiprocessing as mp g = gt.collection.data["celegansneural"] pool = mp.Pool(5) def fit_sbm(i): state = gt.minimize_blockmodel_dl(g) b = state.get_blocks() print(i) return(b) blocks = pool.map(fit_sbm, range(5)) pool.close #print(blocks) #b0 = blocks[0] #print(b0) b0 = blocks[0] g.vertex_properties["membership"] = b0 ``` i wasn't aware of the own_property() function and can't find it in the graph-tool documentation (other than seeing it being used in examples involving visualization). whatever it does, it seems to work, and the modified code below seems to work ``` import graph_tool.all as gt import multiprocessing as mp g = gt.collection.data["celegansneural"] pool = mp.Pool(5) def fit_sbm(i): state = gt.minimize_blockmodel_dl(g) b = state.get_blocks() print(i) return(b) blocks = pool.map(fit_sbm, range(5)) pool.close #print(blocks) #b0 = blocks[0] #print(b0) b0 = blocks[0] g.vertex_properties["membership"] = g.own_property(b0) ``` ___ graph-tool mailing list -- graph-tool@skewed.de To unsubscribe send an email to graph-tool-le...@skewed.de
[graph-tool] Re: error: Received Orphaned Property Map
Am 04.10.21 um 10:29 schrieb sam.gyet...@gmail.com: hi, i received this error while trying to assign a vertex property map to a graph, and i'm not sure how to get around it. context: i am running minimize_blockmodel_dl() many times in parallel using microprocessing. because my graph is large, i don't want it to save multiple copies of the graph. so i am trying to only keep the block id each time. however, when i try to do this, i get the above error here's a somewhat simplified example: ``` import graph_tool.all as gt import multiprocessing as mp pool = mp.Pool(5) def fit_sbm(): state = gt.minimize_blockmodel_dl(g) b = state.get_blocks() return b blocks = pool.map(fit_sbm, range(5)) pool.close b0 = blocks[0] membership = g.new_vertex_property("int") membership = b0 g.vertex_properties["membership"] = b0 ``` could you explain why this error comes up, and also if possible suggest an alternative way to proceed? The code you provided does not run. Could you please provide a minimal _working_ example that shows the problem? Additionally, you seem confused about how variable assignment works in Python, since the first line does nothing in: membership = g.new_vertex_property("int") membership = b0 And these two lines are also irrelevant to what follows, since you never use the variable "membership" again. Presumably, you wanted to do something like: g.vp["membership"] = g.own_property(blocks[0]) But I can only guess. Best, Tiago -- Tiago de Paula Peixoto ___ graph-tool mailing list -- graph-tool@skewed.de To unsubscribe send an email to graph-tool-le...@skewed.de