This paper introduces PackNet, a method for adding multiple tasks to a single deep neural network while minimizing catastrophic forgetting. Inspired by network pruning techniques, PackNet exploits redundancies in large deep networks to free up parameters that can be used for learning new tasks. By iteratively pruning and retraining the network, PackNet can sequentially "pack" multiple tasks into a single network with minimal performance drop and storage overhead. Unlike prior work that uses proxy losses to maintain accuracy on older tasks, PackNet optimizes for the task at hand. Extensive experiments on various network architectures and large-scale datasets demonstrate superior robustness against catastrophic forgetting compared to prior methods. Specifically, PackNet successfully adds three fine-grained classification tasks (CUBS birds, Stanford Cars, and Oxford Flowers) to a single ImageNet-trained VGG-16 network, achieving accuracies close to those of separately trained networks for each task. The method also outperforms joint training when adding the Places365 dataset to an ImageNet-trained network. PackNet is shown to be effective across different architectures, including VGG-16 with batch normalization, ResNets, and DenseNets.This paper introduces PackNet, a method for adding multiple tasks to a single deep neural network while minimizing catastrophic forgetting. Inspired by network pruning techniques, PackNet exploits redundancies in large deep networks to free up parameters that can be used for learning new tasks. By iteratively pruning and retraining the network, PackNet can sequentially "pack" multiple tasks into a single network with minimal performance drop and storage overhead. Unlike prior work that uses proxy losses to maintain accuracy on older tasks, PackNet optimizes for the task at hand. Extensive experiments on various network architectures and large-scale datasets demonstrate superior robustness against catastrophic forgetting compared to prior methods. Specifically, PackNet successfully adds three fine-grained classification tasks (CUBS birds, Stanford Cars, and Oxford Flowers) to a single ImageNet-trained VGG-16 network, achieving accuracies close to those of separately trained networks for each task. The method also outperforms joint training when adding the Places365 dataset to an ImageNet-trained network. PackNet is shown to be effective across different architectures, including VGG-16 with batch normalization, ResNets, and DenseNets.