Dear all, after trying for a few days to resolve this myself, I decided to ask for help here.
The cookbook example on model evidence for the nested example fails on all my graphs, but works with the original gt.collection.data["lesmis"] graph. The code is exactly as in the cookbook example <https://graph-tool.skewed.de/static/doc/demos/inference/inference.html#model-class-selection> . The unnested SBM does work with every graph I tried. Here's the error message, which is triggered in the call to mcmc_equilibrate(). --- ArgumentError Traceback (most recent call last) <ipython-input-65-403d439ad6c7> in <module>() 32 # Now we collect the marginal distributions for exactly 200,000 sweeps 33 gt.mcmc_equilibrate(state, force_niter=10, mcmc_args=dict(niter=10), ---> 34 callback=collect_marginals) 35 36 S_mf = [gt.mf_entropy(sl.g, vm[l]) for l, sl in enumerate(state.get_levels())] /usr/lib/python2.7/dist-packages/graph_tool/inference/mcmc.pyc in mcmc_equilibrate(state, wait, nbreaks, max_niter, force_niter, epsilon, gibbs, block_moves, mcmc_args, entropy_args, history, callback, verbose) 118 while count < wait: 119 if not gibbs: --> 120 delta, nmoves = state.mcmc_sweep(**mcmc_args) 121 else: 122 delta, nmoves = state.gibbs_sweep(**mcmc_args) /usr/lib/python2.7/dist-packages/graph_tool/inference/nested_blockmodel.pyc in mcmc_sweep(self, **kwargs) 526 c = [c] + [c * 2 ** l for l in range(1, len(self.levels))] 527 --> 528 return self._h_sweep(lambda s, **a: s.mcmc_sweep(**a), c=c, **kwargs) 529 530 def gibbs_sweep(self, **kwargs): /usr/lib/python2.7/dist-packages/graph_tool/inference/nested_blockmodel.pyc in _h_sweep(self, algo, **kwargs) 460 edges_dl=(l + 1 == len(self.levels) - 1)) 461 self.levels[l]._couple_state(self.levels[l + 1], --> 462 get_entropy_args(eargs)) 463 self.levels[l + 1]._state.clear_egroups() 464 self.levels[l + 1]._state.sync_emat() /usr/lib/python2.7/dist-packages/graph_tool/inference/blockmodel.pyc in _couple_state(self, state, entropy_args) 586 self._state.decouple_state() 587 else: --> 588 self._state.couple_state(state._state, entropy_args) 589 590 def get_blocks(self): ArgumentError: Python argument types in graph_tool::BlockState<boost::UndirectedAdaptor<boost::filtered_graph<boost::adj_list<unsigned long>, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > >, graph_tool::simple_degs_t, std::integral_constant<bool, true>, std::integral_constant<bool, true>, boost::any, boost::any, boost::any, boost::unchecked_vector_property_map<int, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, bool, int, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::typed_identity_property_map<unsigned long> >, double, double, double, double, double, double, boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> >, bool>.couple_state(graph_tool::BlockState<boost::UndirectedAdaptor<boost::filtered_graph<boost::adj_list<unsigned long>, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > >, graph_tool::simple_degs_t, std::integral_constant<bool, true>, std::integral_constant<bool, true>, boost::any, boost::any, boost::any, boost::unchecked_vector_property_map<int, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, bool, int, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::typed_identity_property_map<unsigned long> >, double, double, double, double, double, double, boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> >, bool>, graph_tool::BlockState<boost::UndirectedAdaptor<boost::adj_list<unsigned long> >, graph_tool::simple_degs_t, std::integral_constant<bool, true>, std::integral_constant<bool, true>, boost::any, boost::any, boost::any, boost::unchecked_vector_property_map<int, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, bool, int, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::typed_identity_property_map<unsigned long> >, double, double, double, double, double, double, boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> >, bool>, entropy_args) did not match C++ signature: couple_state(graph_tool::BlockState<boost::UndirectedAdaptor<boost::filtered_graph<boost::adj_list<unsigned long>, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > >, graph_tool::simple_degs_t, std::integral_constant<bool, true>, std::integral_constant<bool, true>, boost::any, boost::any, boost::any, boost::unchecked_vector_property_map<int, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, bool, int, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::typed_identity_property_map<unsigned long> >, double, double, double, double, double, double, boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> >, bool> {lvalue}, graph_tool::BlockState<boost::UndirectedAdaptor<boost::filtered_graph<boost::adj_list<unsigned long>, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > >, graph_tool::simple_degs_t, std::integral_constant<bool, true>, std::integral_constant<bool, true>, boost::any, boost::any, boost::any, boost::unchecked_vector_property_map<int, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, std::vector<unsigned long, std::allocator<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, boost::unchecked_vector_property_map<int, boost::typed_identity_property_map<unsigned long> >, bool, int, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> >, boost::unchecked_vector_property_map<double, boost::typed_identity_property_map<unsigned long> >, double, double, double, double, double, double, boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> >, bool> {lvalue}, graph_tool::entropy_args_t) --- It is the same error as user P-M encountered here <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/self-state-couple-state-state-state-entropy-args-Python-argument-types-did-not-match-C-signature-td4026975.html#a4026979> , but with the exact code from the example. Please find the sample graph attached that produced this message: m2uterm.gt <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/file/n4027207/m2uterm.gt> . System information: Graph-tool: '2.18 (commit 37996a0a, Thu Jul 21 17:56:14 2016 +0200)' Python: '2.7.10 (default, Oct 14 2015, 16:09:02) \n[GCC 5.2.1 20151010]' Ubuntu 15.10, 64-bit, AMD A6-5200 APU Boost: ??? I installed graph-tool using apt-get. Thanks for your time! Best regards, Marnix ps.: I tried to update graph-tool with apt-get update but I got "Failed to fetch http://downloads.skewed.de/apt/wily/dists/wily/universe/source/Sources 404 Not Found" errors... -- View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Model-class-selection-cookbook-example-with-nested-SBM-fails-on-custom-graph-tp4027207.html Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com. _______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool