A nonlinear dynamical system can be represented by an infinite-dimensional linear operator known as the Koopman operator. Observables are scalar-valued functions of the state space that collectively form a linear vector space. Although all observables evolve linearly under the Koopman operator, special observables called eigenfunctions can be decoupled from other observables and span a Koopman-invariant subspace. Finding a finite approximation of the Koopman operator allows the application of well-developed linear systems methodologies to nonlinear systems. Numerical methods such as Dynamic Mode Decomposition (DMD) and its variants are widely used to produce finite approximations of the Koopman operator. Unfortunately, the approximations produced by these numerical methods are highly sensitive to the choice of observables, which are typically user-defined. In this work, we introduce a Koopman-inspired deep learning architecture that extracts the eigenfunctions of discrete spectrum systems, resulting in a diagonal representation of the Koopman operator. In numerical examples, the eigenfunctions learned using this framework exhibit a predictive performance superior to existing methods. Finally, we extend the architecture to controlled dynamical systems. Numerical examples show that the linear predictors obtained in this way can be readily used to design controllers that directly act on the Koopman modes of the system.