-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 コンストラクターは、関数 ch を collect_vertex_marginals および mcmc_sweep() として持つ BlockState obj を返す必要があります。ただし、次のエラーが表示されます。

AttributeError: 'BlockState' object has no attribute 'mcmc_sweep'

私は単に何かを見落としていますか?バージョンの問題 (古い API など) は見当たらないので、少し戸惑っています。ありがとう!

4

1 に答える 1

0

古いバージョンのグラフ ツールを使用している可能性があります。上記の API は、バージョン 2.14 以降を指します。

于 2016-04-11T15:22:36.617 に答える