Tensorflow: illegal instruction (core dumped) 的解决方法记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow: illegal instruction (core dumped) 的解决方法记录相关的知识,希望对你有一定的参考价值。

参考技术A 第二次碰到这个问题了,之前解决之后忘记记录了。凭借零星的记忆加上强大的Google终于“又”搞定了。避免下次又忘了,果断记下来。

在 import tensorflow 时抛出如下错误:

关于问题的讨论在Github上有开issue #17441 。 stackoverflow 也有相关问题回答。

总结相关回答: 新版本(version >= 1.6.0)的Tensorflow binary release是在 avx 指令环境下编译的。如果你的CPU不支持该类型指令,就不能使用新版本。

这样核心问题就是 avx 了。如果硬件不支持,解决办法很显然有以下几种:

而我的问题稍不同,我是KVM虚拟机不支持 avx ,但是宿主机是支持的,那么事情就有转机了😀,无非是想办法改虚拟机配置啦。

可以看到宿主机的CPU架构为 SandyBridge ,并且该架构的 <feature> 是支持 <feature name='avx2'/>

在 <domain> 内增加 <cpu> 配置如下:

其中, <model> 填写步骤1中查到的CPU架构名称,如这里是 SandyBridge 。

进入虚拟机,查看虚拟机CPU支持的指令。

出现如下结果,说明CPU已经支持 avx 指令。

2021-6-5 日补充:
升级2.4.0之后,又双叒core dumped了,检查CPU的 avx 指令集是支持的。再次扒拉了一下issues #45744 ,2.4.0需要 avx2 指令集的支持,TF真是好棒棒嗷,这次环境的CPU不支持了,剩我留下了贫穷的泪水。

降级!降级!降级! tensorflow 2.3.1 是OK的。

2021-7-13 补充
2.4.0的问题,可以升级2.4.1,因为官方发布是这么说的
Release 2.4.1 This release removes the AVX2 requirement from TF 2.4.0.
版本差别不大,赶紧升他鸭🦆。

Illegal key size

https://www.cnblogs.com/lilinzhiyu/p/8024100.html

技术图片

 

技术图片

 

以上是关于Tensorflow: illegal instruction (core dumped) 的解决方法记录的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 在训练 yolo 时报告了 CUDA_ERROR_ILLEGAL_ADDRESS 错误

C语言local function definitions are illegal

获取 Java 中 `-illegal-access` 设置的当前值

Illegal characters in path

oracle 优化 instr 替换 =

如何将 Java 9 '--permit-illegal-access' 标志传递给 Webstart 应用程序?