Tensorflow安装失败,"模块的编译时版本3.5与运行时版本3.6不匹配"

nbe*_*ker 21 python linux pip python-3.x tensorflow

我尝试从pip安装:

pip3 install --user --no-cache https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl
Run Code Online (Sandbox Code Playgroud)

然后尝试导入并得到:

 Using TensorFlow backend.
  /usr/lib64/python3.6/importlib/_bootstrap.py:205: RuntimeWarning: 
  compiletime version 3.5 of module 
  'tensorflow.python.framework.fast_tensor_util' does not match runtime 
  version 3.6
    return f(*args, **kwds)

  2017-11-10 09:35:01.206112: I 
  tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports 
  instructions that this TensorFlow binary was not compiled to use: SSE4.1 
  SSE4.2 AVX
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我不明白为什么轮子说3.6,但我得到关于3.5的警告

  2. 我想编译为我的CPU优化,所以我可以使用pip从源而不是从二进制轮安装?

Max*_*xim 16

RuntimeWarning:模块'tensorflow.python.framework.fast_tensor_util'的compiletime版本3.5与运行时版本3.6不匹配

这是一个已知问题,已被优先处理并可能很快修复.现在解决方法是使用python 3.5.

更新:

此问题已得到修复在夜间tensorflow构建:" tf-nightlytf-nightly-gpu现在有白手起家用于Linux的python3.6二进制".

即,以下命令应该与python 3.6一起使用:

# tf-nightly or tf-nightly-gpu
pip3 install tf-nightly
Run Code Online (Sandbox Code Playgroud)

您的CPU支持未编译此TensorFlow二进制文件的指令:SSE4.1 SSE4.2 AVX

此警告来自以下事实:默认的tensorflow分布是在没有CPU扩展支持的情况下编译的(此处更多内容).如果您想获得CPU优化的tensorflow包,您唯一的选择就是自己构建它.这有点乏味,但绝对可行.构建将生成wheel文件,您可以使用它安装

pip3 install /path/to/the/tensorflow.whl
Run Code Online (Sandbox Code Playgroud)

但是,如果您只想抑制警告,则会执行以下操作:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
Run Code Online (Sandbox Code Playgroud)


小智 7

我遇到了同样的问题,我能够通过安装1.3版本而不是使用1.4的tensorflow来解决它.使用以下命令执行此操作.

 pip3 install tensorflow==1.3.0
Run Code Online (Sandbox Code Playgroud)