Nouvelle série de blogs – Mémoires d'un développeur de TorchVision, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Nouvelle série de blogs – Mémoires d'un développeur TorchVision

Nouvelle série de blogs – Mémoires d'un développeur TorchVision

Je commence une nouvelle série d'articles de blog sur le développement de la bibliothèque de vision par ordinateur de PyTorch. Je prévois de discuter des fonctionnalités intéressantes à venir principalement de TorcheVision et secondaire de l'écosystème PyTorch. Mon objectif est de mettre en évidence les fonctionnalités nouvelles et en cours de développement et de clarifier ce qui se passe entre les versions. Bien que le format soit susceptible de changer avec le temps, je prévois initialement de le garder en petite taille et de proposer des références à ceux qui souhaitent approfondir. Enfin, au lieu de publier des articles à intervalles fixes, je publierai lorsque j'aurai suffisamment de sujets intéressants à aborder.

Avertissement: Les fonctionnalités couvertes seront orientées vers des sujets qui m'intéressent personnellement. L'écosystème PyTorch est immense et je n'ai de visibilité que sur une infime partie de celui-ci. Couvrir (ou ne pas couvrir) une fonctionnalité ne dit rien de son importance. Les opinions exprimées sont uniquement les miennes.

Cela étant dit, voyons ce qui se passe :

Lissage des étiquettes pour la perte CrossEntropy

Une fonctionnalité très demandée sur PyTorch est de soutenir les cibles souples ainsi que ajouter une option de lissage des étiquettes en perte d'entropie croisée. Les deux fonctionnalités visent à faciliter le lissage des étiquettes, la première option offrant plus de flexibilité lorsque les techniques d'augmentation des données telles que mélanger/mélange coupé sont utilisés et les seconds étant plus performants pour les cas simples. L'option des cibles souples a déjà été fusionné sur le maître par Joel Schlosser alors que l'option label_smoothing est en cours de développement par Thomas J. Fan et est actuellement en cours de révision.

Nouveau planificateur d'échauffement

L'échauffement du taux d'apprentissage est une technique courante utilisée lors de la formation de modèles, mais jusqu'à présent, PyTorch n'offrait pas de solution standard. Récemment, Ilqar Ramazanli a introduit un nouveau planificateur prenant en charge un échauffement linéaire et constant. Les travaux autour sont actuellement en cours améliorer la capacité de la chaîne ainsi que combinaison des planificateurs existants.

TorchVision avec « Piles incluses »

Cette moitié, nous travaillons sur l'ajout de modèles, de pertes, de planificateurs, d'augmentations de données et d'autres utilitaires populaires de TorchVision utilisés pour obtenir des résultats de pointe. Ce projet porte bien son nom «Piles incluses” et est actuellement en cours.

Plus tôt cette semaine, j'ai ajouté un nouveau calque appelé Profondeur stochastique qui peut être utilisé pour supprimer aléatoirement des branches résiduelles dans des architectures résiduelles. Actuellement je travaille sur ajouter une implémentation de l'architecture de réseau populaire appelée EfficaceNet. Enfin, Allen Goodman est actuellement, en ce moment ajout d'un nouvel opérateur qui permettra la conversion Masques de segmentation vers boîtes englobantes.

Autres fonctionnalités en développement

Nous pensons que nous apportons constamment des améliorations progressives à la documentation, à l'infrastructure CI et à la qualité globale du code. Ci-dessous, je souligne certains des aspects « visés à l'utilisateur » éléments de la feuille de route qui sont en cours de développement :

C'est ça! J'espère que vous l'avez trouvé intéressant. Toutes les idées sur la manière d’adapter le format ou sur les sujets à aborder sont les bienvenues. Contactez-moi LinkedIn or Twitter.

Horodatage:

Plus de Boîte de données