Practical Quasi-Newton Methods for Training Deep Neural Networks