Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow install fails with "compiletime version 3.5 of module does not match runtime version 3.6"

Tags:

I tried installing from pip:

pip3 install --user --no-cache https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

Then tried importing and got:

 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

Questions:

  1. I don't understand why the wheel says 3.6, but I get the warning about 3.5

  2. I want to compile to optimize for my cpu, so can I use pip to install from source rather than from binary wheel?

like image 717
nbecker Avatar asked Nov 10 '17 14:11

nbecker


Video Answer


3 Answers

RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6

This is a known issue, which is got prioritized and likely to be fixed soon. Right now the workaround is to use python 3.5.

UPDATE:

The issue has been fixed in the nightly tensorflow builds: "tf-nightly and tf-nightly-gpu now has a python3.6 binary built from scratch for Linux."

I.e., the following command should work with python 3.6:

# tf-nightly or tf-nightly-gpu pip3 install tf-nightly 

Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX

This warning comes from the fact that the default tensorflow distributions are compiled without CPU extensions support (more on this here). If you want to get a CPU optimized tensorflow package, your only option is to build it yourself. It's a bit tedious, but absolutely doable. The build will produce the wheel file, which you can install with just

pip3 install /path/to/the/tensorflow.whl 

But if you just want to suppress the warning, this will do:

import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 
like image 75
Maxim Avatar answered Sep 20 '22 07:09

Maxim


I got the same issue and I was able to solve it by installing 1.3 version rather than using 1.4 of tensorflow. Use the following command to do so.

 pip3 install tensorflow==1.3.0 
like image 25
nuwan prabhath Avatar answered Sep 20 '22 07:09

nuwan prabhath


I encountered the same problem and I fixed it by:

pip install --ignore-installed tensorflow

The problem occurred because I complied a local version of tensorflow (to enable some CPU features) with python 3.5 earlier. I installed python 3.6 recently and the new tensorlfow already supported those CPU features, so I just installed the official version.

Update:

After some update of tensorflow the approach above doesn't work any more.

Another workaround is using virtual environment such as anaconda to create a python3.5 environment:

conda create -n py35 python=3.5
source activate py35
pip install tensorflow

To work with ipython or jupyter notebook, be sure to install ipykernel inside the virtual environment:

pip install ipykernel
like image 45
TSYo Avatar answered Sep 19 '22 07:09

TSYo