once you have to install a GPU device driver, CUDA, tensorflow itself, related python packages like numpy, and you have choices of native installer, Linux packages, pip, conda, there's potential to find yourself in dependency hell, all of those layers are evolving rapidly.
of course you don't need to install CUDA just to learn, can run tensorflow on CPU only, but part of the point of the graph paradigm is to design a computation and offload it to GPU.
I found these helpful (on AWS)
- http://ramhiser.com/2016/01/05/installing-tensorflow-on-an-a...
- http://tleyden.github.io/blog/2015/11/22/cuda-7-dot-5-on-aws...
of course you don't need to install CUDA just to learn, can run tensorflow on CPU only, but part of the point of the graph paradigm is to design a computation and offload it to GPU.