Hello everybody,
I am new to TensorFlow and to this community. I am trying to learn it from a very basic level. So, I have few questions about TensorFlow, which I could not find answers online. Any online tutorial on the following questions are welcome:

How does TensorFlow work under the hood? For example: DAG (Logical Model) and Stages (physical Execution Model) in the case of Apache Spark.
How does Tensorflow optimize the tensor graph for lazy (non-eager) evaluation? How does it gain speed-up while pipelining operations? (Stage pipelining in terms of Spark which can run in parallel)
What algorithm is followed by matmul function to multiply two dense matrices? I could not understand the algorithm from the code? Any reference would be appreciated.

Thanks in advance!