модуль 'networkx' не имеет атрибута 'stochastic_block_model' - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь сгенерировать граф стохастической блочной модели, используя функцию в networkx "stochastic_block_model", описанную на этой странице: https://networkx.github.io/documentation/stable/reference/generated/networkx.generators.community.stochastic_block_model.html

Мой пакет networkx обновлен до версии 2.2, но я получаю сообщение об ошибке: модуль 'networkx' не имеет атрибута 'stochastic_block_model'. Как я могу решить эту проблему?

import networkx as nx


sizes = [75, 75, 300]
probs = [[0.25, 0.05, 0.02],
        [0.05, 0.35, 0.07],
        [0.02, 0.07, 0.40]]
g = nx.stochastic_block_model(sizes, probs, seed=0)
len(g)

H = nx.quotient_graph(g, g.graph['partition'], relabel=True)
for v in H.nodes(data=True):
    print(round(v[1]['density'], 3))




for v in H.edges(data=True):
    print(round(1.0 * v[2]['weight'] / (sizes[v[0]] * sizes[v[1]]), 3))

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Суть в том, что я должен был убить работающий экземпляр и перезапустить свой ноутбук или любую оболочку python после обновления пакета, чтобы получить новые обновления.

0 голосов
/ 29 октября 2018

Я использую версию 2.2 от networkx, которая является самой последней на pypi. Это должно работать:

from networkx.generators.community import stochastic_block_model

Внутри пакета __init__.py для генераторов networkx.generators вы найдете это:

"""
A package for generating various graphs in networkx.

"""
from networkx.generators.atlas import *
from networkx.generators.classic import *
from networkx.generators.community import *
from networkx.generators.degree_seq import *
from networkx.generators.directed import *
from networkx.generators.duplication import *
from networkx.generators.ego import *
from networkx.generators.expanders import *
from networkx.generators.geometric import *
from networkx.generators.intersection import *
from networkx.generators.joint_degree_seq import *
from networkx.generators.lattice import *
from networkx.generators.line import *
from networkx.generators.mycielski import *
from networkx.generators.nonisomorphic_trees import *
from networkx.generators.random_clustered import *
from networkx.generators.random_graphs import *
from networkx.generators.small import *
from networkx.generators.social import *
from networkx.generators.spectral_graph_forge import *
from networkx.generators.stochastic import *
from networkx.generators.trees import *
from networkx.generators.triads import *

Из-за этого вы сможете импортировать его так:

from networkx.generators import stochastic_block_model

...