normalizing flows are invertible neural networks with tractable
change-of-volume terms, which allow optimization of their parameters to be
efficiently performed via maximum likelihood. However, data of interest are
typically assumed to live in some (often unknown) low-dimensional manif