使用grakel模块中的最短路径核的报错问题

mac2026-08-28  5

问题

    在使用python的grakel模块的最短路径核进行图核相似度时遇到一下报错:

File "/usr/local/lib/python3.6/dist-packages/grakel/graph.py", line 655, in build_shortest_path_matrix dict_fd, _ = dijkstra(self.edge_dictionary, k) File "/usr/local/lib/python3.6/dist-packages/grakel/graph.py", line 1684, in dijkstra queue[w] = vwLength File "/usr/local/lib/python3.6/dist-packages/grakel/tools.py", line 65, in __setitem__ self.__heap = [(v, k) for k, v in self.iteritems()] AttributeError: 'priority_dict' object has no attribute 'iteritems'
原因

    最短路径核使用的dict的iteritems()方法只在python2中使用,在python3.x中方法变成items()。

解决方案

    在python3.x中使用最短路径核需要修改源码,即将tools.py文件中第65行代码的iteritems()修改成items(),文件路径在报错中。

最新回复(0)