tensorflow> 1.6上的“非法指令核心已转储”

问题描述

我正在尝试在各种tensorflow版本上运行import tensorflow。我真正想要使用的是1.13.1

我的CPU是Intel Xeon可扩展GOLD 6126-12核(24线程)2.60GHz。

我已经在Internet *上搜索了此错误,并且大多数情况下,解决方法是将tensorflow降级到较旧的版本(通常我尝试过1.5.1并可以正常工作)。有时只是无法解决**。

但是有可能真正解决问题吗?

这是我对各种版本的tensorflow的输出。

1.13.1

2020-09-18 15:00:16.308205: F tensorflow/core/platform/cpu_feature_guard.cc:37] The TensorFlow library was compiled to use SSE4.1 instructions,but these aren't available on your machine.
Aborted (core dumped)

1.14.01.15.22.3.0

Illegal instruction (core dumped)

似乎从源代码构建可能是一个解决方案,但是知道我想在docker内运行代码并使用GPU的情况下如何正确地做到这一点?

编辑-更多信息

  • 在主服务器(主机)上,/proc/cpuinfo中具有以下标志:
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke md_clear flush_l1d

  • 在虚拟机(我要在其上运行tensorflow)上,我在/proc/cpuinfo中具有以下标志:
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology cpuid pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti

sse4_1sse4_2这次似乎丢失了。

* https://github.com/tensorflow/tensorflow/issues/17411

https://github.com/tensorflow/tensorflow/issues/30114

https://tech.amikelive.com/node-887/how-to-resolve-error-illegal-instruction-core-dumped-when-running-import-tensorflow-in-a-python-program/

Illegal instruction(core dumped) tensorflow

https://www.tutorialexample.com/fix-tensorflow-illegal-instruction-core-dumped-error-a-simple-guide-tensorflow-tutorial/

** https://github.com/tensorflow/tensorflow/issues/20139

解决方法

我设法找到解决方法。

就我而言,虚拟机由PROXMOX管理。我必须在VM配置文件中添加以下行:

args: -cpu host,kvm=off

通过这种方式,VM的CPU具有与主机CPU相同的功能。

,

几分钟前我遇到了同样的问题,经过多次反复试验,我可以说“-cpu host”参数是解决错误的关键,我没有使用参数“kvm=关闭”,它就像一个魅力。

这是我在多次“非法指令”后现在可以看到的输出

import tensorflow as tf

2020-12-31 21:04:21.424247:W tensorflow/stream_executor/platform/default/dso_lo ader.cc:60] 无法加载动态库“libcudart.so.11.0”; dlerror: libcuda rt.so.11.0: 无法打开共享对象文件: 没有这样的文件或目录 2020-12-31 21:04:21.424279: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] 如果你的机器上没有设置 GPU,请忽略上面的 cudart dlerror。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...