Я пытаюсь проследить источник segfault в программе cython, которую я унаследовал. Я реализовал GDB под Python3, выполнив gdb python3
затем run my_file.py
и получил это:ошибка сегментации при запуске cython на 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);
Благодаря @Veedrac появляется вызов следующим образом:
landmark_points=[random.randint(0,kng.shape[0]) for r in range(self.number_landmark_points)]
self.dist_matrix_=graph_shortest_path_strat(kng,landmark_points,method=self.path_method,directed=False).
В принципе вместо вычисления расстояния между каждым Одна точка в графе Я хочу рассчитать расстояние между всеми точками и ограниченное количество точек, определенных в массиве. где landmark_points представляет собой массив целых чисел KNG представляет собой график ближайших соседей
kng = kneighbors_graph(self.nbrs_, self.n_neighbors,mode='distance')
graph_shortest_path является кодом .pyx. И я использую версию 0.15.1
Благодаря @Veedrac landmark_points = [random.randint (0, kng.shape [0]) для г в диапазоне (self.number_landmark_points)] self.dist_matrix_ = graph_shortest_path_strat (КНГ, landmark_points, метод = self.path_method, направлены = False). В основном вместо того, чтобы накапливать расстояния между каждой точкой на графике, я хочу рассчитать расстояние между всеми точками и ограниченное количество точек, определенных в массиве. , где landmark_points является массив целых чисел KNG представляет собой график ближайших соседей KNG = kneighbors_graph (self.nbrs_, self.n_neighbors, режим = 'расстояние') – kat
graph_shortest_path является кодом .pyx. И я использую версию 0.15.1 – kat
oops, спасибо, сделали это – kat