質問編集履歴

2

編集

2018/06/27 09:53

投稿

Hayato1201
Hayato1201

スコア232

test CHANGED
File without changes
test CHANGED
@@ -58,6 +58,10 @@
58
58
 
59
59
 
60
60
 
61
+ routing_nodes = np.full([self.ACTIVE_NODES]*2, -1.0, dtype=int)
62
+
63
+
64
+
61
65
  all_shortest = list(nx.all_pairs_dijkstra_path(self.graph))
62
66
 
63
67
 

1

追記

2018/06/27 09:53

投稿

Hayato1201
Hayato1201

スコア232

test CHANGED
File without changes
test CHANGED
@@ -37,3 +37,53 @@
37
37
 
38
38
 
39
39
  ある論文に載っていたプログラムです。その為動くとは思うのですがエラーが出ているという事は何かしら環境に問題があると思います。他の部分でnetworkxのバージョンの違いによるエラーがあったので、これもnx.all_pairs_dijkstra_path(self.graph)の戻り値であるall_shortestに何か問題があるのでは無いかと思います。しかしそもそもこのエラーはどういう事なのでしょうか?
40
+
41
+
42
+
43
+
44
+
45
+ 追記ーーーーーーーーーーーーーーーーーー
46
+
47
+
48
+
49
+ 以下の様にしました。
50
+
51
+ すると今度は別の場所でValueError: setting an array element with a sequence.となります、、、
52
+
53
+
54
+
55
+ ```Python
56
+
57
+ import networkx as nx
58
+
59
+
60
+
61
+ all_shortest = list(nx.all_pairs_dijkstra_path(self.graph))
62
+
63
+
64
+
65
+ for s in range(self.ACTIVE_NODES):
66
+
67
+ for d in range(self.ACTIVE_NODES):
68
+
69
+ if s != d:
70
+
71
+ next = all_shortest[s][d][1]
72
+
73
+ port = self.ports[s][next]
74
+
75
+ routing_nodes[s][d] = next #ここでValueError: setting an array element with a sequence.
76
+
77
+ routing_ports[s][d] = port
78
+
79
+ else:
80
+
81
+ routing_nodes[s][d] = -1
82
+
83
+ routing_ports[s][d] = -1
84
+
85
+
86
+
87
+ ```
88
+
89
+ 今度はどういう事でしょうか?