We will not be using anacond, just classic old pip3
Works on python <= 3.8
Recomended OS: Fedora29(Have reached End of Life), Ubuntu 18.04(End of life: 2023). You can also use Later versions of same OS.
Step 1:
Install Nvidia Propiatary Drivers:
For ubuntu: link[https://medium.com/@redowan/no-bullshit-guide-on-installing-tensorflow-gpu-ubuntu-18-04-18-10-238924cc4a6a]. //Just follow the part where he shows how to install drivers.
For Fedora using optimus: link[https://www.reddit.com/r/Fedora/comments/ga1ek6/optimus_setting_the_nvidia_gpu_as_primary/]. I personally stopped before Step 8(in tutorial).
I know they are Lenghty process(may require several Reboots, but stay with me.
Step 2:
Install Cuda10.1 for tf2.2 and tf1.15{only for python<3.8}, using this link1[https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux]. A local .deb/.rpm method is recomended.
Step 3:
Install Cudnn:
You have a create an account before downloading it.
Download and extract cudnn Library from link2[https://developer.nvidia.com/rdp/cudnn-archive].
Click on the option 'Download cuDNN v7.6.4 (September 27, 2019), for CUDA 10.1'>'cuDNN Library for Linux'
Best install Instructions: link3[https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux-tar]. Follow Section 2.3.1
Download and install Runtime+Developer+Code Samples Libraries from link4[https://developer.nvidia.com/rdp/cudnn-archive].
If you are having trouble, refer lin3 section 2.3.2/2.3.3
Step 3:
Test the code using Cudnn Code Sample Library:
Only avliable for Fedora29/Ubuntu18.04.
Follow link3 section 2.4.
Step 4:
Install Tensorflow and then Keras. To avoid version clashes between them follow[https://docs.floydhub.com/guides/environments/]
Make a simple CNN or copy it from link5[https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py]
The Speedup must be great{make a virtualenv and install tf-cpu on it and compare OR run the same of Colab(CPU runtime)}
Hope this guides helps. I have used this guide on several Machines, I am also running on my current machine(Fedora32) and it runns Flawlessly.
Any suggestions or questions are welcomed.
Bonus Tip: export TF_CPP_MIN_LOG_LEVEL='2'
copy this into your .dot files of terminal emulator to remove all the log message output('1') and warnings('2'), somtimes they can really disturb your workflow.
Thank You.
oh my Lord, thanks