Hi all, I have a NestedBlockState with LayeredBlockState as basis, two layers. 
I would like to predict edges that are missing in one or the other layer 
(besides, is this even possible?). However, given a list of missing edges (and 
a list of spurious ones) I tried this

a_state.get_edges_prob(missing, spurious)

and get this error

AttributeError                            Traceback (most recent call last)
<ipython-input-68-b3bc5280d3da> in <module>
----> 1 a_state.get_edges_prob([missing], spurious)

~/anaconda3/envs/experimental/lib/python3.8/site-packages/graph_tool/inference/nested_blockmodel.py
 in get_edges_prob(self, missing, spurious, entropy_args)
    441                 lstate._state.clear_egroups()
    442 
--> 443             L += lstate.get_edges_prob(missing, spurious, 
entropy_args=eargs)
    444             if isinstance(self.levels[0], LayeredBlockState):
    445                 missing = [(lstate.b[u], lstate.b[v], l_) for u, v, l_ 
in missing]

~/anaconda3/envs/experimental/lib/python3.8/site-packages/graph_tool/inference/blockmodel.py
 in get_edges_prob(self, missing, spurious, entropy_args)
   1204             pos[v] = self.b[v]
   1205 
-> 1206         self.remove_vertex(pos.keys())
   1207 
   1208         try:

~/anaconda3/envs/experimental/lib/python3.8/site-packages/graph_tool/inference/blockmodel.py
 in remove_vertex(self, v)
   1144            twice.
   1145         """
-> 1146         self._state.remove_vertex(int(v))
   1147 
   1148     def add_vertex(self, v, r):

AttributeError: 'graph_tool::BlockState<boost::undirected_adaptor<b' object has 
no attribute 'remove_vertex'

I'm not sure what's happening here, but as far as I know gt.BlockState (and 
gt.NestedBlockState and gt.LayeredBlockState) have a remove_vertex method 
defined, right?
_______________________________________________
graph-tool mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to