Un aperçu de TorchVision v0.11 - Mémoires d'un développeur TorchVision - 2

Un aperçu de TorchVision v0.11 - Mémoires d'un développeur TorchVision - 2

A sneak peek at TorchVision v0.11 – Memoirs of a TorchVision developer – 2 PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Un aperçu de TorchVision v0.11 - Mémoires d'un développeur TorchVision - 2

Les deux dernières semaines ont été très chargées dans « PyTorch Land » alors que nous préparons frénétiquement la sortie de PyTorch v1.10 et TorchVision v0.11. Dans ce 2e volet de les séries, je couvrirai certaines des fonctionnalités à venir qui sont actuellement incluses dans la branche de publication de TorchVision.

Avertissement: Bien que la prochaine version regorge de nombreuses améliorations et améliorations de bogues/tests/documentation, je mets ici en évidence les nouvelles fonctionnalités « interface utilisateur » sur les domaines qui m'intéressent personnellement. Après avoir écrit le billet de blog, j'ai également remarqué un biais envers les fonctionnalités que j'ai examinées, écrites ou suivies de près leur développement. Couvrir (ou ne pas couvrir) une caractéristique ne dit rien sur son importance. Les opinions exprimées sont uniquement les miennes.

Nouveaux modèles

La nouvelle version est remplie de nouveaux modèles :

  • Kai Zhang a ajouté une implémentation du Architecture RegNet ainsi que des poids pré-entraînés pour Variantes 14 qui reproduisent fidèlement le papier original.
  • J'ai récemment ajouté une implémentation de la Architecture EfficientNet ainsi que des poids pré-entraînés pour les variantes B0-B7 fournis par Luke Melas-Kyriazi et Ross Wightman.

Nouvelles augmentations de données

Quelques nouvelles techniques d'augmentation de données ont été ajoutées à la dernière version :

  • Samuel Gabriel a contribué TrivialAugmentation, une nouvelle stratégie simple mais très efficace qui semble fournir des résultats supérieurs à AutoAugment.
  • j'ai ajouté le RandAugmentation méthode dans les auto-augmentations.
  • J'ai fourni une implémentation de Mixup et CutMix se transforme en références. Ceux-ci seront déplacés dans les transformations sur la prochaine version une fois leur API finalisée.

Nouveaux opérateurs et couches

Un certain nombre de nouveaux opérateurs et couches ont été inclus :

Références / Recettes de formation

Bien que l'amélioration de nos scripts de référence soit un effort continu, voici quelques nouvelles fonctionnalités incluses dans la prochaine version :

D'autres améliorations

Voici quelques autres améliorations notables ajoutées dans la version :

  • Alexander Soare et Francisco Massa ont développé un Utilitaire basé sur FX qui permet d'extraire des caractéristiques intermédiaires arbitraires des architectures modèles.
  • Nikita Shulga a ajouté le support de CUDA11.3 à TorchVision.
  • Zhongkai Zhu a corrigé le problèmes de dépendance de JPEG lib (ce problème a causé des maux de tête majeurs à beaucoup de nos utilisateurs).

En cours et à venir

Il y a beaucoup de nouvelles fonctionnalités passionnantes en cours de développement qui n'ont pas été incluses dans cette version. Voici quelques-uns:

  • Moto Hira, Parmeet Singh Bhatia et moi avons rédigé un RFC, qui propose un nouveau mécanisme pour Gestion des versions du modèle et pour gérer les métadonnées associées aux poids pré-entraînés. Cela nous permettra de prendre en charge plusieurs poids pré-entraînés pour chaque modèle et d'attacher des informations associées telles que des étiquettes, des transformations de prétraitement, etc. aux modèles.
  • Je travaille actuellement sur l'utilisation des primitives ajoutées par le "Piles comprises” afin d'améliorer la précision de nos modèles pré-entraînés. L'objectif est d'obtenir les meilleurs résultats pour les modèles pré-entraînés les plus populaires fournis par TorchVision.
  • Philip Meier et Francisco Massa travaillent sur un prototype passionnant pour le nouveau Ensemble de données ainsi que Transforme API.
  • Prabhat Roy travaille sur l'extension de PyTorch Core AveragedModel classe pour soutenir le moyenne des tampons en plus des paramètres. L'absence de cette fonctionnalité est généralement signalée comme un bogue et activer de nombreuses bibliothèques en aval et frameworks pour supprimer leurs implémentations EMA personnalisées.
  • Aditya Oké a écrit un utilitaire ce qui permet tracer les résultats des modèles Keypoint sur les images originales (la fonctionnalité n'a pas été publiée car nous avons été submergés et n'avons pas pu la revoir à temps 🙁 )
  • je construis un prototype de l'utilitaire FX qui vise à détecter les connexions résiduelles dans des architectures de modèle arbitraires et à modifier le réseau pour ajouter des blocs de régularisation (tels que StochasticDepth).

Enfin, il y a quelques nouvelles fonctionnalités dans notre backlog (PRs à venir) :

J'espère que vous avez trouvé le résumé ci-dessus intéressant. Toutes les idées sur la façon d'adapter le format de la série de blogs sont les bienvenues. Frappe-moi dessus LinkedIn or Twitter.

Horodatage:

Plus de Boîte de données