ShuffleNet
1.0.0
ShuffleNet
在 PyTorch 中的實作。 ShuffleNet
是一種適用於行動裝置的高效卷積神經網路架構。根據論文,它的表現比 Google 的 MobileNet 略勝一籌。
簡而言之, ShuffleNet
是一種類似 ResNet 的模型,它使用殘差塊(稱為ShuffleUnits
),其主要創新是使用逐點(或 1x1)組卷積,而不是普通的逐點卷積。
克隆儲存庫:
git clone https://github.com/jaxony/ShuffleNet.git
使用model.py
中定義的模型:
from model import ShuffleNet
# running on MNIST
net = ShuffleNet ( num_classes = 10 , in_channels = 1 )
在 ImageNet 上進行訓練(使用 PyTorch ImageNet 範例), groups=3
且沒有通道乘數。在測試集上,獲得了62.2% 的top 1 和84.2% 的top 5。之間: groups=3
和通道數量的一半(42.8% top 1),且網路具有相同數量的通道但groups=8
(32.4% top 1)。預訓練狀態字典可以在這裡找到,格式如下:
{
'epoch': epoch + 1,
'arch': args.arch,
'state_dict': model.state_dict(),
'best_prec1': best_prec1,
'optimizer' : optimizer.state_dict()
}
注意:使用預設的 ImageNet 設定進行訓練,這實際上與論文中描述的訓練方案不同。等待使用這些設定再次運行(並且groups=8
)。