Sparsity in Deep Learning: Pruning and growth for efficient inference and training in neural networks