重新嵌套。
resnest的Python项目详细描述
重新嵌套
分散注意力网络,一个新的ResNet变种。它显著提高了下游模型的性能,如Mask R-CNN、级联R-CNN和DeepLabV3。在
目录
Pypi/GitHub安装
- 安装此软件包repo,请注意,您只需选择其中一个选项
# using github url pip install git+https://github.com/zhanghang1989/ResNeSt # using pypi pip install resnest --pre
预训练模型
crop size | PyTorch | Gluon | |
---|---|---|---|
ResNeSt-50 | 224 | 81.03 | 81.04 |
ResNeSt-101 | 256 | 82.83 | 82.81 |
ResNeSt-200 | 320 | 83.84 | 83.88 |
ResNeSt-269 | 416 | 84.54 | 84.53 |
- 在
第三方实现可用:Tensorflow,Caffe。在
在 - 在
额外烧蚀研究模型可在link中找到
在
Pythorch型号
- 使用火炬毂加载
- 使用python包加载
# using ResNeSt-50 as an examplefromresnest.torchimportresnest50net=resnest50(pretrained=True)
胶子模型
- 加载预训练模型:
# using ResNeSt-50 as an examplefromresnest.gluonimportresnest50net=resnest50(pretrained=True)
迁移学习模型
Detectron型号
训练代码和预训练模型在我们的Detectron2 Fork发布。在
MS-COCO验证集上的目标检测
^{tb2}$实例分段
Method | Backbone | bbox | mask |
---|---|---|---|
Mask R-CNN | ResNet-50 | 39.97 | 36.05 |
ResNet-101 | 41.78 | 37.51 | |
ResNeSt-50 (ours) | 42.81 | 38.14 | |
ResNeSt-101 (ours) | 45.75 | 40.65 | |
Cascade R-CNN | ResNet-50 | 43.06 | 37.19 |
ResNet-101 | 44.79 | 38.52 | |
ResNeSt-50 (ours) | 46.19 | 39.55 | |
ResNeSt-101 (ours) | 48.30 | 41.56 | |
ResNeSt-200 (w/ tricks ours) | 50.54 | 44.21 | |
ResNeSt-200-dcn (w/ tricks ours) | 50.91 | 44.50 | |
53.30* | 47.10* |
所有结果均报告在COCO-2017验证数据集上。带*的值表示test-dev2019上的多尺度测试性能。在
全景分割
Backbone | bbox | mask | PQ |
---|---|---|---|
ResNeSt-200 | 51.00 | 43.68 | 47.90 |
语义分割
- Pythorch模型和培训:请访问PyTorch Encoding Toolkit。在
- 胶子训练:请访问GluonCV Toolkit。在
ADE20K的结果
Method | Backbone | pixAcc% | mIoU% |
---|---|---|---|
Deeplab-V3 | ResNet-50 | 80.39 | 42.1 |
ResNet-101 | 81.11 | 44.14 | |
ResNeSt-50 (ours) | 81.17 | 45.12 | |
ResNeSt-101 (ours) | 82.07 | 46.91 | |
ResNeSt-200 (ours) | 82.45 | 48.36 | |
ResNeSt-269 (ours) | 82.62 | 47.60 |
城市景观结果
Method | Backbone | Split | w Mapillary | mIoU% |
---|---|---|---|---|
Deeplab-V3+ | ResNeSt-200 (ours) | Validation | no | 82.7 |
ResNeSt-200 (ours) | Validation | yes | 83.8 | |
ResNeSt-200 (ours) | Test | yes | 83.3 |
验证主干网型号:
注意:本文中报告的推理速度是使用RecordIO数据的Gluon实现来测试的。在
准备ImageNet数据集:
为了简单起见,我们使用原始图像数据格式,如果您想使用RecordIO格式,请遵循GluonCV tutorial。在
cd scripts/dataset/ # assuming you have downloaded the dataset in the current folder python prepare_imagenet.py --download-dir ./
火炬型号
# use resnest50 as an examplecd scripts/torch/ python verify.py --model resnest50 --crop-size 224
胶子模型
# use resnest50 as an examplecd scripts/gluon/ python verify.py --model resnest50 --crop-size 224
如何训练
ImageNet型号
- MXNet胶子培训:请访问Gluon folder。在
- 使用PyTorch进行培训:请访问PyTorch Encoding Toolkit(比Gluon实现稍差)。在
Detectron型号
对于对象检测和实例分割模型,请访问我们的detectron2-ResNeSt fork。在
语义分割
- 与Pythorch一起训练:Encoding Toolkit。在
- 使用MXNet进行培训:GluonCV Toolkit。在
参考文献
ResNeSt:分散注意力网络[arXiv]
张杭、吴崇若、张中岳、朱奕、张志志、林海滨、孙悦、何彤、乔纳斯·穆勒、R.曼玛塔、穆莉、艾利克斯·斯莫拉
@article{zhang2020resnest,
title={ResNeSt: Split-Attention Networks},
author={Zhang, Hang and Wu, Chongruo and Zhang, Zhongyue and Zhu, Yi and Zhang, Zhi and Lin, Haibin and Sun, Yue and He, Tong and Muller, Jonas and Manmatha, R. and Li, Mu and Smola, Alexander},
journal={arXiv preprint arXiv:2004.08955},
year={2020}
}
主要贡献者
- 重新嵌套主干(Hang Zhang)
- 探测器模型(Chongruo Wu,Zhongyue Zhang)
- 语义切分(Yi Zhu)
- 分布式培训(Haibin Lin)
- 项目
标签: