本文整理汇总了Python中networkx.relabel_nodes方法的典型用法代码示例。如果您正苦于以下问题:Python networkx.relabel_nodes方法的具体用法?Python networkx.relabel_nodes怎么用?Python networkx.relabel_nodes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类networkx
的用法示例。
在下文中一共展示了networkx.relabel_nodes方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __subgraph__
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def __subgraph__(self, node_idx, x, edge_index, **kwargs):
num_nodes, num_edges = x.size(0), edge_index.size(1)
subset, edge_index, mapping, edge_mask = k_hop_subgraph(
node_idx, self.__num_hops__(), edge_index, relabel_nodes=True,
num_nodes=num_nodes, flow=self.__flow__())
x = x[subset]
for key, item in kwargs:
if torch.is_tensor(item) and item.size(0) == num_nodes:
item = item[subset]
elif torch.is_tensor(item) and item.size(0) == num_edges:
item = item[edge_mask]
kwargs[key] = item
return x, edge_index, mapping, edge_mask, kwargs
示例2: ba
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def ba(start, width, role_start=0, m=5):
"""Builds a BA preferential attachment graph, with index of nodes starting at start
and role_ids at role_start
INPUT:
-------------
start : starting index for the shape
width : int size of the graph
role_start : starting index for the roles
OUTPUT:
-------------
graph : a house shape graph, with ids beginning at start
roles : list of the roles of the nodes (indexed starting at
role_start)
"""
graph = nx.barabasi_albert_graph(width, m)
graph.add_nodes_from(range(start, start + width))
nids = sorted(graph)
mapping = {nid: start + i for i, nid in enumerate(nids)}
graph = nx.relabel_nodes(graph, mapping)
roles = [role_start for i in range(width)]
return graph, roles
示例3: test_initialization_reproducible_between_runs
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def test_initialization_reproducible_between_runs():
seed = 45
logical_graph = nx.erdos_renyi_graph(6, 0.5, seed=seed)
logical_graph = nx.relabel_nodes(logical_graph, cirq.LineQubit)
device_graph = ccr.get_grid_device_graph(2, 3)
initial_mapping = ccr.initialization.get_initial_mapping(
logical_graph, device_graph, seed)
expected_mapping = {
cirq.GridQubit(0, 0): cirq.LineQubit(5),
cirq.GridQubit(0, 1): cirq.LineQubit(0),
cirq.GridQubit(0, 2): cirq.LineQubit(2),
cirq.GridQubit(1, 0): cirq.LineQubit(3),
cirq.GridQubit(1, 1): cirq.LineQubit(4),
cirq.GridQubit(1, 2): cirq.LineQubit(1),
}
assert initial_mapping == expected_mapping
示例4: gate_model
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def gate_model(gate_type, fault=True):
labels, configurations = GATES[gate_type]
if fault:
configurations = fault_gate(configurations, FAULT_GAP)
num_variables = len(next(iter(configurations)))
for size in range(num_variables, num_variables+4): # reasonable margin
G = nx.complete_graph(size)
nx.relabel_nodes(G, dict(enumerate(labels)), copy=False)
spec = pm.Specification(G, labels, configurations, dimod.SPIN)
try:
pmodel = pm.get_penalty_model(spec)
if pmodel is not None:
return pmodel
except pm.ImpossiblePenaltyModel:
pass
raise ValueError("unable to get the penalty model from factories")
示例5: visualize_dag
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def visualize_dag(dg=None, plot_nx=False, plot_graphviz=True, write_dot=True,
prog='dot'):
"""For interactive use"""
import webbrowser
if not dg:
dg = build_dag()
dg = nx.relabel_nodes(
dg,
{x: "%s\n%s" % (x, node.get_job_id_template(x)[0]) for x in dg.node})
if plot_nx:
nx.draw_graphviz(dg, prog=prog)
if write_dot or plot_graphviz:
tmpf = tempfile.mkstemp(suffix='.dot', prefix='stolos_dag_')[1]
nx.write_dot(dg, tmpf)
os.popen('{1} {0} -Tpng > {0}.png'.format(tmpf, prog))
print("saved to %s.png" % tmpf)
if plot_graphviz:
webbrowser.open(tmpf + '.png')
示例6: test_relabel_typical
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def test_relabel_typical(self):
graph = nx.circular_ladder_graph(12)
decision_variables = (0, 2, 5)
feasible_configurations = {(1, 1, 1): 0.}
spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
mapping = dict(enumerate('abcdefghijklmnopqrstuvwxyz'))
new_spec = spec.relabel_variables(mapping, inplace=False)
# create a test spec
graph = nx.relabel_nodes(graph, mapping)
decision_variables = (mapping[v] for v in decision_variables)
test_spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
self.assertEqual(new_spec, test_spec)
self.assertEqual(new_spec.ising_linear_ranges, test_spec.ising_linear_ranges)
self.assertEqual(new_spec.ising_quadratic_ranges, test_spec.ising_quadratic_ranges)
示例7: test_relabel_copy
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def test_relabel_copy(self):
graph = nx.circular_ladder_graph(12)
decision_variables = (0, 2, 5)
feasible_configurations = {(1, 1, 1): 0.}
spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
mapping = dict(enumerate('abcdefghijklmnopqrstuvwxyz'))
new_spec = spec.relabel_variables(mapping, inplace=False)
# create a test spec
graph = nx.relabel_nodes(graph, mapping)
decision_variables = (mapping[v] for v in decision_variables)
test_spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
self.assertEqual(new_spec, test_spec)
self.assertEqual(new_spec.ising_linear_ranges, test_spec.ising_linear_ranges)
self.assertEqual(new_spec.ising_quadratic_ranges, test_spec.ising_quadratic_ranges)
示例8: test_relabel_inplace
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def test_relabel_inplace(self):
graph = nx.circular_ladder_graph(12)
decision_variables = (0, 2, 5)
feasible_configurations = {(1, 1, 1): 0.}
spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
mapping = {i: v for i, v in enumerate('abcdefghijklmnopqrstuvwxyz') if i in graph}
new_spec = spec.relabel_variables(mapping, inplace=True)
self.assertIs(new_spec, spec) # should be the same object
self.assertIs(new_spec.graph, spec.graph)
# create a test spec
graph = nx.relabel_nodes(graph, mapping)
decision_variables = (mapping[v] for v in decision_variables)
test_spec = pm.Specification(graph, decision_variables, feasible_configurations, vartype=dimod.SPIN)
self.assertEqual(new_spec, test_spec)
self.assertEqual(new_spec.ising_linear_ranges, test_spec.ising_linear_ranges)
self.assertEqual(new_spec.ising_quadratic_ranges, test_spec.ising_quadratic_ranges)
示例9: test_and_on_k44
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def test_and_on_k44(self):
graph = nx.Graph()
for i in range(3):
for j in range(3, 6):
graph.add_edge(i, j)
decision_variables = (0, 2, 3)
feasible_configurations = AND(2)
mapping = {0: '0', 1: '1', 2: '2', 3: '3'}
graph = nx.relabel_nodes(graph, mapping)
decision_variables = tuple(mapping[x] for x in decision_variables)
spin_configurations = tuple([tuple([2 * i - 1 for i in b]) for b in feasible_configurations])
spec = pm.Specification(graph, decision_variables, spin_configurations, vartype=dimod.SPIN)
pm0 = mip.get_penalty_model(spec)
self.check_generated_ising_model(pm0.feasible_configurations, pm0.decision_variables,
pm0.model.linear, pm0.model.quadratic, pm0.ground_energy - pm0.model.offset,
pm0.classical_gap)
示例10: orient_undirected_graph
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def orient_undirected_graph(self, data, graph, **kwargs):
"""Run PC on an undirected graph.
Args:
data (pandas.DataFrame): DataFrame containing the data
graph (networkx.Graph): Skeleton of the graph to orient
Returns:
networkx.DiGraph: Solution given by PC on the given skeleton.
"""
# Building setup w/ arguments.
self.arguments['{CITEST}'] = self.dir_CI_test[self.CI_test]
self.arguments['{METHOD_INDEP}'] = self.dir_method_indep[self.CI_test]
self.arguments['{DIRECTED}'] = 'TRUE'
self.arguments['{ALPHA}'] = str(self.alpha)
self.arguments['{NJOBS}'] = str(self.njobs)
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
fe = DataFrame(nx.adj_matrix(graph, weight=None).todense())
fg = DataFrame(1 - fe.values)
results = self._run_pc(data, fixedEdges=fe, fixedGaps=fg, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})
示例11: create_graph_from_data
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def create_graph_from_data(self, data, **kwargs):
"""Run the PC algorithm.
Args:
data (pandas.DataFrame): DataFrame containing the data
Returns:
networkx.DiGraph: Solution given by PC on the given data.
"""
# Building setup w/ arguments.
self.arguments['{CITEST}'] = self.dir_CI_test[self.CI_test]
self.arguments['{METHOD_INDEP}'] = self.dir_method_indep[self.CI_test]
self.arguments['{DIRECTED}'] = 'TRUE'
self.arguments['{ALPHA}'] = str(self.alpha)
self.arguments['{NJOBS}'] = str(self.njobs)
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
results = self._run_pc(data, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})
示例12: create_graph_from_data
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def create_graph_from_data(self, data):
"""Run the LiNGAM algorithm.
Args:
data (pandas.DataFrame): DataFrame containing the data
Returns:
networkx.DiGraph: Prediction given by the LiNGAM algorithm.
"""
# Building setup w/ arguments.
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
results = self._run_LiNGAM(data, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})
示例13: create_graph_from_data
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def create_graph_from_data(self, data):
"""Run the GES algorithm.
Args:
data (pandas.DataFrame): DataFrame containing the data
Returns:
networkx.DiGraph: Solution given by the GES algorithm.
"""
# Building setup w/ arguments.
self.arguments['{SCORE}'] = self.scores[self.score]
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
results = self._run_ges(data, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})
示例14: create_graph_from_data
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def create_graph_from_data(self, data, **kwargs):
"""Apply causal discovery on observational data using CAM.
Args:
data (pandas.DataFrame): DataFrame containing the data
Returns:
networkx.DiGraph: Solution given by the CAM algorithm.
"""
# Building setup w/ arguments.
self.arguments['{SCORE}'] = self.scores[self.score]
self.arguments['{CUTOFF}'] = str(self.cutoff)
self.arguments['{VARSEL}'] = str(self.variablesel).upper()
self.arguments['{SELMETHOD}'] = self.var_selection[self.selmethod]
self.arguments['{PRUNING}'] = str(self.pruning).upper()
self.arguments['{PRUNMETHOD}'] = self.var_selection[self.prunmethod]
self.arguments['{NJOBS}'] = str(self.njobs)
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
results = self._run_cam(data, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})
示例15: orient_undirected_graph
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import relabel_nodes [as 别名]
def orient_undirected_graph(self, data, graph):
"""Run GIES on an undirected graph.
Args:
data (pandas.DataFrame): DataFrame containing the data
graph (networkx.Graph): Skeleton of the graph to orient
Returns:
networkx.DiGraph: Solution given by the GIES algorithm.
"""
# Building setup w/ arguments.
self.arguments['{VERBOSE}'] = str(self.verbose).upper()
self.arguments['{SCORE}'] = self.scores[self.score]
fe = DataFrame(nx.adj_matrix(graph, weight=None).todense())
fg = DataFrame(1 - fe.values)
results = self._run_gies(data, fixedGaps=fg, verbose=self.verbose)
return nx.relabel_nodes(nx.DiGraph(results),
{idx: i for idx, i in enumerate(data.columns)})