对不起,如果我的描述是冗长和无聊的,但我想给你最重要的细节,以解决我的问题。最近,我终于买了一个Jetson开发者工具包,它有4Gb的RAM,为了获得我认为是最好的对象检测配置,我遵循了Pyimagesearch公司的禤浩焯Rosebrock编写的指南:
https://www.pyimagesearch.com/2020/03/25/how-to-configure-your-nvidia-jetson-nano-for-computer-vision-and-deep-learning/日期:2020年3月。本指南的摘要如下:
虚拟环境,
我说,好吧,让我们继续这个教程吧:
然后我运行了一个实验,我用Python2创建了这个"p2cv4“env,安装了numpy并测试了它:使用Python2:https://i.stack.imgur.com/zCWif.png
我可以随时退出(),并执行使用python的其他行,因此我得出结论,这是python版本问题。当我想要执行任何python代码时,终端以核心转储结束程序,apt或pip不显示任何错误。我想使用python 3,因为将来某个包或库将需要python 3。
对于python 3,Jetson的最后一个版本是3.6.9,而idk是在2020年3月激活的,就像禤浩焯当时使用的版本一样。
在其他文章中,我读到当像TF的Numpy这样的包或库版本对特定的旧的或低功耗的CPU不再友好时,就会出现这个SIGILL,比如在下面的文章中:Illegal hardware instruction when trying to import tensorflow,https://github.com/numpy/numpy/issues/9532
因此,我想降级为一个更老的python版本,比如3.6.5或3.5,但我在Ubuntu中找不到明确的步骤。我认为这将修复这个错误,让我继续在Jetson上的配置。
pyimageseach指南使用Python3.6,但它没有指定最后一个是3.6.9还是另一个。如果不是python导致了这个错误,请告诉我。救命啊!
发布于 2021-01-09 15:30:43
按照同样的指南我也遇到了同样的问题。顺便说一句,在这个场景中,numpy在python中工作得很好,而不是在虚拟环境中。GDB指出了libopenblas中的一个问题。
我的解决方案是从零开始,从jetson-nano-4gb-jp441-sd-card-image.zip的新映像开始,在不使用virtualenv的情况下重复该指南。更有可能的是,您是Nano的唯一开发人员,并且可以在没有虚拟环境的情况下生活。
我成功地遵循了这些指南:https://qengineering.eu/install-opencv-4.5-on-jetson-nano.html
跳过虚拟主机部分 https://www.pyimagesearch.com/2019/05/06/getting-started-with-the-nvidia-jetson-nano/
我发现这一点也是必需的:"..install官方的Jetson Nano TensorFlow by.“
ln -s /usr/include/locale.h /usr/include/xlocale.h
一旦我建立了这个象征性的链接,我就能够继续使用指南的其余部分(减去virtualenv),并且我设法不破坏numpy。
这并不理想,但我希望这会有所帮助。
发布于 2021-02-05 03:46:11
“非法指令”可能是由于最近发生的AT_HWCAP变化造成的。
尝试从/sys/设备读取cpuid信息,如果getauxval没有成功的话。(OpenBLAS PRs 2952及3004)
在启动python之前导出OPENBLAS_CORETYPE=ARMV8 (或任何实际的硬件)应该可以避免这种情况。例如:
OPENBLAS_CORETYPE=ARMV8 python
如果要使此导出永久化,则应在终端上键入以下命令来打开.bashrc文件:
nano ~/.bashrc
之后,只需将“导出OPENBLAS_CORETYPE=ARMV8”添加到.bashrc文件的底部,保存/退出并重新启动系统:
export OPENBLAS_CORETYPE=ARMV8
欲了解更多详细信息,请参阅:
https://github.com/numpy/numpy/issues/18131 https://www.reddit.com/r/JetsonNano/comments/ktcyoh/illegal_instructioncore_dumped_error_on_jetson/
发布于 2021-05-04 21:43:11
安装正确的numpy版本帮助我解决了这个问题。每当我导入torch、cv2或torchvision时,我都会收到错误的信息,上面写的是非法指令(核心被丢弃)。使用pip install numpy==1.19.4
命令,我希望错误会发生。
https://stackoverflow.com/questions/65631801
复制相似问题