  The goal of this tutorial is to explain step-by-step how to implement
physics-based learning for the rapid prototyping of a computational imaging
system. We provide a basic overview of physics-based learning, the construction
of a physics-based network, and its reduction to practice. Specifically, we
advocate exploiting the auto-differentiation functionality twice, once to build
a physics-based network and again to perform physics-based learning. Thus, the
user need only implement the forward model process for their system, speeding
up prototyping time. We provide an open-source Pytorch implementation of a
physics-based network and training procedure for a generic sparse recovery
problem
