1. A system comprising: one or more processors; and one or more computer storage media storing computer-executable instructions that are executable to cause the one or more processors to perform acts comprising: providing a pipelined algorithm to train deep neural networks (DNNs) for performing data analysis based on training data, the DNNs being one of context-dependent DNNs or context-independent DNNs; partitioning the training data into sample batches of a specific batch size based on rates of data transfers between the one or more processors for executing the pipelined algorithm and an execution speed of each of the one or more processors; and pipelining an execution of the pipelined algorithm on the DNNs through the one or more processors to train the DNNs using the sample batches.