Obtaining controllers for high-dimensional continuous control of humanoid robots remains a challenging problem. Reinforcement learning has shown promise as a general method for learning locomotion controllers across a diverse range of different motions and in different environments, however specifying a reward function and transferring to real hardware remain open challenges. In this work, we build upon Adversarial Motion Priors (AMP) and introduce a framework that learns a reward function using a small amount of motion capture data. Using this reward function, we are able to learn a single multi-task controller for humanoid locomotion that produces natural-looking behavior for several different motions. Moreover, our controller produces energy-efficient motions without explicitly optimizing for such terms, is able to transition smoothly between different motions, and is capable of deploying on real hardware using a custom domain randomization procedure.