PytorchInsight
1.0.0
이것은 최첨단 아키텍처, 사전 치료 된 모델 및 실시간 업데이트 결과를 갖춘 Pytorch Lib입니다.
이 저장소는 딥 러닝 연구의 발전을 가속화하고, 재현 가능한 결과를 만들고, 연구를보다 쉽게 만들고, Pytorch에서 더 쉽게 만들어내는 것을 목표로합니다.
- Senet : Squeeze and-Excitation Networks (종이)
- SKNET : 선택적 커널 네트워크 (종이)
- CBAM : 컨볼 루션 블록주의 모듈 (종이)
- GCNET : GCNET : 비 국소 네트워크는 Squeeze-Excitation Networks 및 Beyond (종이) 를 만난다.
- BAM : 병목 주목 모듈 (종이)
- SGENET : 공간 그룹 별 강화 : Convolutional Networks에서 시맨틱 기능 학습 향상 (종이)
- SRMNet : SRM : Convolutional Neural Networks를위한 스타일 기반 재 교정 모듈 (종이)
- OCTNET : 옥타브 드롭 : 옥타브 컨볼 루션 (종이) 으로 컨볼 루션 신경망에서 공간 중복성 감소
- imagenet_tricks.py : Convolutional Neural Networks를 사용한 이미지 분류를위한 트릭 백 (종이)
- 체중 정규화 패밀리와 체중 부패 사이의 불화 이해 : e-Shifted L2 일반화 (나타나기)
- 일반화 바인딩 정규화 : 체중 부패 이해를위한 통합 프레임 워크 (나타나기)
- Mixup : 경험적 위험 최소화 (종이)
- CUTMIX : 현지화 가능한 기능으로 강력한 분류기를 훈련시키는 정규화 전략 (종이)
ImageNet-1K의 단일 작물 검증 오류 (중앙 224x224 크기가 더 짧은면에서 256).
| 미디어 및 대형 모델에 대한 분류 교육 설정 | |
|---|---|
| 세부 | RandomResizedCrop, RandomhorizontalFlip; 0.1 Init LR, 총 100 개의 에포크, 30 개의 시대마다 붕괴; 순진한 SoftMax Cross Entropy Loss, 1E-4 중량 붕괴, 0.9 모멘텀, 8 GPU, GPU 당 32 개의 이미지가 포함 된 SGD |
| 예 | RESNET50 |
| 메모 | 최신 코드는 하나의 기본 조작을 추가합니다. 모든 바이어스 WD = 0, "일반화 바인딩 규칙화 : 무게 붕괴 이해를위한 통합 프레임 워크"(나타나기)의 이론적 분석을 참조하십시오. |
| 모바일/소규모 모델의 분류 교육 설정 | |
|---|---|
| 세부 | RandomResizedCrop, RandomhorizontalFlip; 0.4 Init LR, 총 300 개의 에포크, 5 개의 선형 워밍업 에포크, 코사인 LR 붕괴; Softmax Cross Entropy 손실 및 라벨 스무딩 0.1, 4E-5 중량 부패가 포함 된 SGD, COLL 중량에 대한 4E-5 중량 부패, 기타 모든 중량의 중량 부패, 0.9 GPU, GPU 당 128 개의 이미지 |
| 예 | Shufflenetv2 |
python -m torch.distributed.launch --nproc_per_node=8 imagenet_mobile.py --cos -a shufflenetv2_1x --data /path/to/imagenet1k/
--epochs 300 --wd 4e-5 --gamma 0.1 -c checkpoints/imagenet/shufflenetv2_1x --train-batch 128 --opt-level O0 --nowd-bn # Triaing
python -m torch.distributed.launch --nproc_per_node=2 imagenet_mobile.py -a shufflenetv2_1x --data /path/to/imagenet1k/
-e --resume ../pretrain/shufflenetv2_1x.pth.tar --test-batch 100 --opt-level O0 # Testing, ~69.6% top-1 Acc
python -W ignore imagenet.py -a sge_resnet101 --data /path/to/imagenet1k/ --epochs 100 --schedule 30 60 90
--gamma 0.1 -c checkpoints/imagenet/sge_resnet101 --gpu-id 0,1,2,3,4,5,6,7 # Training
python -m torch.distributed.launch --nproc_per_node=8 imagenet_fast.py -a sge_resnet101 --data /path/to/imagenet1k/
--epochs 100 --schedule 30 60 90 --wd 1e-4 --gamma 0.1 -c checkpoints/imagenet/sge_resnet101 --train-batch 32
--opt-level O0 --wd-all --label-smoothing 0. --warmup 0 # Training (faster)
python -W ignore imagenet.py -a sge_resnet101 --data /path/to/imagenet1k/ --gpu-id 0,1 -e --resume ../pretrain/sge_resnet101.pth.tar
# Testing ~78.8% top-1 Acc
python -m torch.distributed.launch --nproc_per_node=2 imagenet_fast.py -a sge_resnet101 --data /path/to/imagenet1k/ -e --resume
../pretrain/sge_resnet101.pth.tar --test-batch 100 --opt-level O0 # Testing (faster) ~78.8% top-1 Acc
python -m torch.distributed.launch --nproc_per_node=8 imagenet_fast.py -a ws_resnet50 --data /share1/public/public/imagenet1k/
--epochs 100 --schedule 30 60 90 --wd 1e-4 --gamma 0.1 -c checkpoints/imagenet/es1e-3_ws_resnet50 --train-batch 32
--opt-level O0 --label-smoothing 0. --warmup 0 --nowd-conv --mineps 1e-3 --el2
참고 다음 결과 (오래) 큰 모델의 경우 바이어스 wd = 0을 설정하지 않습니다.
| 모델 | #피 | gflops | 상위 1 ACC | 상위 5 ACC | 다운로드 1 | 다운로드 2 | 통나무 |
|---|---|---|---|---|---|---|---|
| Shufflenetv2_1x | 2.28m | 0.151 | 69.6420 | 88.7200 | googledrive | Shufflenetv2_1x.log | |
| RESNET50 | 25.56m | 4.122 | 76.3840 | 92.9080 | Baidudrive (Zuvx) | googledrive | Old_resnet50.log |
| SE-RESNET50 | 28.09m | 4.130 | 77.1840 | 93.6720 | |||
| Sk-Resnet50* | 26.15m | 4.185 | 77.5380 | 93.7000 | Baidudrive (TFWN) | googledrive | sk_resnet50.log |
| BAM-RESNET50 | 25.92m | 4.205 | 76.8980 | 93.4020 | Baidudrive (Z0H3) | googledrive | bam_resnet50.log |
| CBAM-RESNET50 | 28.09m | 4.139 | 77.6260 | 93.6600 | Baidudrive (Bram) | googledrive | cbam_resnet50.log |
| SGE-RESNET50 | 25.56m | 4.127 | 77.5840 | 93.6640 | Baidudrive (GXO9) | googledrive | sge_resnet50.log |
| RESNET101 | 44.55m | 7.849 | 78.2000 | 93.9060 | Baidudrive (JS5T) | googledrive | Old_resnet101.log |
| SE-RESNET101 | 49.33m | 7.863 | 78.4680 | 94.1020 | Baidudrive (j2ox) | googledrive | se_resnet101.log |
| Sk-Resnet101* | 45.68m | 7.978 | 78.7920 | 94.2680 | Baidudrive (boii) | googledrive | sk_resnet101.log |
| BAM-RESNET101 | 44.91m | 7.933 | 78.2180 | 94.0180 | Baidudrive (4BW6) | googledrive | bam_resnet101.log |
| CBAM-RESNET101 | 49.33m | 7.879 | 78.3540 | 94.0640 | Baidudrive (syj3) | googledrive | CBAM_RESNET101.LOG |
| SGE-RESNET101 | 44.55m | 7.858 | 78.7980 | 94.3680 | Baidudrive (WQN6) | googledrive | sge_resnet101.log |
여기서 SK-Resnet*은 원래 SKNET의 수정 된 버전 (RESNET 백본과의 공정한 비교)입니다. 원래 sknets는 더 강력하며 Pytorch 버전은 ppplang-sknet에서 참조 할 수 있습니다.
| 모델 | #피 | gflops | 탐지기 | 목 | AP50 : 95 (%) | AP50 (%) | AP75 (%) | 다운로드 |
|---|---|---|---|---|---|---|---|---|
| RESNET50 | 23.51m | 88.0 | 더 빠른 RCNN | fpn | 37.5 | 59.1 | 40.6 | googledrive |
| SGE-RESNET50 | 23.51m | 88.1 | 더 빠른 RCNN | fpn | 38.7 | 60.8 | 41.7 | googledrive |
| RESNET50 | 23.51m | 88.0 | 마스크 rcnn | fpn | 38.6 | 60.0 | 41.9 | googledrive |
| SGE-RESNET50 | 23.51m | 88.1 | 마스크 rcnn | fpn | 39.6 | 61.5 | 42.9 | googledrive |
| RESNET50 | 23.51m | 88.0 | 캐스케이드 RCNN | fpn | 41.1 | 59.3 | 44.8 | googledrive |
| SGE-RESNET50 | 23.51m | 88.1 | 캐스케이드 RCNN | fpn | 42.6 | 61.4 | 46.2 | googledrive |
| RESNET101 | 42.50m | 167.9 | 더 빠른 RCNN | fpn | 39.4 | 60.7 | 43.0 | googledrive |
| SE-RESNET101 | 47.28m | 168.3 | 더 빠른 RCNN | fpn | 40.4 | 61.9 | 44.2 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | 더 빠른 RCNN | fpn | 41.0 | 63.0 | 44.3 | googledrive |
| RESNET101 | 42.50m | 167.9 | 마스크 rcnn | fpn | 40.4 | 61.6 | 44.2 | googledrive |
| SE-RESNET101 | 47.28m | 168.3 | 마스크 rcnn | fpn | 41.5 | 63.0 | 45.3 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | 마스크 rcnn | fpn | 42.1 | 63.7 | 46.1 | googledrive |
| RESNET101 | 42.50m | 167.9 | 캐스케이드 RCNN | fpn | 42.6 | 60.9 | 46.4 | googledrive |
| SE-RESNET101 | 47.28m | 168.3 | 캐스케이드 RCNN | fpn | 43.4 | 62.2 | 47.2 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | 캐스케이드 RCNN | fpn | 44.4 | 63.2 | 48.4 | googledrive |
다음 모델은 바이어스 WD = 0입니다.
| 모델 | 1 위 | 다운로드 |
|---|---|---|
| WS-Resnet50 | 76.74 | googledrive |
| WS-RESNET50 (E = 1E-3) | 76.86 | googledrive |
| WS-Resnet101 | 78.07 | googledrive |
| WS-RESNET101 (E = 1E-6) | 78.29 | googledrive |
| ws-resnext50 (e = 1e-3) | 77.88 | googledrive |
| ws-resnext101 (e = 1e-3) | 78.80 | googledrive |
| WS-Densenet201 (E = 1E-8) | 77.59 | googledrive |
| WS-SHRUFFLENETV1 (E = 1E-8) | 68.09 | googledrive |
| WS-SHUFFLENETV2 (E = 1E-8) | 69.70 | googledrive |
| WS-Mobilenetv1 (E = 1E-6) | 73.60 | googledrive |
우리의 관련 작품이 귀하의 연구에 유용하다고 생각되면, 논문을 인용하는 것을 고려하십시오.
@inproceedings{li2019selective,
title={Selective Kernel Networks},
author={Li, Xiang and Wang, Wenhai and Hu, Xiaolin and Yang, Jian},
journal={IEEE Conference on Computer Vision and Pattern Recognition},
year={2019}
}
@inproceedings{li2019spatial,
title={Spatial Group-wise Enhance: Enhancing Semantic Feature Learning in Convolutional Networks},
author={Li, Xiang and Hu, Xiaolin and Xia, Yan and Yang, Jian},
journal={arXiv preprint arXiv:1905.09646},
year={2019}
}
@inproceedings{li2019understanding,
title={Understanding the Disharmony between Weight Normalization Family and Weight Decay: e-shifted L2 Regularizer},
author={Li, Xiang and Chen, Shuo and Yang, Jian},
journal={arXiv preprint arXiv:},
year={2019}
}
@inproceedings{li2019generalization,
title={Generalization Bound Regularizer: A Unified Framework for Understanding Weight Decay},
author={Li, Xiang and Chen, Shuo and Gong, Chen and Xia, Yan and Yang, Jian},
journal={arXiv preprint arXiv:},
year={2019}
}