Install GPU TensorFlow from Sources with Ubuntu 16.04 and Cuda 8.0 RC
alliseesolutions.wordpress.com
alliseesolutions.wordpress.com
https://github.com/tensorflow/tensorflow/blob/master/tensorf...
Edit: spelling
sudo sh cuda_8.0.27.1_linux.run --silent --accept-eula ubuntu@somewhere:~/tensorflow$ python3 -c 'import tensorflow'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/ubuntu/tensorflow/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
File "/home/ubuntu/tensorflow/tensorflow/python/__init__.py", line 49, in <mod
ule>
from tensorflow.python import pywrap_tensorflow
ImportError: cannot import name 'pywrap_tensorflow'- using branch r0.10, as suggested by https://news.ycombinator.com/item?id=12464835 - making sure to install the new r0.10 wheel, which has a different name than the r0 wheel built by master :-D
This probably has something to do with the fact that GPUs are flaky and idiosyncratic, and all the software that uses them depends on black-box libraries handed down by Nvidia, who is completely shit at maintaining software.
Screenshot for the skeptics.
https://github.com/tensorflow/tensorflow/issues/2559#issueco...
For the first time I was able to complete a build last night, Ubuntu 16.04, CUDA 8.0 RC + compiler patch, cuDNN 5.1, nvidia-driver-370, python-2.7, and compute capability 6.1 (for Pascal GPU) - but only when I switched to the r0.10 branch.
With r0.10 I see none of the multiple failure modes that I always see with master. It just went straight ahead and compiled the whole thing.
I'm using Ubuntu 16.04, CUDA 8.0RC + the gcc patch, cuDNN 5.1, nvidia-driver-[367|370], tensorflow-master, python-2.7. My process is basically identical to yours.
A few issues are listed here:
https://github.com/tensorflow/tensorflow/issues/2559#issueco...
In some cases, Bazel seems to be the culprit. In other cases, it's Tensorflow itself. I've also seen a "gcc: internal compiler error" https://github.com/tensorflow/tensorflow/issues/4214
Some issues with your howto:
There's a chapter title "Install Nvidia Toolkit 7.5 & CudNN" but the instructions below use 8.0RC
```
Configure TensorFlow Installation
$ cd ~/tensorflow $ ./configure Use defaults by pressing enter for all except:
Please specify the location of python. [Default is /usr/bin/python]:
```
No. If you do that it won't compile with GPU support. You have to hit Enter on every question except these ones:
- Do you wish to build TensorFlow with GPU support? (answer: y)
- Please specify a list of comma-separated Cuda compute capabilities you want to build with. (answer: 6.1, or less for older GPUs)
- Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]: (answer 8.0)
You don't have to specify the cuDNN version, apparently it can detect the version automatically. It's only the CUDA version detection that fails. https://github.com/tensorflow/tensorflow/issues/3985
"You must also have the 361.42 NVidia drivers installed"
No, that would not work with Pascal GPUs.
The only way I've seen it work is if you install CUDA 7.5 and cuDNN 4, and install Tensorflow from the binary package. But then you get weird errors if you run complex models on Pascal GPUs, because CUDA 7.5 doesn't work well with Pascal.
Seriously, if you made it work on Ubuntu 16.04 with CUDA 8 and it's GPU enabled, please upload the pip package somewhere. I'd love to give it a try.
there is also a link for the list of cuda capabilities in the post.
I cannot test this but possibly just use whatever version the drivers work and make sure the run file does not install different drivers.
It's also the fact that it fails in so many different ways. Bazel bombs out after ./configure; the master branch today does not even begin to build at all, the old Bazel workaround is not working anymore. Then there's the gcc issues.
You may have gotten lucky once, who knows why.
Again, do you still have the pip package you claim you've built using this procedure? If so, can you upload it somewhere? I would very much like to test it. Thank you.
Here is the pip3 wheel but I am skeptical given it was built for my system.