Automated Parallelization to Improve Usability and Efficiency of Distributed Neural Network Training