Changes

Jump to navigation Jump to search
3,292 bytes added ,  15:19, 16 July 2018
https://stackoverflow.com/questions/46499808/pip-throws-typeerror-parse-got-an-unexpected-keyword-argument-transport-enco#_=_
=New (by Wei and Minh): Tensorflow 1.9.0 with GPU Installation Log='''Important note: install '''<br> Install the version of software/packages strictly according to the instructions provided by Tensorflow. A different version of software, for example CUDA toolkit 9.2 instead of 9.0, might lead to failure in tensorflow.When upgrading tensorflow, do it very carefully. As of July 2018, Tensorflow is [https://github.com/tensorflow/tensorflow/issues/17629 notoriously easy to break] with careless installation. DO NOT attempt to install Tensorflow under your user account. Tensorflow has been installed for all users, and a new local install will interfere with it. ==Synopsis==Tensorflow was previously installed. In 2018 Summer, a new piece of graphics card was installed on DB Server. Wei and Minh hence-force installed and configured ''' tensorflow-gpu 1.9.0 for Python3.6''' for all users of DB Server. ==Using Tensorflow==It is important to know that, on DB Server, Tensorflow-gpu 1.9.0 is installed for ''python3.6'', instead of either the default ''python3'' which is Python 3.5, or the default ''python'' which is Python 2.7 . In case that the system default ''python3'' might be changed, type in terminal to find out: which python3and which python3.6  A quick test of whether tensorflow-gpu is working for ''python3.6'', type the following into a terminal: python3.6 -c "import tensorflow as tf; sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))" This will report back which CPU and GPU devices the tensorflow is using. If there is no information for the GPU device, there is something wrong. 
==NVIDIA configuration==
(In progress) Before installing tensorflow with GPU, configure the NVIDIA® software by following instruction: https://www.tensorflow.org/install/install_linux#NVIDIARequirements
===Install CUDA Toolkit 9.0===
*1. Installed CUDA Toolkit 9.0 Base Installer with the Runfile option. The toolkit is in
Add
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Save and exit. Close and open the terminal (or source .bashrc).
nvcc -V
[[File:nvcc.png]]
 
===Install cuDNN v7.1.4===
*5. Downloaded cuDNN v7.1.4 for CUDA 9.0:
*9. Added the following path to the LD-LIBRARY_PATH environment variable by accessing bash as per above:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}/usr/local/cuda/extras/CUPTI/lib64
 
===Install TensorRT 3.0 (optional)===
*10.Did not install TensorRT 3.0
$ export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}</s><br>
3. <s>If installed correctly, type nvcc- V should verify installation. But currently it returns 'the program nvcc is currently not installed'.</s><br>
4. When adding libcupti-dev library, after adding the path:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}/usr/local/cuda/extras/CUPTI/lib64
Upon source .bashrc, it returns the following:
-bash: export: `:/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CUPTI/lib64': not a valid identifier
So far it does not affect the functionality of tensorflow, but it will probably affect libcupti-dev library. ==Tensorflow with GPU support Installation Resourcein a virtual environment==To install tensorflow, follow We followed this instruction here: https://www.tensorflow.org/install/install_linux#InstallingVirtualenv and install tensorflow.===Install Tensorflow using the Virtual EnvironmentInstallation===
Install on DBServer under the user McNair. Password: askEd
*1.install virtualenv:
pip install -U pip
*5. Install TensorFlow in the virtual environment: within
pip install -U tensorflow-gpu*Validate the installation with:
(venv)$ python -c "import tensorflow as tf; print(tf.__version__)"
 
[[FILE:tensorflow.png]]
 
===Testing Tensorflow with GPU in virtual environment===
Create a python file with the following:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Run it in the virtual environment.
[[FILE:TensorflowGPU.png]]
 
==Tensorflow with GPU support Installation as root for All users==
'''Important note: Currently on DB Server, pip/pip3 is working with Python3.6 rather than Python3. Hence the following installs a copy of tensorflow-gpu 1.9.0 for Python3.6 for all users'''
 
===Installation===
We followed instructions here: https://www.tensorflow.org/install/install_linux#InstallingNativePip
 
*0. Deleted previously installed tensorflow with CPU support:
sudo pip3 uninstall tensorflow
*1. Used this command to install tensorflow-gpu:
sudo pip3 install -U tensorflow-gpu
 
===Path variable (crucial)===
If you logged on as a user using tensorflow for the first time, you need to set the CUDA Toolkit 9.0 environment variables. Type into terminal
nano .bashrc
 
Add the following:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
 
Save and exit (CTRL + O and CTRL + X). Type
source .bashrc
 
===Testing Tensorflow with GPU as (non-root) user===
After ssh onto DB Server, type the following command into a terminal:
python3.6 -c "import tensorflow as tf; print(tf.__version__);sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))"
 
[[FILE:TensorflowGPUGlobal.png]]

Navigation menu