我正在使用 Python 图形工具库对图形进行一些推断,并且我引用了以下链接,该链接显示了 API 和一些示例。 https://graph-tool.skewed.de/static/doc/inference.html#graph_tool.inference.BlockState
我的代码如下编写,其中 g 是在上一步中定义的有向边加权图。
g.save(graph_file_name)
g = graph_tool.load_graph(file_name)
state = BlockState(g, B=276, deg_corr = True)
pv = None
state.mcmc_sweep(niter=1000)
for i in range(1000):
ds, nmoves = state.mcmc_sweep(niter=10)
pv = state.collect_vertex_marginals(pv)
pv = state.collect_vertex_marginals(pv)
print mf_entropy(g, pv)
graph_draw(g)
根据 API,BlockState 构造函数应该返回一个 BlockState obj,其函数 ch 为 collect_vertex_marginals 和 mcmc_sweep()。但是,我收到以下错误:
AttributeError: 'BlockState' object has no attribute 'mcmc_sweep'
我只是忽略了什么吗?我没有看到任何类型的版本问题(例如过时的 API),所以我有点迷惑。谢谢!