通过 Conda 安装时编译 TensorFlow

问题描述 投票:0回答:1

AVX 导致的错误

我在通过简单的Python语句导入TensorFlow时遇到了这个错误:

>>> import tensorflow as tf
Illegal instruction (core dumped)

lscpu
命令确认CPU缺少AVX指令集。看起来错误是由于我的 CPU 不支持 AVX 指令造成的:

https://github.com/tensorflow/tensorflow/issues/62342#issuecomment-1801151769

选项1

编译 TensorFlow

我正在使用

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

选项2

安装旧版 TensorFlow

另一个选项可能是强制

conda
安装不需要 AVX 的最新 TensorFlow 版本。我想知道如何才能强迫
conda
这样做。

选项3

获取具有适当 CPU 的虚拟机

我已联系虚拟服务器提供商,为我提供具有 AVX 功能的 CPU。由于他们正在创建和销售虚拟机,因此他们可能很容易创建另一个支持 AVX 的虚拟 CPU。我不知道。让我们看看。

选项 4

轮子

另一个选择是找到预编译的 TensorFlow

wheel
,它的编译不需要 AVX。

还有其他选择吗?

python tensorflow anaconda conda
1个回答
0
投票

一旦我直接从源代码编译

tensorflow
(使用10年历史的笔记本,没有AVX)
我花了
~7.8 hours
- 所以这可能是一项漫长的任务。 furas/tensorflow-no-avx

人们为不同的系统、Python、CPU、GPU 放置预编译的 WHL 的地方

yaroslavvb/tensorflow-社区-wheels

有时这是最快的方法。

您也可以要求(make

Request
)一些特殊版本,也许有人会编译它。


© www.soinside.com 2019 - 2024. All rights reserved.