在python3--gdb输出上运行cython时出现分段错误
我一直在试图追踪我继承的cython程序中的segfault的来源。我通过执行在python3--gdb输出上运行cython时出现分段错误,gdb,cython,python-3.4,Gdb,Cython,Python 3.4,我一直在试图追踪我继承的cython程序中的segfault的来源。我通过执行gdb python3然后运行my_file.py在python3下实现了gdb,得到了以下结果: Program received signal SIGSEGV, Segmentation fault. __pyx_f_7sklearn_5utils_25graph_shortest_path_leftmost_sibling (__pyx_v_node=<optimised out>) at /home
gdb python3
然后运行my_file.py
在python3下实现了gdb,得到了以下结果:
Program received signal SIGSEGV, Segmentation fault.
__pyx_f_7sklearn_5utils_25graph_shortest_path_leftmost_sibling (__pyx_v_node=<optimised out>)
at /home/my_name/.pyxbld/temp.linux-x86_64-3.4/pyrex/sklearn/utils/graph_shortest_path_strat.c:3195
3195 __pyx_t_1 = (__pyx_v_temp->left_sibling != 0);
基本上,我不是计算图形中每个点之间的距离,而是计算所有点与数组中定义的有限数量点之间的距离。其中,landmark_points是一个整数数组,kng是一个最近邻图
kng = kneighbors_graph(self.nbrs_, self.n_neighbors,mode='distance')
图的最短路径是.pyx代码。我使用的是版本为0.15.1的Veedrac,谢谢你的帮助。实际上,我将错误追溯到我使用random.randint的事实,当时我本应该用random.sample生成唯一的随机整数。感谢@Veedrac landmark\u points=[random.randint(0,kng.shape[0])为范围内的r(self.number\u landmark\u points)]self.dist\u矩阵\uu=图\u最短路径\u strat(kng,landmark_points,method=self.path_method,directed=False)。基本上,我不是计算图中每个点之间的距离,而是计算所有点与数组中定义的有限数量点之间的距离。其中landmark_points是整数数组,kng是最近邻图kng=kneighbors_graph(self.nbrs_,self.n_Neights,mode='distance'))图形最短路径是一个.pyx代码。我使用的版本是0.15.1oops,谢谢你这么做,
graph\u shortest\u path\u strat
的输入有多大?因此,kng是一个4000 x 4000的矩阵,landmark\u points的长度是2000
kng = kneighbors_graph(self.nbrs_, self.n_neighbors,mode='distance')