Deep Residual Networks
By Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun.
Microsoft Research Asia (MSRA).
This repository contains the original models (ResNet-50, ResNet-101, and ResNet-152) described in the paper "Deep Residual Learning for Image Recognition" (http://arxiv.org/abs/1512.03385). These models are those used in [ILSVRC] (http://image-net.org/challenges/LSVRC/2015/) and COCO 2015 competitions, which won the 1st places in: ImageNet classification, ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.
Note
Re-implementations with training code and models from Facebook AI Research (FAIR): blog, code
Code of improved 1K-layer ResNets with 4.62% test error on CIFAR-10 in our new arXiv paper: https://github.com/KaimingHe/resnet-1k-layers
If you use these models in your research, please cite:
@article{He2015, author = {Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun}, title = {Deep Residual Learning for Image Recognition}, journal = {arXiv preprint arXiv:1512.03385}, year = {2015} }
These models are converted from our own implementation to a recent version of Caffe (2016/2/3, b590f1d). The numerical results using this code are as in the tables below.
These models are for the usage of testing or fine-tuning.
These models were not trained using this version of Caffe.
If you want to train these models using this version of Caffe without modifications, please notice that:
GPU memory might be insufficient for extremely deep models.
Changes of mini-batch size should impact accuracy (we use a mini-batch of 256 images on 8 GPUs, that is, 32 images per GPU).
Implementation of data augmentation might be different (see our paper about the data augmentation we used).
We randomly shuffle data at the beginning of every epoch.
There might be some other untested issues.
In our BN layers, the provided mean and variance are strictly computed using average (not moving average) on a sufficiently large training batch after the training procedure. The numerical results are very stable (variation of val error < 0.1%). Using moving average might lead to different results.
In the BN paper, the BN layer learns gamma/beta. To implement BN in this version of Caffe, we use its provided "batch_norm_layer" (which has no gamma/beta learned) followed by "scale_layer" (which learns gamma/beta).
We use Caffe's implementation of SGD with momentum: v := momentum*v + lr*g. If you want to port these models to other libraries (e.g., Torch, CNTK), please pay careful attention to the possibly different implementation of SGD with momentum: v := momentum*v + (1-momentum)*lr*g, which changes the effective learning rates.
Visualizations of network structures (tools from ethereon):
[ResNet-50] (http://ethereon.github.io/netscope/#/gist/db945b393d40bfa26006)
[ResNet-101] (http://ethereon.github.io/netscope/#/gist/b21e2aae116dc1ac7b50)
[ResNet-152] (http://ethereon.github.io/netscope/#/gist/d38f3e6091952b45198b)
Model files:
~~MSR download: [link] (http://research.microsoft.com/en-us/um/people/kahe/resnet/models.zip)~~
OneDrive download: link
Curves on ImageNet (solid lines: 1-crop val error; dashed lines: training error):
1-crop validation error on ImageNet (center 224x224 crop from resized image with shorter side=256):
model|top-1|top-5 :---
上一篇:DensePose
下一篇:InsightFace
还没有评论,说两句吧!
热门资源
Keras-ResNeXt
Keras ResNeXt Implementation of ResNeXt models...
seetafaceJNI
项目介绍 基于中科院seetaface2进行封装的JAVA...
spark-corenlp
This package wraps Stanford CoreNLP annotators ...
capsnet-with-caps...
CapsNet with capsule-wise convolution Project ...
inferno-boilerplate
This is a very basic boilerplate example for pe...
智能在线
400-630-6780
聆听.建议反馈
E-mail: support@tusaishared.com