I'm saving NestedState with pickle and then loading it later to use get_edges_prob.

    nested_state = pickle.load(
        open(f"output/graphtool_output/pickle/{name}_nested_blockstate.p",
             "rb"))

I realized that NestedState needs a reference to the underlying graph for get_edges_prob to work. So, I try this.

    G = gt.load_graph(f'output/graphtool_output/{name}.graphml')
    nested_state.g = G

Now, get_edges_prob is working if I use the base level of the state, like so:

    def collect_edge_probs(s):
        s = s.levels[0]
        for i, non_edge in enumerate(non_edges):
            p = s.get_edges_prob([non_edge], [],
                                 entropy_args=dict(partition_dl=False))
            non_edges_probs[i].append(p)

If I remove this " s = s.levels[0]" I'm getting an error about "invalid edge descriptor". Is there some other reference I need to recover for this to work correctly?

Any help appreciated!