PyTorch is, at its core, a Python library enabling GPU-accelerated tensor computation, similar to NumPy. On top of this, PyTorch provides a rich API for neural network and other machine learning workloads.
PyTorch differentiates itself from other machine learning frameworks in that it
does not use static computational graphs -- defined once, ahead of time --
like TensorFlow. Instead, PyTorch computation graphs are dynamic and defined
by run. This means that each invocation of a machine learning model's layers
define a new computation graph, on the fly. The creation of this graph is
implicit, in the sense that the library takes care of recording the flow of data