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