Pycharm gives this error: "process finished with exit code -1073741819 (0xc0000005)"
Pycharm gives this error: "process finished with exit code -1073741819 (0xc0000005)"
我正在尝试使用 Pycharm 中的库 tvb-gdist 来计算多个网格中的测地线距离。只需安装它:
pip install tvb-gdist
然而,由于某些原因,它只适用于其中的一部分。我使用很多网格,但我将只向您展示一个示例,其中有 2 个用于简化(这里是 link 到包含文件的文件夹:https://drive.google.com/drive/folders/1dFKc8wdQuFaUNa3EIKdS7eTj6WVwwZFn?usp=sharing)。函数“gdist.local_gdist_matrix”将网格的顶点和面作为输入,当对由“vertices2”和“faces2”形成的网格执行它时,它工作得很好。但是,当使用由“顶点”和“面”形成的网格时,会出现错误并且 python 控制台会关闭。整个代码相当大,但这是我开发的用于读取文件并轻松重现错误的代码:
import csv
import gdist
file = open('faces.csv')
csvreader = csv.reader(file)
faces = []
for row in csvreader:
faces.append(row)
file.close()
file = open('vertices.csv')
csvreader = csv.reader(file)
vertices = []
for row in csvreader:
vertices.append(row)
file.close()
file = open('faces2.csv')
csvreader = csv.reader(file)
faces2 = []
for row in csvreader:
faces2.append(row)
file.close()
file = open('vertices2.csv')
csvreader = csv.reader(file)
vertices2 = []
for row in csvreader:
vertices2.append(row)
file.close()
vertices2 = np.array(vertices2).astype('float64')
faces2 = np.array(faces2).astype('int32')
aux_distances2 = gdist.local_gdist_matrix(vertices2, faces2, max_distance=12)
vertices = np.array(vertices).astype('float64')
faces = np.array(faces).astype('int32')
aux_distances = gdist.local_gdist_matrix(vertices, faces, max_distance=12)
如果您先 运行 直到“aux_distances2”,您会发现不会出现任何问题,并且会返回所需的矩阵。但是,当 运行ing "aux_distances" 时,出现错误“进程已完成,退出代码为 -1073741819 (0xc0000005)”,并且控制台崩溃。我相信,因为它适用于某些文件,问题不可能出在 python 版本或与文件路径相关的东西(它们在同一目录下),但任何事情都是可能的。我认为这可能与面 and/or 顶点的数量有关,但我使用库“quad_mesh_simplify”进行了网格抽取,并且在重新网格化完成后出现了同样的错误。我还尝试在 Google Colab 的笔记本中 运行 它来检查 Pycharm 是否是问题,但结果是一样的:对于第二个网格它工作得很好但是对于第一个网格它崩溃了。错误显示:“KernelRestarter:重新启动内核(1/5),保留随机端口”,然后是“警告:root:内核 0c24cfc6-3530-4211-a4d2-b147c3444581 重新启动”。我已经尝试了我找到的所有解决方案,并且 none 的解决方案有效,所以如果有人可以帮助我,我将不胜感激。
我想你指的是这里的 tvb-gdist
:https://github.com/the-virtual-brain/tvb-gdist
我自己测试过,可以重现问题
我认为你是对的,这不是安装,也不是 IDE 的罪魁祸首。
我怀疑表面有问题。使用 tvb 软件进行的小检查显示以下警告。
你能改变表面并消除它的问题(挤压面和可能的小孔)吗?我怀疑这些照片在 tvb-gdist.
中产生了一个无限循环
2022-04-26 05:34:01,630 - WARNING [proc:21055] - tvb.datatypes.surfaces - Surface is pinched off.
2022-04-26 05:34:01,630 - DEBUG [proc:21055] - tvb.datatypes.surfaces - These are edges with more than 2 triangles:
[ 11022 11023 11033 11035 11036 11273 11280 11488 11489 11494
11495 11508 11509 11516 11517 11753 11759 11770 11775 11782
11976 11994 12238 12240 12247 12253 12279 12283 12485 12486
12490 12491 12495 12498 12519 12746 12747 12752 12753 12778
12781 12991 13033 13037 13045 13249 13250 13256 13258 13266
13317 13549 13572 13577 13761 13803 14031 14034 14037 14084
14319 14541 14589 14780 14784 15036 15286 15287 15293 15553
15559 15801 15804 15814 15815 15822 15826 16121 16335 16336
16632 16633 16636 16857 16866 17167 17169 17423 17717 17720
17993 18292 18561 18853 18854 19155 19159 19170 19763 19765
20093 20364 20685 20689 20984 21317 21602 21604 21978 22283
22288 22637 22961 23330 23709 23711 23721 24110 24436 24444
24865 25228 25234 25235 25674 25677 26061 26534 26921 26926
27380 27764 27769 28620 29051 29440 29899 29907 30678 30683
31028 31034 31495 31818 32303 32310 33042 33416 33418 33430
34170 34567 34571 34932 35327 35679 36083 36453 36457 36857
37213 38011 38443 38812 38815 38824 39347 39350 39632 39639
40060 40131 40138 40140 40406 40492 40841 40843 40851 40923
40928 41598 41603 41675 41682 41955 42025 42323 42329 42397
42676 43056 43119 43126 43425 43432 43488 43872 44168 44171
44237 44570 44621 44940 44996 45002 45335 45689 45735 45741
46092 46099 46516 46522 46884 46887 46902 46904 46908 46910
47275 47289 47295 47296 47325 47726 47735 47736 47740 47744
47745 47758 47790 47796 48110 48118 48126 48132 48139 48152
48153 48158 48160 48167 48170 48179 48181 48185 48579 48583
48605 48610 48611 48612 48616 48622 48628 48632 48653 49030
49038 49050 49051 49080 49086 49089 49100 49101 49106 49108
49568 49588 49593 49610 49620 49627 49631 50042 50047 50060
50061 50076 50598 50602 50603 50607 50613 118407 118416 118571
118574 118578 118926 118932 119068 119276 119387 119496 119499 119503
119606 119695 119811 119987 120165 120336 120482 120488 120797 120928
121081 121174 121185 121325 121391 121588 121607 121716 121780 121859
122210 122224 122337 122516 122518 122636 122750 122826 122832 123024
123103 123136 123223 123378 123385 123435 123436 123449 123474 123589
123760 123766 123799 123833 123933 123953 123963 123966 123967 123975
123976 124142 124143 124152 124161 124168 124284 124297 124482 124484
124485 124493 124501 124642]
2022-04-26 05:34:01,631 - WARNING [proc:21055] - tvb.datatypes.surfaces - Has holes.
2022-04-26 05:34:01,631 - DEBUG [proc:21055] - tvb.datatypes.surfaces - Free boundaries:
[108104 108106 108391 108430 117047 117051 117057 117068]
我正在尝试使用 Pycharm 中的库 tvb-gdist 来计算多个网格中的测地线距离。只需安装它:
pip install tvb-gdist
然而,由于某些原因,它只适用于其中的一部分。我使用很多网格,但我将只向您展示一个示例,其中有 2 个用于简化(这里是 link 到包含文件的文件夹:https://drive.google.com/drive/folders/1dFKc8wdQuFaUNa3EIKdS7eTj6WVwwZFn?usp=sharing)。函数“gdist.local_gdist_matrix”将网格的顶点和面作为输入,当对由“vertices2”和“faces2”形成的网格执行它时,它工作得很好。但是,当使用由“顶点”和“面”形成的网格时,会出现错误并且 python 控制台会关闭。整个代码相当大,但这是我开发的用于读取文件并轻松重现错误的代码:
import csv
import gdist
file = open('faces.csv')
csvreader = csv.reader(file)
faces = []
for row in csvreader:
faces.append(row)
file.close()
file = open('vertices.csv')
csvreader = csv.reader(file)
vertices = []
for row in csvreader:
vertices.append(row)
file.close()
file = open('faces2.csv')
csvreader = csv.reader(file)
faces2 = []
for row in csvreader:
faces2.append(row)
file.close()
file = open('vertices2.csv')
csvreader = csv.reader(file)
vertices2 = []
for row in csvreader:
vertices2.append(row)
file.close()
vertices2 = np.array(vertices2).astype('float64')
faces2 = np.array(faces2).astype('int32')
aux_distances2 = gdist.local_gdist_matrix(vertices2, faces2, max_distance=12)
vertices = np.array(vertices).astype('float64')
faces = np.array(faces).astype('int32')
aux_distances = gdist.local_gdist_matrix(vertices, faces, max_distance=12)
如果您先 运行 直到“aux_distances2”,您会发现不会出现任何问题,并且会返回所需的矩阵。但是,当 运行ing "aux_distances" 时,出现错误“进程已完成,退出代码为 -1073741819 (0xc0000005)”,并且控制台崩溃。我相信,因为它适用于某些文件,问题不可能出在 python 版本或与文件路径相关的东西(它们在同一目录下),但任何事情都是可能的。我认为这可能与面 and/or 顶点的数量有关,但我使用库“quad_mesh_simplify”进行了网格抽取,并且在重新网格化完成后出现了同样的错误。我还尝试在 Google Colab 的笔记本中 运行 它来检查 Pycharm 是否是问题,但结果是一样的:对于第二个网格它工作得很好但是对于第一个网格它崩溃了。错误显示:“KernelRestarter:重新启动内核(1/5),保留随机端口”,然后是“警告:root:内核 0c24cfc6-3530-4211-a4d2-b147c3444581 重新启动”。我已经尝试了我找到的所有解决方案,并且 none 的解决方案有效,所以如果有人可以帮助我,我将不胜感激。
我想你指的是这里的 tvb-gdist
:https://github.com/the-virtual-brain/tvb-gdist
我自己测试过,可以重现问题
我认为你是对的,这不是安装,也不是 IDE 的罪魁祸首。 我怀疑表面有问题。使用 tvb 软件进行的小检查显示以下警告。
你能改变表面并消除它的问题(挤压面和可能的小孔)吗?我怀疑这些照片在 tvb-gdist.
中产生了一个无限循环2022-04-26 05:34:01,630 - WARNING [proc:21055] - tvb.datatypes.surfaces - Surface is pinched off.
2022-04-26 05:34:01,630 - DEBUG [proc:21055] - tvb.datatypes.surfaces - These are edges with more than 2 triangles:
[ 11022 11023 11033 11035 11036 11273 11280 11488 11489 11494
11495 11508 11509 11516 11517 11753 11759 11770 11775 11782
11976 11994 12238 12240 12247 12253 12279 12283 12485 12486
12490 12491 12495 12498 12519 12746 12747 12752 12753 12778
12781 12991 13033 13037 13045 13249 13250 13256 13258 13266
13317 13549 13572 13577 13761 13803 14031 14034 14037 14084
14319 14541 14589 14780 14784 15036 15286 15287 15293 15553
15559 15801 15804 15814 15815 15822 15826 16121 16335 16336
16632 16633 16636 16857 16866 17167 17169 17423 17717 17720
17993 18292 18561 18853 18854 19155 19159 19170 19763 19765
20093 20364 20685 20689 20984 21317 21602 21604 21978 22283
22288 22637 22961 23330 23709 23711 23721 24110 24436 24444
24865 25228 25234 25235 25674 25677 26061 26534 26921 26926
27380 27764 27769 28620 29051 29440 29899 29907 30678 30683
31028 31034 31495 31818 32303 32310 33042 33416 33418 33430
34170 34567 34571 34932 35327 35679 36083 36453 36457 36857
37213 38011 38443 38812 38815 38824 39347 39350 39632 39639
40060 40131 40138 40140 40406 40492 40841 40843 40851 40923
40928 41598 41603 41675 41682 41955 42025 42323 42329 42397
42676 43056 43119 43126 43425 43432 43488 43872 44168 44171
44237 44570 44621 44940 44996 45002 45335 45689 45735 45741
46092 46099 46516 46522 46884 46887 46902 46904 46908 46910
47275 47289 47295 47296 47325 47726 47735 47736 47740 47744
47745 47758 47790 47796 48110 48118 48126 48132 48139 48152
48153 48158 48160 48167 48170 48179 48181 48185 48579 48583
48605 48610 48611 48612 48616 48622 48628 48632 48653 49030
49038 49050 49051 49080 49086 49089 49100 49101 49106 49108
49568 49588 49593 49610 49620 49627 49631 50042 50047 50060
50061 50076 50598 50602 50603 50607 50613 118407 118416 118571
118574 118578 118926 118932 119068 119276 119387 119496 119499 119503
119606 119695 119811 119987 120165 120336 120482 120488 120797 120928
121081 121174 121185 121325 121391 121588 121607 121716 121780 121859
122210 122224 122337 122516 122518 122636 122750 122826 122832 123024
123103 123136 123223 123378 123385 123435 123436 123449 123474 123589
123760 123766 123799 123833 123933 123953 123963 123966 123967 123975
123976 124142 124143 124152 124161 124168 124284 124297 124482 124484
124485 124493 124501 124642]
2022-04-26 05:34:01,631 - WARNING [proc:21055] - tvb.datatypes.surfaces - Has holes.
2022-04-26 05:34:01,631 - DEBUG [proc:21055] - tvb.datatypes.surfaces - Free boundaries:
[108104 108106 108391 108430 117047 117051 117057 117068]