Availabel networks include (trained with 100 epochs):
Name | #Layers | Test top1 Acc(%) |
---|---|---|
ResNet20 | 20 | 90.7 |
ResNet34 | 34 | 90.9 |
ResNet74 | 74 | 89.6 |
ResNet146 | 146 | 89.7 |
Residual learning overcomes the degradation problem by providing shortcut path. (My opinion) On the one hand, in the forward path, such shortcut path will replace the redundant layers with identity path, which lead to that the deeper networks be at least as good as shallower ones. On the other hand, in the backward path, shortcut path provide the gradient a way to path a stronger signal to previous layers, which speeds up training.
chmode +x run.sh && ./run_all_res_plain_net.sh
chmode +x run.sh && ./run_layer_gradient.sh
chmode +x run.sh && ./run_shortcut_options.sh
Visualizations are included in python script visualization.py.
-
Deep Residual Learning for Image Recognition
-
Proper ResNet Implementation for CIFAR10/CIFAR100 in Pytorch