我在通过简单的Python语句导入TensorFlow时遇到了这个错误:
>>> import tensorflow as tf
Illegal instruction (core dumped)
lscpu
命令确认CPU缺少AVX指令集。看起来错误是由于我的 CPU 不支持 AVX 指令造成的:
https://github.com/tensorflow/tensorflow/issues/62342#issuecomment-1801151769
我正在使用
conda
。如何在安装时强制 conda
编译 TensorFlow?只需要编译 TensorFlow,其他不需要编译。
这是我的
environment.yml
文件:
name: deep3d_pytorch
channels:
- pytorch
- conda-forge
- defaults
dependencies:
- python
- pytorch
- torchvision
- numpy
- scikit-image
- scipy
- pillow
- pip
- ipython
- yaml
- pip:
- matplotlib
- opencv-python
- tensorboard
- tensorflow
- kornia
- dominate
- trimesh
另一个选项可能是强制
conda
安装不需要 AVX 的最新 TensorFlow 版本。我想知道如何才能强迫 conda
这样做。
我已联系虚拟服务器提供商,为我提供具有 AVX 功能的 CPU。由于他们正在创建和销售虚拟机,因此他们可能很容易创建另一个支持 AVX 的虚拟 CPU。我不知道。让我们看看。
另一个选择是找到预编译的 TensorFlow
wheel
,它的编译不需要 AVX。
还有其他选择吗?
一旦我直接从源代码编译
tensorflow
(使用10年历史的笔记本,没有AVX)~7.8 hours
- 所以这可能是一项漫长的任务。 furas/tensorflow-no-avx
人们为不同的系统、Python、CPU、GPU 放置预编译的 WHL 的地方
yaroslavvb/tensorflow-社区-wheels
有时这是最快的方法。
您也可以要求(make
Request
)一些特殊版本,也许有人会编译它。