-1

我正在使用 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),所以我有点迷惑。谢谢!

4

1 回答 1

0

您很可能拥有过时的图形工具版本。以上 API 指的是 2.14 或以上版本。

于 2016-04-11T15:22:36.617 回答