プルーニング済みモデルで 0 に設定されたパラメーターは、スパース モデルから削除されます。最終的なプルーニング済みモデルを生成する方法は 2 つあります。
プルーニング API を使用する方法
method = 'iterative' # or 'one_step'
runner = get_pruning_runner(model, input_signature, method)
slim_model = runner.prune(removal_ratio=0.2, mode='slim')
slim_model.load_state_dict(torch.load('model_slim.pth'))
プルーニング API を使用しない方法
プルーニング API を呼び出す方法がない場合もあるため、プルーニング済みモデルの量子化にはこの方法がよく使用されます。
from pytorch_nndct.utils import slim
model = create_your_baseline_model()
slim_model = slim.load_state_dict(model, torch.load('model_slim.pth'))