【问题标题】:graph-tool - 'NestedBlockState' object has no attribute 'get_nonempty_B'图形工具 - 'NestedBlockState' 对象没有属性 'get_nonempty_B'
【发布时间】:2017-01-27 14:54:12
【问题描述】:

我正在尝试复制图形工具说明书中的一段代码,以在使用分层分区时找到图形中组数的边际概率。然而,我收到一个错误消息,告诉我'NestedBlockState' object has no attribute 'get_nonempty_B' 所以大概我在某个地方犯了一个错误。有人知道我哪里出错了吗?

import graph_tool.all as gt
import cPickle as pickle

g = gt.load_graph('graph_no_multi_reac_type.gt')
gt.remove_parallel_edges(g)

state = gt.minimize_nested_blockmodel_dl(g, deg_corr=True)

state = state.copy(sampling=True)
with open('state_mcmc.pkl','wb') as state_pkl:
    pickle.dump(state,state_pkl,-1)

print 'equilibrating Markov chain'
gt.mcmc_equilibrate(state, wait=1000, mcmc_args=dict(niter=10))

h = np.zeros(g.num_vertices() + 1)

def collect_num_groups(s):
    B = s.get_nonempty_B()
    h[B] += 1

print 'colleting marginals'
gt.mcmc_equilibrate(state, force_niter=10000, mcmc_args=dict(niter=10),
                callback=collect_num_groups)
with open('state_ncnc.pkl','wb') as state_pkl:
    pickle.dump(state,state_pkl,-1)

with open('hist.pkl','wb') as h_pkl:
    pickle.dump(h,h_pkl,-1)

我得到的错误如下:

Traceback (most recent call last):
  File "num_groups_marg_prob.py", line 42, in <module>
        gt.mcmc_equilibrate(state, force_niter=10000, mcmc_args=dict(niter=10),
  File "/usr/lib/python2.7/dist-packages/graph_tool/inference/mcmc.py", line 172, in mcmc_equilibrate
        extra = callback(state)
  File "num_groups_marg_prob.py", line 35, in collect_num_groups
        def collect_num_groups(s):
AttributeError: 'NestedBlockState' object has no attribute 'get_nonempty_B' 

【问题讨论】:

    标签: python python-2.7 graph-tool


    【解决方案1】:

    引用来自图表工具邮件列表的答案:

    "报错信息明确。该属性属于BlockState,不属于 嵌套块状态。你想做的是:

    s.levels[0].get_nonempty_B()
    

    "

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 2014-04-03
      • 2014-01-27
      • 2021-09-05
      • 2016-05-09
      相关资源
      最近更新 更多