  Structural pruning enables model acceleration by removing
structurally-grouped parameters from neural networks. However, the
parameter-grouping patterns vary widely across different models, making
architecture-specific pruners, which rely on manually-designed grouping
schemes, non-generalizable to new architectures. In this work, we study a
highly-challenging yet barely-explored task, any structural pruning, to tackle
general structural pruning of arbitrary architecture like CNNs, RNNs, GNNs and
Transformers. The most prominent obstacle towards this goal lies in the
structural coupling, which not only forces different layers to be pruned
simultaneously, but also expects all removed parameters to be consistently
unimportant, thereby avoiding structural issues and significant performance
degradation after pruning. To address this problem, we propose a general and
{fully automatic} method, \emph{Dependency Graph} (DepGraph), to explicitly
model the dependency between layers and comprehensively group coupled
parameters for pruning. In this work, we extensively evaluate our method on
several architectures and tasks, including ResNe(X)t, DenseNet, MobileNet and
Vision transformer for images, GAT for graph, DGCNN for 3D point cloud,
alongside LSTM for language, and demonstrate that, even with a simple
norm-based criterion, the proposed method consistently yields gratifying
performances.
