Il s'agit d'une implémentation PyTorch de l'article « Réseaux résiduels améliorés pour la reconnaissance d'images et de vidéos » :
@article{duta2020improved,
author = {Ionut Cosmin Duta and Li Liu and Fan Zhu and Ling Shao},
title = {Improved Residual Networks for Image and Video Recognition},
journal = {arXiv preprint arXiv:2004.04989},
year = {2020},
}
Les modèles formés sur ImageNet peuvent être trouvés ici.
L'iResNet (réseau résiduel amélioré) est capable d'améliorer la ligne de base (ResNet) en termes de performances de reconnaissance sans augmenter le nombre de paramètres et les coûts de calcul. L'iResNet est très efficace pour former des modèles très approfondis (voir l'article pour plus de détails).
La précision sur ImageNet (en utilisant les paramètres de formation par défaut) :
Réseau | 50 couches | 101 couches | 152 couches | 200 couches |
---|---|---|---|---|
ResNet | 76,12% (modèle) | 78,00% (modèle) | 78,45% (modèle) | 77,55% (modèle) |
iResnet | 77,31 % (modèle) | 78,64 % (modèle) | 79,34 % (modèle) | 79,48 % (modèle) |
Installez l'ensemble de données PyTorch et ImageNet en suivant le code de formation officiel PyTorch ImageNet.
Une alternative rapide (sans avoir besoin d'installer PyTorch et d'autres bibliothèques d'apprentissage en profondeur) consiste à utiliser NVIDIA-Docker, nous avons utilisé cette image de conteneur.
Pour entraîner un modèle (par exemple, iResNet avec 50 couches) à l'aide de DataParallel, exécutez main.py
; vous devez également fournir result_path
(le chemin du répertoire où enregistrer les résultats et les journaux) et --data
(le chemin d'accès à l'ensemble de données ImageNet) :
result_path=/your/path/to/save/results/and/logs/
mkdir -p ${result_path}
python main.py
--data /your/path/to/ImageNet/dataset/
--result_path ${result_path}
--arch iresnet
--model_depth 50
Pour vous entraîner à l’aide de la formation parallèle de données distribuées multitraitements, suivez les instructions du code de formation officiel PyTorch ImageNet.