pytorch pruning
1.0.0
이것은 작은 개/고양이 데이터 세트를 분류하는 VGG16 기반 분류기를 가지 치기를 보여줍니다.
이로 인해 X3만큼 CPU 런타임과 모델 크기를 X4로 줄일 수있었습니다.
자세한 내용은 블로그 게시물을 읽을 수 있습니다.
각 가지 치기 단계에서 512 필터는 네트워크에서 제거됩니다.
이 저장소는 Pytorch ImageFolder Loader를 사용하므로 이미지가 각 범주마다 다른 디렉토리에 있다고 가정합니다.
기차
......... 개
......... 고양이
시험
......... 개
......... 고양이
이미지는 여기에서 가져 왔지만 자체 데이터에서 이것을 훈련시키고 그것이 작동하는지 확인해야합니다!
교육 : python finetune.py --train
가지 치기 : python finetune.py --prune
가지 치기를 하나의 패스로 수행하십시오. 현재 512 개의 필터 각각은 격차로 정리됩니다. for layer_index, filter_index in prune_targets: model = prune_vgg16_conv_layer(model, layer_index, filter_index)
새 레이어, 특히 많은 매개 변수를 갖는 완전히 연결된 레이어를 할당하는 것은 느리기 때문에 이것은 비효율적입니다.
원칙적으로 이것은 단일 패스로 수행 할 수 있습니다.
추가 아키텍처를 지원하려면 prune_vgg16_conv_layer를 변경하십시오. 가장 즉각적인 것은 배치 규범이있는 VGG입니다.